*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
.\!container {
    width: 100% !important;
}
.container {
    width: 100%;
}
@media (min-width: 640px) {
    .\!container {
        max-width: 640px !important;
    }
    .container {
        max-width: 640px;
    }
}
@media (min-width: 768px) {
    .\!container {
        max-width: 768px !important;
    }
    .container {
        max-width: 768px;
    }
}
@media (min-width: 1024px) {
    .\!container {
        max-width: 1024px !important;
    }
    .container {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {
    .\!container {
        max-width: 1280px !important;
    }
    .container {
        max-width: 1280px;
    }
}
@media (min-width: 1536px) {
    .\!container {
        max-width: 1536px !important;
    }
    .container {
        max-width: 1536px;
    }
}
.visible {
    visibility: visible;
}
.static {
    position: static;
}
.fixed {
    position: fixed;
}
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}
.sticky {
    position: sticky;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.mb-6 {
    margin-bottom: 1.5rem;
}
.ml-4 {
    margin-left: 1rem;
}
.mt-2 {
    margin-top: 0.5rem;
}
.mt-8 {
    margin-top: 2rem;
}
.block {
    display: block;
}
.inline-block {
    display: inline-block;
}
.inline {
    display: inline;
}
.flex {
    display: flex;
}
.inline-flex {
    display: inline-flex;
}
.table {
    display: table;
}
.\!grid {
    display: grid !important;
}
.grid {
    display: grid;
}
.hidden {
    display: none;
}
.h-3\.5 {
    height: 0.875rem;
}
.h-44 {
    height: 11rem;
}
.max-h-full {
    max-height: 100%;
}
.w-3\.5 {
    width: 0.875rem;
}
.w-full {
    width: 100%;
}
.min-w-0 {
    min-width: 0px;
}
.max-w-full {
    max-width: 100%;
}
.flex-1 {
    flex: 1 1 0%;
}
.flex-shrink {
    flex-shrink: 1;
}
.flex-shrink-0 {
    flex-shrink: 0;
}
.flex-grow {
    flex-grow: 1;
}
.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-pointer {
    cursor: pointer;
}
.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flex-col {
    flex-direction: column;
}
.items-start {
    align-items: flex-start;
}
.items-center {
    align-items: center;
}
.items-stretch {
    align-items: stretch;
}
.justify-center {
    justify-content: center;
}
.justify-between {
    justify-content: space-between;
}
.gap-1\.5 {
    gap: 0.375rem;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-3 {
    gap: 0.75rem;
}
.gap-4 {
    gap: 1rem;
}
.gap-6 {
    gap: 1.5rem;
}
.overflow-auto {
    overflow: auto;
}
.overflow-hidden {
    overflow: hidden;
}
.rounded {
    border-radius: 0.25rem;
}
.rounded-lg {
    border-radius: 0.5rem;
}
.rounded-md {
    border-radius: 0.375rem;
}
.rounded-xl {
    border-radius: 0.75rem;
}
.rounded-b-2xl {
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
}
.border {
    border-width: 1px;
}
.border-t {
    border-top-width: 1px;
}
.border-t-0 {
    border-top-width: 0px;
}
.border-gray-200 {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-red-200 {
    --tw-border-opacity: 1;
    border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.bg-gray-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-900 {
    --tw-bg-opacity: 1;
    background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-red-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.object-contain {
    -o-object-fit: contain;
       object-fit: contain;
}
.p-4 {
    padding: 1rem;
}
.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.pb-5 {
    padding-bottom: 1.25rem;
}
.pt-4 {
    padding-top: 1rem;
}
.pt-6 {
    padding-top: 1.5rem;
}
.text-right {
    text-align: right;
}
.font-sans {
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.font-bold {
    font-weight: 700;
}
.uppercase {
    text-transform: uppercase;
}
.capitalize {
    text-transform: capitalize;
}
.tracking-wide {
    letter-spacing: 0.025em;
}
.text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-red-800 {
    --tw-text-opacity: 1;
    color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline {
    text-decoration-line: underline;
}
.mix-blend-multiply {
    mix-blend-mode: multiply;
}
.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline {
    outline-style: solid;
}
.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.duration-300 {
    transition-duration: 300ms;
}
.duration-500 {
    transition-duration: 500ms;
}
.ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* Use theme font by default, but ensure basic sans fallback */
.ap24-finder-app {
    font-family: inherit;
}

.ap24-finder-app input,
.ap24-finder-app select,
.ap24-finder-app button,
.ap24-finder-app span,
.ap24-finder-app div {
    font-family: inherit;
}

/* Fix for Dashicons not showing */
.ap24-finder-app .dashicons {
    font-family: "dashicons" !important;
}
.hover\:bg-gray-800:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}
@media (min-width: 640px) {
    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:flex-row {
        flex-direction: row;
    }
    .sm\:gap-5 {
        gap: 1.25rem;
    }
}
@media (min-width: 1024px) {
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (min-width: 1280px) {
    .xl\:w-5\/12 {
        width: 41.666667%;
    }
    .xl\:w-7\/12 {
        width: 58.333333%;
    }
    .xl\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .xl\:flex-row {
        flex-direction: row;
    }
    .xl\:border-l {
        border-left-width: 1px;
    }
    .xl\:border-t-0 {
        border-top-width: 0px;
    }
    .xl\:pl-8 {
        padding-left: 2rem;
    }
    .xl\:pt-0 {
        padding-top: 0px;
    }
}
/**
 * Theme Overrides CSS
 * All ap24-* class rules for vehicle finder widget styling
 * 
 * These classes use CSS variables injected by PHP into :root
 * - --ap24-primary
 * - --ap24-primary-hover
 * - --ap24-primary-light
 * - --ap24-primary-rgb
 */

/* ============================================
   GARAGE HEADER - Protected from color inheritance
   ============================================ */
.ap24-garage-header {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%) !important;
    border-color: #bae6fd !important;
}

.ap24-garage-header * {
    background-image: none !important;
}

/* ============================================
   TABS - Active and hover states
   ============================================ */
.ap24-tab-active {
    background: linear-gradient(135deg, var(--ap24-primary, #2563eb) 0%, var(--ap24-primary-hover, #1d4ed8) 100%) !important;
    color: white !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(var(--ap24-primary-rgb, 37, 99, 235), 0.3) !important;
}

.ap24-tab-active .dashicons,
.ap24-tab-active span {
    color: white !important;
}

.ap24-tab:hover {
    background: linear-gradient(135deg, var(--ap24-primary, #2563eb) 0%, var(--ap24-primary-hover, #1d4ed8) 100%) !important;
    color: white !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(var(--ap24-primary-rgb, 37, 99, 235), 0.3) !important;
}

.ap24-tab:hover .dashicons {
    color: white !important;
}

/* Base Inactive State - Ghost Style (Orange Text/Border) */
.ap24-tab {
    background: white !important;
    color: var(--ap24-primary, #2563eb) !important;
    border: 1px solid var(--ap24-primary, #2563eb) !important;
    box-shadow: none !important;
}

.ap24-tab .dashicons,
.ap24-tab span {
    color: var(--ap24-primary, #2563eb) !important;
}

/* Force White Text on Hover */
.ap24-tab:hover span,
.ap24-tab:hover .dashicons {
    color: white !important;
}

/* ============================================
   NUMBER BADGES - Circular step indicators
   ============================================ */
.ap24-number-badge {
    background-color: var(--ap24-primary, #2563eb) !important;
    color: white !important;
}

/* ============================================
   SEARCH BUTTONS - Primary action buttons
   ============================================ */
.ap24-search-button,
.ap24-finder-widget button[style*='2563eb']:not(.bg-gray-900):not(.bg-gray-800),
.ap24-sidebar-finder button[style*='2563eb']:not(.bg-gray-900):not(.bg-gray-800) {
    background: linear-gradient(135deg, var(--ap24-primary, #2563eb) 0%, var(--ap24-primary-hover, #1d4ed8) 100%) !important;
    box-shadow: 0 4px 12px rgba(var(--ap24-primary-rgb, 37, 99, 235), 0.3) !important;
}

/* ============================================
   RESET BUTTON - Keep dark gray styling
   ============================================ */
.ap24-finder-widget button.bg-gray-900,
.ap24-finder-widget button.bg-gray-800,
.ap24-sidebar-finder button.bg-gray-900,
.ap24-sidebar-finder button.bg-gray-800 {
    background: #111827 !important;
    background-image: none !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

/* ============================================
   DETAILS BUTTON - Product card action
   ============================================ */
.ap24-details-btn {
    background-color: var(--ap24-primary, #2563eb) !important;
    color: white !important;
}

/* ============================================
   RESULTS TITLE - "Ergebnisse für:" heading
   ============================================ */
.ap24-results-title {
    color: var(--ap24-primary, #2563eb) !important;
}

/* ============================================
   INPUTS - Protect from gradient backgrounds
   ============================================ */
.ap24-finder-widget input,
.ap24-finder-widget select,
.ap24-sidebar-finder input,
.ap24-sidebar-finder select {
    background-image: none !important;
    background-color: white !important;
}

.ap24-finder-widget input:focus,
.ap24-finder-widget select:focus,
.ap24-sidebar-finder input:focus,
.ap24-sidebar-finder select:focus {
    background-color: white !important;
    border-color: var(--ap24-primary, #2563eb) !important;
    box-shadow: 0 0 0 3px rgba(var(--ap24-primary-rgb, 37, 99, 235), 0.1) !important;
}

/* ============================================
   LABELS - Floating input labels
   ============================================ */
.ap24-sidebar-finder label,
.ap24-finder-widget label {
    background: transparent !important;
    background-image: none !important;
}

.ap24-sidebar-finder label[style*='2563eb'],
.ap24-finder-widget label[style*='2563eb'] {
    color: var(--ap24-primary, #2563eb) !important;
}

/* ============================================
   ACCORDION HEADERS - Sidebar only
   ============================================ */
.ap24-sidebar-finder>div>div>button[style*='linear-gradient'] {
    background: linear-gradient(135deg, var(--ap24-primary, #2563eb) 0%, var(--ap24-primary-hover, #1d4ed8) 100%) !important;
}

/* ============================================
   DROPDOWN MENUS - Z-index for proper stacking
   ============================================ */
.ap24-sidebar-finder [style*='position: absolute'][style*='background'],
.ap24-finder-widget [style*='position: absolute'][style*='background'] {
    z-index: 9999 !important;
}

/* ============================================
   LOADING SPINNERS
   ============================================ */
.ap24-sidebar-finder .loading-spinner,
.ap24-finder-widget .loading-spinner,
.ap24-sidebar-finder [class*='spinner'],
.ap24-finder-widget [class*='spinner'] {
    border-top-color: var(--ap24-primary, #2563eb) !important;
}

/* ============================================
   TEXT LINKS
   ============================================ */
.ap24-sidebar-finder a[style*='2563eb'],
.ap24-finder-widget a[style*='2563eb'] {
    color: var(--ap24-primary, #2563eb) !important;
}

/* ============================================
   SVG ICONS - Inherit color from parent
   ============================================ */
.ap24-sidebar-finder button svg,
.ap24-finder-widget button svg {
    color: inherit !important;
}
