/* =============================================================================
   AUTO HRDLA – Main Stylesheet
   Premium automotive dealership theme
   Color palette: Dark/White/Graphite + Orange accent from logo
   ============================================================================= */

/* =============================================================================
   0. CSS Custom Properties (Design Tokens)
   ============================================================================= */
:root {
    /* Colors */
    --aa-orange: #E8611A;
    --aa-orange-hover: #D45510;
    --aa-orange-light: #FFF0E8;
    --aa-black: #0A0A0A;
    --aa-charcoal: #1A1A1A;
    --aa-graphite: #2D2D2D;
    --aa-dark-gray: #3A3A3A;
    --aa-gray: #6B6B6B;
    --aa-gray-light: #999999;
    --aa-gray-border: #E0E0E0;
    --aa-light: #F5F5F5;
    --aa-lighter: #FAFAFA;
    --aa-white: #FFFFFF;

    /* Status colors */
    --aa-green: #22C55E;
    --aa-red: #EF4444;
    --aa-yellow: #F59E0B;
    --aa-blue: #3B82F6;

    /* Typography */
    --aa-font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --aa-font-heading: 'Archivo', 'Inter', sans-serif;

    /* Spacing */
    --aa-gap: 1.5rem;
    --aa-section-gap: 6rem;
    --aa-container: 1320px;
    --aa-container-narrow: 960px;

    /* Radius */
    --aa-radius-sm: 6px;
    --aa-radius: 10px;
    --aa-radius-lg: 16px;
    --aa-radius-xl: 20px;

    /* Shadows */
    --aa-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
    --aa-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    --aa-shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.12);
    --aa-shadow-card: 0 2px 12px rgba(0, 0, 0, 0.06);

    /* Transitions */
    --aa-trans: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --aa-trans-fast: 0.15s ease;

    /* Header */
    --aa-header-h: 80px;
}

/* =============================================================================
   1. Reset & Base
   ============================================================================= */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--aa-font-primary);
    font-weight: 400;
    line-height: 1.6;
    color: var(--aa-charcoal);
    background: var(--aa-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--aa-trans-fast);
}

button {
    cursor: pointer;
    border: none;
    background: none;
    font-family: inherit;
}

ul,
ol {
    list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--aa-font-heading);
    font-weight: 700;
    line-height: 1.2;
    color: var(--aa-black);
}

h1 {
    font-size: clamp(2rem, 4vw, 3.25rem);
}

h2 {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
}

h3 {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
}

h4 {
    font-size: 1.125rem;
}

p {
    margin-bottom: 1rem;
}

p:last-child {
    margin-bottom: 0;
}

::selection {
    background: var(--aa-orange);
    color: var(--aa-white);
}

/* =============================================================================
   2. Layout
   ============================================================================= */
.aa-container {
    width: 100%;
    max-width: var(--aa-container);
    margin: 0 auto;
    padding: 0 1.5rem;
}

.aa-container--narrow {
    max-width: var(--aa-container-narrow);
}

.aa-section {
    padding: var(--aa-section-gap) 0;
}

.aa-section--dark {
    background: var(--aa-charcoal);
    color: var(--aa-white);
}

.aa-section--dark h2,
.aa-section--dark h3,
.aa-section--dark h4 {
    color: var(--aa-white);
}

.aa-section--light {
    background: var(--aa-light);
}

.aa-section__header {
    text-align: center;
    margin-bottom: 3.5rem;
}

.aa-section__header p {
    color: var(--aa-gray);
    font-size: 1.0625rem;
    max-width: 640px;
    margin: 0.75rem auto 0;
}

.aa-section__label {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--aa-orange);
    margin-bottom: 0.75rem;
}

/* =============================================================================
   3. Buttons
   ============================================================================= */
.aa-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 2rem;
    font-family: var(--aa-font-primary);
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1;
    border-radius: var(--aa-radius);
    transition: all var(--aa-trans);
    border: 2px solid transparent;
    white-space: nowrap;
}

.aa-btn svg {
    width: 18px;
    height: 18px;
}

.aa-btn--primary {
    background: var(--aa-orange);
    color: var(--aa-white);
}

.aa-btn--primary:hover {
    background: var(--aa-orange-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(232, 97, 26, 0.35);
}

.aa-btn--secondary {
    background: transparent;
    color: var(--aa-white);
    border-color: rgba(255, 255, 255, 0.3);
}

.aa-btn--secondary:hover {
    border-color: var(--aa-white);
    background: rgba(255, 255, 255, 0.1);
}

.aa-btn--outline {
    background: transparent;
    color: var(--aa-charcoal);
    border-color: var(--aa-gray-border);
}

.aa-btn--outline:hover {
    border-color: var(--aa-orange);
    color: var(--aa-orange);
}

.aa-btn--dark {
    background: var(--aa-charcoal);
    color: var(--aa-white);
}

.aa-btn--dark:hover {
    background: var(--aa-black);
}

.aa-btn--sm {
    padding: 0.625rem 1.25rem;
    font-size: 0.8125rem;
}

.aa-btn--lg {
    padding: 1rem 2.5rem;
    font-size: 1rem;
}

.aa-btn--full {
    width: 100%;
    justify-content: center;
}

/* =============================================================================
   4. Header
   ============================================================================= */
.aa-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    height: var(--aa-header-h);
    transition: all var(--aa-trans);
}

.aa-header--transparent {
    background: transparent;
}

.aa-header--scrolled {
    background: rgba(10, 10, 10, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.2);
}

.aa-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    max-width: var(--aa-container);
    margin: 0 auto;
    padding: 0 1.5rem;
}

.aa-header__logo {
    flex-shrink: 0;
}

.aa-header__logo img {
    height: 48px;
    width: auto;
}

.aa-header__nav {
    display: flex;
    align-items: center;
    gap: 0;
}

.aa-header__nav li {
    list-style: none !important;
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

.aa-header__nav li::before,
.aa-header__nav li::marker {
    content: none !important;
    display: none !important;
}

.aa-header__nav a {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    font-size: 0.91rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    transition: color var(--aa-trans-fast);
    position: relative;
}

.aa-header__nav a:hover,
.aa-header__nav a.active {
    color: var(--aa-white);
}

.aa-header__nav a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 1rem;
    right: 1rem;
    height: 2px;
    background: var(--aa-orange);
    transform: scaleX(0);
    transition: transform var(--aa-trans);
}

.aa-header__nav a:hover::after,
.aa-header__nav a.active::after {
    transform: scaleX(1);
}

.aa-header__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.aa-header__phone {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--aa-white);
    font-weight: 600;
    font-size: 0.9375rem;
}

.aa-header__phone svg {
    width: 18px;
    height: 18px;
    color: var(--aa-orange);
}

/* Mobile menu toggle */
.aa-header__toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 32px;
    height: 32px;
    cursor: pointer;
    z-index: 1001;
}

.aa-header__toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--aa-white);
    transition: all var(--aa-trans);
    border-radius: 1px;
}

.aa-header__toggle.active span:nth-child(1) {
    transform: rotate(45deg) translateY(5px);
}

.aa-header__toggle.active span:nth-child(2) {
    opacity: 0;
}

.aa-header__toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translateY(-5px);
}

/* Mobile nav overlay */
.aa-mobile-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--aa-black);
    z-index: 999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all var(--aa-trans);
}

.aa-mobile-nav.active {
    opacity: 1;
    visibility: visible;
}

.aa-mobile-nav li {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

.aa-mobile-nav li::before,
.aa-mobile-nav li::marker {
    content: none !important;
    display: none !important;
}

.aa-mobile-nav a {
    display: block;
    padding: 1rem 2rem;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--aa-white);
    text-align: center;
    font-family: var(--aa-font-heading);
}

.aa-mobile-nav a:hover {
    color: var(--aa-orange);
}

.aa-mobile-nav__contact {
    margin-top: 2rem;
    text-align: center;
}

.aa-mobile-nav__contact a {
    font-size: 1.125rem;
    color: var(--aa-orange);
}

/* =============================================================================
   5. Hero Section
   ============================================================================= */
.aa-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--aa-black);
}

.aa-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.aa-hero__bg img,
.aa-hero__bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
}

/* Darken the left (behind the text) and let the car show on the right,
   with a soft orange glow in the bottom-left corner. */
.aa-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(130% 100% at 8% 120%, rgba(232, 97, 26, 0.20) 0%, rgba(232, 97, 26, 0) 42%),
        linear-gradient(102deg,
            rgba(8, 8, 9, 0.97) 0%,
            rgba(8, 8, 9, 0.82) 52%,
            rgba(8, 8, 9, 0.40) 100%);
}

.aa-hero__content {
    position: relative;
    z-index: 2;
    max-width: 720px;
    padding: calc(var(--aa-header-h) + 4rem) 0 4rem;
}

.aa-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(232, 97, 26, 0.10);
    border: 1px solid rgba(232, 97, 26, 0.5);
    border-radius: 100px;
    color: #F0894D;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 1.5rem;
}

.aa-hero__title {
    font-size: clamp(2.5rem, 5vw, 4.4rem);
    font-weight: 800;
    color: var(--aa-white);
    line-height: 1.02;
    letter-spacing: -0.02em;
    max-width: 15ch;
    margin-bottom: 1.5rem;
}

.aa-hero__title span {
    color: var(--aa-orange);
}

.aa-hero__subtitle {
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    color: #BDBDB7;
    line-height: 1.6;
    margin-bottom: 2.5rem;
    max-width: 46ch;
}

.aa-hero__buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

/* Inline stats row with dividers, sitting under the buttons */
.aa-hero__stats {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.875rem;
    margin-top: 2.875rem;
}

.aa-hero__stat {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.aa-hero__stat-value {
    font-family: var(--aa-font-heading);
    font-size: 1.875rem;
    font-weight: 800;
    color: var(--aa-orange);
    line-height: 1;
    letter-spacing: -0.01em;
}

.aa-hero__stat-label {
    font-size: 0.84rem;
    color: #94948C;
}

.aa-hero__divider {
    width: 1px;
    height: 34px;
    background: rgba(255, 255, 255, 0.16);
}

/* =============================================================================
   6. Trust Ticker
   ============================================================================= */
.aa-ticker {
    position: relative;
    overflow: hidden;
    background: #0E0F11;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

/* Soft fade on both edges */
.aa-ticker::before,
.aa-ticker::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 110px;
    z-index: 2;
    pointer-events: none;
}

.aa-ticker::before {
    left: 0;
    background: linear-gradient(90deg, #0E0F11, transparent);
}

.aa-ticker::after {
    right: 0;
    background: linear-gradient(270deg, #0E0F11, transparent);
}

.aa-ticker__track {
    display: flex;
    width: max-content;
    animation: aa-ticker-scroll 34s linear infinite;
}

.aa-ticker:hover .aa-ticker__track {
    animation-play-state: paused;
}

.aa-ticker__group {
    display: flex;
}

.aa-ticker__item {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 30px 40px;
    white-space: nowrap;
    font-family: var(--aa-font-heading);
    font-weight: 600;
    font-size: 1.03rem;
    color: #E7E6E1;
    border-right: 1px solid rgba(255, 255, 255, 0.07);
}

.aa-ticker__item svg {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    color: var(--aa-orange);
}

@keyframes aa-ticker-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .aa-ticker__track {
        animation: none;
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
    }

    .aa-ticker__group[aria-hidden="true"] {
        display: none;
    }
}

@media (max-width: 560px) {
    .aa-ticker__item {
        padding: 24px 26px;
        font-size: 0.94rem;
        gap: 11px;
    }
}

/* =============================================================================
   7. Vehicle Cards
   ============================================================================= */
.aa-vehicles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
}

.aa-card {
    background: var(--aa-white);
    border-radius: var(--aa-radius-lg);
    overflow: hidden;
    transition: all var(--aa-trans);
    box-shadow: var(--aa-shadow-card);
    display: flex;
    flex-direction: column;
}

.aa-card:hover {
    box-shadow: var(--aa-shadow-lg);
    transform: translateY(-4px);
}

.aa-card__image {
    position: relative;
    aspect-ratio: 16 / 10.5;
    overflow: hidden;
    background: var(--aa-light);
}

.aa-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.aa-card:hover .aa-card__image img {
    transform: scale(1.05);
}

.aa-card__badges {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    z-index: 2;
}

.aa-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.625rem;
    font-size: 0.6875rem;
    font-weight: 700;
    border-radius: var(--aa-radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.aa-badge--new {
    background: var(--aa-orange);
    color: var(--aa-white);
}

.aa-badge--sold {
    background: var(--aa-red);
    color: var(--aa-white);
}

.aa-badge--reserved {
    background: var(--aa-yellow);
    color: var(--aa-black);
}

.aa-badge--incoming {
    background: var(--aa-blue);
    color: var(--aa-white);
}

.aa-badge--vat {
    background: var(--aa-green);
    color: var(--aa-white);
}

.aa-badge--damaged {
    background: var(--aa-dark-gray);
    color: var(--aa-white);
}

.aa-card__body {
    padding: 1.25rem 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.aa-card__title {
    font-size: 1.0625rem;
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.3;
}

.aa-card__title strong {
    font-weight: 800;
}

.aa-card__specs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem 0.75rem;
    margin-bottom: 1.25rem;
    flex: 1;
}

.aa-card__spec {
    display: flex;
    flex-direction: column;
}

.aa-card__spec-label {
    font-size: 0.6875rem;
    color: var(--aa-gray-light);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.aa-card__spec-value {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--aa-charcoal);
}

.aa-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1rem;
    border-top: 1px solid var(--aa-gray-border);
}

.aa-card__price {
    font-family: var(--aa-font-heading);
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--aa-black);
}

.aa-card__price-note {
    font-size: 0.6875rem;
    color: var(--aa-gray-light);
    font-weight: 400;
    font-family: var(--aa-font-primary);
}

.aa-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--aa-orange);
    transition: gap var(--aa-trans);
}

.aa-card:hover .aa-card__cta {
    gap: 0.625rem;
}

.aa-card__cta svg {
    width: 16px;
    height: 16px;
}

/* Sold overlay */
.aa-card--sold {
    opacity: 0.7;
}

.aa-card--sold .aa-card__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

/* =============================================================================
   8. Categories Section
   ============================================================================= */
.aa-cats {
    background: var(--aa-white);
    padding: 4rem 0 4.5rem;
}

.aa-cats__head {
    text-align: center;
    max-width: 600px;
    margin: 0 auto 2.5rem;
}

.aa-cats__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--aa-font-heading);
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 0.17em;
    text-transform: uppercase;
    color: var(--aa-orange);
}

.aa-cats__bar {
    width: 22px;
    height: 2px;
    background: var(--aa-orange);
}

.aa-cats__head h2 {
    font-family: var(--aa-font-heading);
    font-weight: 800;
    font-size: clamp(1.625rem, 3.4vw, 2.25rem);
    line-height: 1.06;
    letter-spacing: -0.02em;
    margin: 0.875rem 0 0;
    color: var(--aa-black);
}

.aa-cats__head p {
    font-size: 0.97rem;
    line-height: 1.6;
    color: var(--aa-gray);
    margin-top: 0.75rem;
}

.aa-cats__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.aa-cat {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #F5F4F1;
    border: 1px solid transparent;
    border-radius: 20px;
    padding: 26px 24px 30px;
    transition: background 0.2s, box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.aa-cat:hover {
    background: var(--aa-white);
    border-color: #E6E6E4;
    box-shadow: 0 16px 36px rgba(20, 20, 20, 0.09);
    transform: translateY(-3px);
}

/* Cut-out car image (transparent). SVG silhouette by default; drop in a
   background-removed PNG via <img> and it scales the same on hover. */
.aa-cat__photo {
    height: 158px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.aa-cat__photo svg {
    width: 200px;
    height: 120px;
    color: #C6C5C0;
    transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.aa-cat__photo svg path,
.aa-cat__photo svg circle {
    fill: currentColor;
}

.aa-cat__photo img {
    max-height: 100%;
    max-width: 88%;
    object-fit: contain;
    transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.aa-cat:hover .aa-cat__photo svg,
.aa-cat:hover .aa-cat__photo img {
    transform: scale(1.05);
}

.aa-cat__title {
    font-family: var(--aa-font-heading);
    font-weight: 800;
    font-size: 1.4375rem;
    line-height: 1.15;
    color: var(--aa-black);
    margin-top: 6px;
}

.aa-cat__shop {
    margin-top: 14px;
    font-family: var(--aa-font-heading);
    font-weight: 600;
    font-size: 1rem;
    color: var(--aa-orange);
    border-bottom: 2px solid rgba(232, 97, 26, 0.35);
    padding-bottom: 2px;
    transition: color 0.2s, border-color 0.2s;
}

.aa-cat:hover .aa-cat__shop {
    color: #C24E12;
    border-color: var(--aa-orange);
}

.aa-cats__foot {
    text-align: center;
    margin-top: 2.5rem;
}

.aa-cats__foot a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-family: var(--aa-font-heading);
    font-weight: 600;
    font-size: 0.94rem;
    color: var(--aa-black);
    border: 1px solid #E6E6E4;
    background: var(--aa-white);
    padding: 13px 26px;
    border-radius: 11px;
    transition: border-color 0.2s, color 0.2s;
}

.aa-cats__foot a svg {
    width: 16px;
    height: 16px;
}

.aa-cats__foot a:hover {
    border-color: var(--aa-orange);
    color: var(--aa-orange);
}

@media (max-width: 900px) {
    .aa-cats__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .aa-cats__grid {
        grid-template-columns: 1fr;
    }

    .aa-cats {
        padding: 3.375rem 0 3.875rem;
    }
}

/* =============================================================================
   9. Custom Import Section
   ============================================================================= */
.aa-import {
    position: relative;
    overflow: hidden;
}

.aa-import__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.aa-import__steps {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    counter-reset: step;
}

.aa-import__step {
    display: flex;
    gap: 1.5rem;
    counter-increment: step;
}

.aa-import__step-num {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--aa-orange);
    color: var(--aa-white);
    font-family: var(--aa-font-heading);
    font-size: 1.125rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aa-import__step h4 {
    margin-bottom: 0.375rem;
}

.aa-import__step p {
    color: var(--aa-gray);
    font-size: 0.9375rem;
}

/* =============================================================================
   10. Services Grid
   ============================================================================= */
.aa-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
}

.aa-service-card {
    background: var(--aa-white);
    border-radius: var(--aa-radius-lg);
    padding: 2rem;
    transition: all var(--aa-trans);
    border: 1px solid var(--aa-gray-border);
    text-align: center;
}

.aa-service-card:hover {
    border-color: var(--aa-orange);
    box-shadow: var(--aa-shadow-lg);
    transform: translateY(-4px);
}

.aa-service-card__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--aa-orange-light);
    border-radius: var(--aa-radius-lg);
    color: var(--aa-orange);
}

.aa-service-card__icon svg {
    width: 32px;
    height: 32px;
}

.aa-service-card h3 {
    margin-bottom: 0.75rem;
    font-size: 1.125rem;
}

.aa-service-card p {
    color: var(--aa-gray);
    font-size: 0.9375rem;
}

.aa-service-card__price {
    font-weight: 700;
    color: var(--aa-orange);
    margin-top: 1rem;
    font-size: 0.9375rem;
}

.aa-service-card__link {
    display: inline-block;
    margin-top: 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--aa-orange);
}

/* -----------------------------------------------------------------------------
   Homepage "Naše služby" section (mockup: bordered numbered cards, hover bar)
   Scoped .aa-srv* classes so the shared .aa-service-card (used on other pages)
   stays untouched.
   -------------------------------------------------------------------------- */
.aa-srv {
    background: var(--aa-white);
    padding: 6rem 0 6.5rem;
    border-top: 1px solid #EAE8E0;
}

.aa-srv__head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 3.25rem;
}

.aa-srv__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    font-family: var(--aa-font-heading);
    font-weight: 600;
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--aa-orange);
}

.aa-srv__bar {
    width: 26px;
    height: 2px;
    background: var(--aa-orange);
    display: inline-block;
}

.aa-srv__head h2 {
    font-family: var(--aa-font-heading);
    font-weight: 800;
    font-size: clamp(1.875rem, 4vw, 2.875rem);
    line-height: 1.04;
    letter-spacing: -0.02em;
    margin: 0.875rem auto 0;
    color: var(--aa-black);
}

.aa-srv__lead {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--aa-gray);
    max-width: 46ch;
    margin: 1.125rem auto 0;
}

.aa-srv__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.aa-srv-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #121316;
    border: 1px solid transparent;
    border-radius: 16px;
    padding: 30px 28px 26px;
    overflow: hidden;
    box-shadow: 0 6px 22px rgba(17, 18, 20, 0.10);
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}

.aa-srv-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 3px;
    width: 0;
    background: var(--aa-orange);
    transition: width 0.3s ease;
}

.aa-srv-card:hover {
    border-color: rgba(232, 97, 26, 0.55);
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(17, 18, 20, 0.20);
}

.aa-srv-card:hover::before {
    width: 100%;
}

.aa-srv-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 22px;
}

.aa-srv-card__badge {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 13px;
    background: rgba(232, 97, 26, 0.14);
    border: 1px solid rgba(232, 97, 26, 0.30);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--aa-orange);
}

.aa-srv-card__badge svg {
    width: 24px;
    height: 24px;
}

.aa-srv-card__num {
    font-family: var(--aa-font-heading);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 1px;
    color: #59595A;
    transition: color 0.2s;
}

.aa-srv-card:hover .aa-srv-card__num {
    color: var(--aa-orange);
}

.aa-srv-card h3 {
    font-family: var(--aa-font-heading);
    font-weight: 700;
    font-size: 1.1875rem;
    line-height: 1.2;
    color: #F1F0EB;
    margin: 0;
}

.aa-srv-card p {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #98988F;
    margin-top: 11px;
}

.aa-srv-card__go {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--aa-font-heading);
    font-weight: 600;
    font-size: 0.84rem;
    color: #7E7E78;
    margin-top: 22px;
    transition: color 0.2s;
}

.aa-srv-card__go svg {
    width: 15px;
    height: 15px;
    transition: transform 0.2s;
}

.aa-srv-card:hover .aa-srv-card__go {
    color: var(--aa-orange);
}

.aa-srv-card:hover .aa-srv-card__go svg {
    transform: translateX(4px);
}

.aa-srv__foot {
    margin-top: 44px;
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    color: var(--aa-gray);
    font-size: 0.9rem;
}

.aa-srv__foot a {
    color: var(--aa-black);
    font-family: var(--aa-font-heading);
    font-weight: 600;
    border-bottom: 2px solid var(--aa-orange);
    padding-bottom: 2px;
}

.aa-srv__foot a:hover {
    color: var(--aa-orange);
}

@media (max-width: 960px) {
    .aa-srv__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .aa-srv {
        padding: 4.5rem 0 5rem;
    }

    .aa-srv__grid {
        grid-template-columns: 1fr;
    }
}

/* Service content */
.aa-service-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 0.9375rem;
    border-radius: var(--aa-radius);
    overflow: hidden;
    border: 1px solid var(--aa-gray-border);
}

.aa-service-content table thead th {
    background: var(--aa-charcoal);
    color: var(--aa-white);
    font-weight: 600;
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.aa-service-content table tbody td {
    padding: 0.625rem 1rem;
    border-bottom: 1px solid var(--aa-gray-border);
    white-space: nowrap;
}

.aa-service-content table tbody tr:last-child td {
    border-bottom: none;
}

.aa-service-content table tbody tr:nth-child(even) {
    background: var(--aa-light);
}

.aa-service-content h3 {
    margin-top: 2.5rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--aa-orange);
    display: inline-block;
}

.aa-service-content h4 {
    color: var(--aa-orange);
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.aa-service-content .aa-note {
    font-size: 0.8125rem;
    color: var(--aa-gray);
    font-style: italic;
}

/* Responsive table wrapper */
.aa-service-content .aa-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1.5rem 0;
}

.aa-service-content .aa-table-wrap table {
    margin: 0;
}

/* Service detail 50:50 grid */
.aa-service-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.aa-service-features {
    list-style: none;
    padding: 0;
    margin: 1rem 0 1.5rem;
}

.aa-service-features li {
    padding: 0.5rem 0 0.5rem 1.75rem;
    position: relative;
    color: var(--aa-gray);
}

.aa-service-features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--aa-orange);
    font-weight: 700;
}

.aa-service-price {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--aa-orange);
    margin-top: 1rem;
}

.aa-service-image {
    border-radius: var(--aa-radius-xl);
    overflow: hidden;
}

.aa-service-image img {
    width: 100%;
    height: auto;
    display: block;
}

.aa-service-icon-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--aa-white);
    border-radius: var(--aa-radius-xl);
    aspect-ratio: 4/3;
}

.aa-service-icon-large {
    width: 120px;
    height: 120px;
    color: var(--aa-orange);
}

.aa-service-icon-large svg {
    width: 100%;
    height: 100%;
}

/* =============================================================================
   11. About / Story Section
   ============================================================================= */
.aa-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.aa-about__image {
    border-radius: var(--aa-radius-xl);
    overflow: hidden;
    aspect-ratio: 4/3;
}

.aa-about__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aa-about__counters {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 2rem;
}

.aa-counter {
    text-align: center;
    padding: 1.25rem;
    background: var(--aa-light);
    border-radius: var(--aa-radius);
}

.aa-counter__value {
    font-family: var(--aa-font-heading);
    font-size: 2rem;
    font-weight: 800;
    color: var(--aa-orange);
}

.aa-counter__label {
    font-size: 0.8125rem;
    color: var(--aa-gray);
    margin-top: 0.25rem;
}

/* =============================================================================
   12. Partner Strip
   ============================================================================= */
.aa-partners {
    padding: 3rem 0;
    border-top: 1px solid var(--aa-gray-border);
    border-bottom: 1px solid var(--aa-gray-border);
}

.aa-partners__grid {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.aa-partners__item {
    opacity: 0.4;
    transition: opacity var(--aa-trans);
    flex-shrink: 0;
}

.aa-partners__item:hover {
    opacity: 1;
}

.aa-partners__item img {
    height: 40px;
    width: auto;
    filter: grayscale(100%);
    transition: filter var(--aa-trans);
}

.aa-partners__item:hover img {
    filter: grayscale(0%);
}

/* =============================================================================
   12b. Parts / Brand logos
   ============================================================================= */
.aa-parts__lead {
    max-width: 760px;
    margin: 1rem auto 2.5rem;
    text-align: center;
    color: var(--aa-gray);
    line-height: 1.7;
}

.aa-parts__brands {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.75rem 2.5rem;
    padding: 2.5rem 1.5rem;
    background: var(--aa-light);
    border-radius: var(--aa-radius-xl);
}

.aa-parts__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 52px;
    flex-shrink: 0;
}

.aa-parts__brand img {
    max-width: 110px;
    max-height: 48px;
    width: auto;
    height: auto;
    filter: grayscale(100%);
    opacity: 0.55;
    transition: filter var(--aa-trans), opacity var(--aa-trans);
}

.aa-parts__brand:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

@media (max-width: 640px) {
    .aa-parts__brands { gap: 1.25rem 1.5rem; padding: 1.75rem 1rem; }
    .aa-parts__brand { width: 92px; height: 44px; }
    .aa-parts__brand img { max-width: 86px; max-height: 40px; }
}

/* =============================================================================
   13. CTA / Contact Section
   ============================================================================= */
.aa-cta-section {
    background: var(--aa-charcoal);
    color: var(--aa-white);
    padding: 5rem 0;
}

.aa-cta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
}

.aa-contact-info__item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.aa-contact-info__icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(232, 97, 26, 0.15);
    border-radius: var(--aa-radius);
    color: var(--aa-orange);
}

.aa-contact-info__icon svg {
    width: 20px;
    height: 20px;
}

.aa-contact-info__text h4 {
    color: var(--aa-white);
    font-size: 0.9375rem;
    margin-bottom: 0.25rem;
}

.aa-contact-info__text p,
.aa-contact-info__text a {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9375rem;
}

.aa-contact-info__text a:hover {
    color: var(--aa-orange);
}

/* Contact Form */
.aa-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.aa-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.aa-form__field {
    position: relative;
}

.aa-form__field input,
.aa-form__field textarea,
.aa-form__field select {
    width: 100%;
    padding: 0.875rem 1.25rem;
    font-family: var(--aa-font-primary);
    font-size: 0.9375rem;
    color: var(--aa-charcoal);
    background: var(--aa-white);
    border: 2px solid var(--aa-gray-border);
    border-radius: var(--aa-radius);
    transition: border-color var(--aa-trans-fast);
    outline: none;
}

.aa-form__field input:focus,
.aa-form__field textarea:focus,
.aa-form__field select:focus {
    border-color: var(--aa-orange);
}

.aa-form__field textarea {
    min-height: 120px;
    resize: vertical;
}

.aa-form__field label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--aa-gray);
    margin-bottom: 0.375rem;
}

/* Dark form variant */
.aa-section--dark .aa-form__field input,
.aa-section--dark .aa-form__field textarea {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--aa-white);
}

.aa-section--dark .aa-form__field input:focus,
.aa-section--dark .aa-form__field textarea:focus {
    border-color: var(--aa-orange);
}

.aa-section--dark .aa-form__field input::placeholder,
.aa-section--dark .aa-form__field textarea::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.aa-section--dark .aa-form__field label {
    color: rgba(255, 255, 255, 0.6);
}

/* Form messages */
.aa-form__message {
    padding: 1rem;
    border-radius: var(--aa-radius);
    font-size: 0.9375rem;
    display: none;
}

.aa-form__message--success {
    display: block;
    background: rgba(34, 197, 94, 0.1);
    color: var(--aa-green);
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.aa-form__message--error {
    display: block;
    background: rgba(239, 68, 68, 0.1);
    color: var(--aa-red);
    border: 1px solid rgba(239, 68, 68, 0.2);
}

/* =============================================================================
   14. Footer
   ============================================================================= */
.aa-footer {
    background: var(--aa-black);
    color: rgba(255, 255, 255, 0.7);
    padding: 4rem 0 0;
}

.aa-footer__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.aa-footer__brand p {
    font-size: 0.9375rem;
    line-height: 1.7;
    max-width: 300px;
    margin-top: 1.25rem;
}

.aa-footer__logo {
    height: 44px;
    width: auto;
}

.aa-footer__title {
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--aa-white);
    margin-bottom: 1.25rem;
}

.aa-footer__links li {
    margin-bottom: 0.625rem;
}

.aa-footer__links a {
    font-size: 0.9375rem;
    transition: color var(--aa-trans-fast);
}

.aa-footer__links a:hover {
    color: var(--aa-orange);
}

.aa-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
    font-size: 0.9375rem;
}

.aa-footer__contact-item svg {
    width: 18px;
    height: 18px;
    color: var(--aa-orange);
    flex-shrink: 0;
    margin-top: 2px;
}

.aa-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 0;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.4);
}

.aa-social {
    display: flex;
    gap: 1rem;
}

.aa-social__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.6);
    transition: all var(--aa-trans);
}

.aa-social__link:hover {
    background: var(--aa-orange);
    color: var(--aa-white);
}

.aa-social__link svg {
    width: 18px;
    height: 18px;
}

/* =============================================================================
   15. Breadcrumbs
   ============================================================================= */
.aa-breadcrumbs {
    padding: 1.5rem 0 1rem;
    font-size: 0.8125rem;
    color: var(--aa-gray-light);
}

.aa-breadcrumbs a {
    color: var(--aa-gray);
}

.aa-breadcrumbs a:hover {
    color: var(--aa-orange);
}

.aa-breadcrumbs__sep {
    margin: 0 0.5rem;
    color: var(--aa-gray-border);
}

/* =============================================================================
   16. Vehicle Archive / Inventory Page
   ============================================================================= */
.aa-archive-hero {
    background: var(--aa-charcoal);
    padding: calc(var(--aa-header-h) + 2rem) 0 2rem;
    text-align: center;
}

.aa-archive-hero h1 {
    color: var(--aa-white);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    margin-bottom: 0.5rem;
}

.aa-archive-hero__count {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.9375rem;
}

/* Filters */
.aa-filters {
    background: var(--aa-white);
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--aa-gray-border);
    position: sticky;
    top: var(--aa-header-h);
    z-index: 50;
}

.aa-filters__grid {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
}

.aa-filters__select {
    padding: 0.625rem 2.25rem 0.625rem 0.875rem;
    font-size: 0.8125rem;
    font-family: var(--aa-font-primary);
    font-weight: 500;
    border: 1.5px solid var(--aa-gray-border);
    border-radius: var(--aa-radius);
    background: var(--aa-white);
    color: var(--aa-charcoal);
    outline: none;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    transition: border-color var(--aa-trans-fast);
}

.aa-filters__select:focus {
    border-color: var(--aa-orange);
}

.aa-filters__price-range {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.aa-filters__price-range input {
    width: 100px;
    padding: 0.625rem 0.75rem;
    font-size: 0.8125rem;
    border: 1.5px solid var(--aa-gray-border);
    border-radius: var(--aa-radius);
    outline: none;
    text-align: center;
    font-family: var(--aa-font-primary);
}

.aa-filters__price-range input:focus {
    border-color: var(--aa-orange);
}

.aa-filters__actions {
    margin-left: auto;
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.aa-filters__count {
    font-size: 0.8125rem;
    color: var(--aa-gray);
}

.aa-filters__reset {
    font-size: 0.8125rem;
    color: var(--aa-orange);
    font-weight: 600;
    cursor: pointer;
}

.aa-filters__sort .aa-filters__select {
    border-color: transparent;
    background-color: var(--aa-light);
}

/* Archive grid */
.aa-archive-content {
    padding: 2.5rem 0 4rem;
}

/* Pagination */
.aa-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 3rem;
}

.aa-pagination__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 0.75rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--aa-gray);
    background: var(--aa-white);
    border: 1.5px solid var(--aa-gray-border);
    border-radius: var(--aa-radius);
    transition: all var(--aa-trans-fast);
}

.aa-pagination__btn:hover,
.aa-pagination__btn.active {
    background: var(--aa-orange);
    color: var(--aa-white);
    border-color: var(--aa-orange);
}

/* Loading state */
.aa-loading {
    position: relative;
    pointer-events: none;
}

.aa-loading::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

/* No results */
.aa-no-results {
    text-align: center;
    padding: 4rem 2rem;
    color: var(--aa-gray);
    grid-column: 1 / -1;
}

/* =============================================================================
   17. Vehicle Detail Page
   ============================================================================= */
.aa-detail {
    padding-top: var(--aa-header-h);
}

/* Hero gallery */
.aa-detail__gallery-hero {
    position: relative;
    background: var(--aa-black);
    height: calc(100vh - var(--aa-header-h));
}

/* Sidebar thumbnail above the "Máte zájem" CTA panel */
.aa-detail__sidebar-image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: var(--aa-radius-xl);
    overflow: hidden;
    margin-bottom: 1rem;
    background: var(--aa-charcoal);
}
.aa-detail__sidebar-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.aa-detail__sidebar-image:hover img {
    transform: scale(1.04);
}

.aa-detail__gallery-main {
    height: 100%;
}

.aa-detail__gallery-main .swiper-slide {
    cursor: pointer;
    background: var(--aa-black);
}

.aa-detail__gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.aa-detail__gallery-thumbs {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 800px;
    z-index: 5;
}

.aa-detail__gallery-thumbs .swiper-slide {
    width: 100px;
    height: 66px;
    border-radius: var(--aa-radius-sm);
    overflow: hidden;
    opacity: 0.5;
    cursor: pointer;
    transition: opacity var(--aa-trans-fast);
    border: 2px solid transparent;
}

.aa-detail__gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1;
    border-color: var(--aa-orange);
}

.aa-detail__gallery-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aa-detail__gallery-counter {
    position: absolute;
    bottom: 1rem;
    right: 1.5rem;
    z-index: 5;
    background: rgba(0, 0, 0, 0.6);
    color: var(--aa-white);
    padding: 0.375rem 0.75rem;
    border-radius: var(--aa-radius-sm);
    font-size: 0.8125rem;
    font-weight: 600;
    backdrop-filter: blur(10px);
}

/* Detail header / info */
/*.aa-detail__header {
    padding: 2.5rem 0;
    border-bottom: 1px solid var(--aa-gray-border);
}*/

.aa-detail__header-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.aa-detail__title {
    font-size: clamp(1.5rem, 3vw, 2rem);
}

.aa-detail__title strong {
    font-weight: 800;
}

.aa-detail__title span {
    color: var(--aa-gray);
    font-weight: 400;
}

.aa-detail__price-block {
    text-align: right;
    flex-shrink: 0;
}

.aa-detail__price {
    font-family: var(--aa-font-heading);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 800;
    color: var(--aa-orange);
}

.aa-detail__price-note {
    font-size: 0.8125rem;
    color: var(--aa-gray);
}

/* Quick spec bar */
.aa-detail__specs-bar {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
    background: var(--aa-light);
    border-radius: var(--aa-radius-lg);
    overflow: hidden;
}

.aa-detail__spec-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1.25rem 0.75rem;
    text-align: center;
    border-right: 1px solid var(--aa-gray-border);
}

.aa-detail__spec-item:last-child {
    border-right: none;
}

.aa-detail__spec-icon {
    width: 28px;
    height: 28px;
    color: var(--aa-orange);
}

.aa-detail__spec-icon svg {
    width: 100%;
    height: 100%;
}

.aa-detail__spec-label {
    font-size: 0.6875rem;
    color: var(--aa-gray-light);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.aa-detail__spec-val {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--aa-charcoal);
}

/* Feature icons */
.aa-detail__features {
    padding: 2.5rem 0;
    border-bottom: 1px solid var(--aa-gray-border);
}

.aa-detail__features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 1rem;
}

.aa-detail__feature {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 0.5rem;
    text-align: center;
    border-radius: var(--aa-radius);
    background: var(--aa-light);
    opacity: 0.35;
}

.aa-detail__feature.active {
    opacity: 1;
    background: var(--aa-orange-light);
}

.aa-detail__feature svg {
    width: 28px;
    height: 28px;
}

.aa-detail__feature.active svg {
    color: var(--aa-orange);
}

.aa-detail__feature span {
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.3;
}

/* Content sections */
.aa-detail__content {
    padding: 2.5rem 0;
}

.aa-detail__content-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
}

.aa-detail__section {
    margin-bottom: 2.5rem;
}

.aa-detail__section-title {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--aa-orange);
    display: inline-block;
}

/* Equipment list */
.aa-detail__equipment {
    columns: 2;
    column-gap: 2rem;
}

.aa-detail__equipment li {
    padding: 0.375rem 0;
    padding-left: 1.25rem;
    font-size: 0.9375rem;
    color: var(--aa-charcoal);
    position: relative;
    break-inside: avoid;
}

.aa-detail__equipment li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.75rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--aa-orange);
}

/* Technical parameters table */
.aa-detail__params-table {
    width: 100%;
}

.aa-detail__params-table tr {
    border-bottom: 1px solid var(--aa-gray-border);
}

.aa-detail__params-table td {
    padding: 0.75rem 0;
    font-size: 0.9375rem;
}

.aa-detail__params-table td:first-child {
    color: var(--aa-gray);
    width: 45%;
}

.aa-detail__params-table td:last-child {
    font-weight: 600;
    color: var(--aa-charcoal);
}

/* Sidebar / CTA panel */
.aa-detail__sidebar {
    position: sticky;
    top: calc(var(--aa-header-h) + 2rem);
    align-self: start;
}

.aa-detail__cta-panel {
    background: var(--aa-charcoal);
    border-radius: var(--aa-radius-lg);
    padding: 2rem;
    color: var(--aa-white);
}

.aa-detail__cta-panel h3 {
    color: var(--aa-white);
    margin-bottom: 0.5rem;
}

.aa-detail__cta-panel p {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9375rem;
    margin-bottom: 1.5rem;
}

.aa-detail__cta-panel .aa-btn {
    width: 100%;
    justify-content: center;
    margin-bottom: 0.75rem;
}

.aa-detail__cta-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem;
    color: var(--aa-white);
    font-weight: 700;
    font-size: 1.125rem;
}

.aa-detail__cta-phone svg {
    width: 20px;
    height: 20px;
    color: var(--aa-orange);
}

.aa-detail__trust-note {
    margin-top: 1.5rem;
    padding: 1.25rem;
    background: rgba(34, 197, 94, 0.1);
    border-radius: var(--aa-radius);
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.aa-detail__trust-note h4 {
    color: var(--aa-green);
    font-size: 0.875rem;
    margin-bottom: 0.375rem;
}

.aa-detail__trust-note p {
    font-size: 0.8125rem;
    color: var(--aa-text);
}

/* Detail split gallery */
.aa-detail__split-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    padding: 2.5rem 0;
    border-top: 1px solid var(--aa-gray-border);
}

.aa-detail__gallery-section h3 {
    margin-bottom: 1.25rem;
}

.aa-detail__gallery-section h3 strong {
    color: var(--aa-orange);
}

.aa-detail__gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}

.aa-detail__gallery-grid a {
    aspect-ratio: 3/2;
    border-radius: var(--aa-radius-sm);
    overflow: hidden;
}

.aa-detail__gallery-grid a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.aa-detail__gallery-grid a:hover img {
    transform: scale(1.05);
}

/* Related vehicles */
.aa-related {
    padding: 3rem 0 4rem;
    background: var(--aa-light);
}

/* =============================================================================
   18. Page Templates (Services, About, Contact, Import)
   ============================================================================= */
.aa-page-hero {
    position: relative;
    padding: calc(var(--aa-header-h) + 4rem) 0 4rem;
    background: var(--aa-charcoal);
    color: var(--aa-white);
    overflow: hidden;
    text-align: center;
}

.aa-page-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(232, 97, 26, 0.08) 0%, transparent 70%);
}

.aa-page-hero h1 {
    color: var(--aa-white);
    margin-bottom: 0.75rem;
}

.aa-page-hero p {
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.0625rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* Page content */
.aa-page-content {
    padding: 4rem 0;
}

.aa-page-content h2 {
    margin-bottom: 1rem;
}

.aa-page-content p {
    font-size: 1.0625rem;
    color: var(--aa-gray);
    line-height: 1.8;
}

/* Import steps */
.aa-import-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin: 3rem 0;
}

.aa-import-step {
    text-align: center;
    position: relative;
}

.aa-import-step__num {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--aa-orange);
    color: var(--aa-white);
    font-family: var(--aa-font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
}

.aa-import-step h4 {
    margin-bottom: 0.5rem;
}

.aa-import-step p {
    font-size: 0.875rem;
    color: var(--aa-gray);
}

/* Contact page grid */
.aa-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
}

.aa-map {
    border-radius: var(--aa-radius-lg);
    overflow: hidden;
    aspect-ratio: 16/9;
    margin-top: 2rem;
}

.aa-map iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Opening hours */
.aa-hours {
    margin-top: 2rem;
}

.aa-hours__row {
    display: flex;
    justify-content: space-between;
    padding: 0.625rem 0;
    border-bottom: 1px solid var(--aa-gray-border);
    font-size: 0.9375rem;
}

.aa-hours__row:last-child {
    border-bottom: none;
}

.aa-hours__day {
    font-weight: 600;
}

/* =============================================================================
   19. Sold Vehicles
   ============================================================================= */
.aa-sold-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.aa-sold-card {
    border-radius: var(--aa-radius);
    overflow: hidden;
    background: var(--aa-white);
    box-shadow: var(--aa-shadow-card);
}

.aa-sold-card__image {
    aspect-ratio: 16/10;
    position: relative;
    overflow: hidden;
}

.aa-sold-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(30%);
}

.aa-sold-card__sold-label {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    background: var(--aa-red);
    color: var(--aa-white);
    padding: 0.25rem 0.625rem;
    font-size: 0.6875rem;
    font-weight: 700;
    border-radius: var(--aa-radius-sm);
    text-transform: uppercase;
}

.aa-sold-card__body {
    padding: 1rem;
}

.aa-sold-card__title {
    font-size: 0.9375rem;
    font-weight: 700;
    margin-bottom: 0.375rem;
}

.aa-sold-card__specs {
    font-size: 0.8125rem;
    color: var(--aa-gray);
}

/* =============================================================================
   20. Lightbox
   ============================================================================= */
.aa-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.95);
    display: none;
    /*align-items: center;*/
    justify-content: center;
}

.aa-lightbox.active {
    display: flex;
}

.aa-lightbox__close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--aa-white);
    font-size: 2rem;
    cursor: pointer;
    z-index: 10;
}

.aa-lightbox__img {
    max-width: 90%;
    max-height: 90vh;
    object-fit: contain;
}

.aa-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    color: var(--aa-white);
    border-radius: 50%;
    cursor: pointer;
    transition: background var(--aa-trans-fast);
}

.aa-lightbox__nav:hover {
    background: var(--aa-orange);
}

.aa-lightbox__prev {
    left: 1.5rem;
}

.aa-lightbox__next {
    right: 1.5rem;
}

/* =============================================================================
   21. Inquiry Modal
   ============================================================================= */
.aa-modal {
    position: fixed;
    inset: 0;
    z-index: 9998;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
}

.aa-modal.active {
    display: flex;
}

.aa-modal__content {
    background: var(--aa-white);
    border-radius: var(--aa-radius-xl);
    padding: 2.5rem;
    max-width: 520px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}

.aa-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--aa-light);
    color: var(--aa-gray);
    font-size: 1.25rem;
    transition: all var(--aa-trans-fast);
}

.aa-modal__close:hover {
    background: var(--aa-orange);
    color: var(--aa-white);
}

/* =============================================================================
   22. Animations
   ============================================================================= */
.aa-fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.aa-fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.aa-fade-left {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.aa-fade-left.visible {
    opacity: 1;
    transform: translateX(0);
}

.aa-fade-right {
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.aa-fade-right.visible {
    opacity: 1;
    transform: translateX(0);
}

/* =============================================================================
   23. Utilities
   ============================================================================= */
.aa-text-center {
    text-align: center;
}

.aa-text-orange {
    color: var(--aa-orange);
}

.aa-mt-1 {
    margin-top: 0.5rem;
}

.aa-mt-2 {
    margin-top: 1rem;
}

.aa-mt-3 {
    margin-top: 1.5rem;
}

.aa-mt-4 {
    margin-top: 2rem;
}

.aa-mb-0 {
    margin-bottom: 0;
}

.aa-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* =============================================================================
   24. Responsive
   ============================================================================= */
@media (max-width: 1200px) {
    .aa-vehicles-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .aa-detail__specs-bar {
        grid-template-columns: repeat(4, 1fr);
    }

    .aa-detail__spec-item:nth-child(4) {
        border-right: none;
    }

    .aa-sold-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .aa-header__nav {
        display: none;
    }

    .aa-header__toggle {
        display: flex;
    }
}

@media (max-width: 1024px) {
    :root {
        --aa-section-gap: 4rem;
    }

    .aa-import__grid,
    .aa-about-grid,
    .aa-cta-grid,
    .aa-contact-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .aa-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .aa-detail__content-grid {
        grid-template-columns: 1fr;
    }

    .aa-detail__sidebar {
        position: static;
        order: -1;
    }

    .aa-detail__split-gallery {
        grid-template-columns: 1fr;
    }

    .aa-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .aa-import-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .aa-hero__stats {
        position: static;
        margin-top: 3rem;
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    :root {
        --aa-header-h: 64px;
        --aa-section-gap: 3rem;
    }

    .aa-vehicles-grid {
        grid-template-columns: 1fr;
        max-width: 480px;
    }

    .aa-services-grid {
        grid-template-columns: 1fr;
    }

    .aa-sold-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .aa-detail__header-top {
        flex-direction: column;
    }

    .aa-detail__price-block {
        text-align: left;
    }

    .aa-detail__specs-bar {
        grid-template-columns: repeat(3, 1fr);
    }

    .aa-detail__spec-item:nth-child(even) {
        border-right: none;
    }

    .aa-detail__equipment {
        columns: 1;
    }

    .aa-detail__gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .aa-form__row {
        grid-template-columns: 1fr;
    }

    .aa-footer__grid {
        grid-template-columns: 1fr;
    }

    .aa-hero__title {
        font-size: clamp(1.75rem, 6vw, 2.5rem);
    }

    .aa-hero__buttons {
        flex-direction: column;
    }

    .aa-hero__stats {
        gap: 2rem;
    }

    .aa-filters__grid {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 0.5rem;
    }

    .aa-filters__select {
        flex-shrink: 0;
    }

    .aa-service-detail-grid {
        grid-template-columns: 1fr;
    }

    .aa-service-content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .aa-service-content table thead,
    .aa-service-content table tbody,
    .aa-service-content table tr {
        min-width: 100%;
    }
}

@media (max-width: 480px) {
    .aa-container {
        padding: 0 1rem;
    }

    /* Stats stack vertically — drop the now-dangling dividers and tighten */
    .aa-hero__stats {
        gap: 1rem;
    }

    .aa-hero__divider {
        display: none;
    }

    .aa-sold-grid {
        grid-template-columns: 1fr;
    }

   .aa-detail__specs-bar {
        grid-template-columns: repeat(2, 1fr);
    }

    .aa-detail__spec-item {
        border-right: none;
        border-bottom: 1px solid var(--aa-gray-border);
    }

    .aa-detail__spec-item:last-child {
        border-bottom: none;
    }

    .aa-partners__grid {
        gap: 1.5rem;
    }

    .aa-import-steps {
        grid-template-columns: 1fr;
    }
}

/* =============================================================================
   25. Print
   ============================================================================= */
@media print {

    .aa-header,
    .aa-footer,
    .aa-mobile-nav,
    .aa-lightbox,
    .aa-modal {
        display: none !important;
    }

    .aa-detail {
        padding-top: 0;
    }

    body {
        color: #000;
    }
}

/* Hard reset for all menu list items (header + mobile nav) */
.aa-header__nav li,
.aa-header__nav ul,
.aa-header__nav ol,
.aa-mobile-nav li,
.aa-mobile-nav ul,
.aa-mobile-nav ol {
    list-style: none !important;
    list-style-type: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    background-image: none !important;
}

.aa-header__nav li::before,
.aa-header__nav li::marker,
.aa-mobile-nav li::before,
.aa-mobile-nav li::marker {
    content: none !important;
    display: none !important;
}

.aa-header__nav li {
    display: inline-flex !important;
}

.aa-mobile-nav li {
    display: block !important;
}

/* Phone + lang switcher stacked vertically (phone on top, flags below) */
.aa-header__contact-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
}

/* Polylang language switcher in header actions (under phone number) */
.aa-lang-switcher {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 0.4rem;
    list-style: none !important;
    margin: 0;
    padding: 0;
}
.aa-lang-switcher li {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
}
.aa-lang-switcher li::before,
.aa-lang-switcher li::marker {
    content: none !important;
    display: none !important;
}
.aa-lang-switcher a {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem;
    line-height: 0;
    opacity: 0.65;
    transition: opacity .15s ease, transform .15s ease;
}
.aa-lang-switcher a:hover { opacity: 1; transform: translateY(-1px); }
.aa-lang-switcher .current-lang a { opacity: 1; }
.aa-lang-switcher img {
    display: block;
    width: 22px;
    height: auto;
    border-radius: 2px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

/* AUTO HRDLA: subpage hero clears fixed 80px header (page label was hidden behind it) */
body:not(.home) .hero{padding-top:104px !important}
@media(max-width:640px){body:not(.home) .hero{padding-top:88px !important}}

/* AUTO HRDLA: Kariéra hero also clears the fixed header (custom .k-hero) */
body #ah-kariera .k-hero{padding-top:104px}
@media(max-width:640px){body #ah-kariera .k-hero{padding-top:88px}}

/* Unify Prodaná vozidla + Kariéra hero to match .hero (Služby) */
body #ah-kariera .k-hero h1{font-size:48px;line-height:1.08}
body.page-template-page-prodana-auta .aa-page-hero{padding-top:54px !important;padding-bottom:40px !important;min-height:343px}
body.page-template-page-prodana-auta .aa-page-hero h1{font-size:48px;line-height:1.08}
body.page-template-page-prodana-auta .aa-page-hero .eyebrow,body.page-template-page-prodana-auta .aa-page-hero [class*="eyebrow"],body.page-template-page-prodana-auta .aa-page-hero [class*="label"]{font-size:12.5px}
@media(max-width:640px){body.page-template-page-prodana-auta .aa-page-hero{padding-top:54px !important}}

/* Oprava position:sticky — overflow:hidden na html/body sticky ruší; clip ořezává horizontální přesah bez rozbití sticky */
html,body{overflow-x:clip !important;overflow-y:visible !important}
/* sticky info panel detailu vozu pod fixní hlavičku */
#ah-vd .infopanel{top:96px !important}


/* === AH_HERO_HEIGHT START (added on request) ===
   Reduce the homepage hero height so the moving ticker bar below it is visible
   without scrolling, on phone / tablet / desktop. Uses svh so the mobile
   browser URL bar doesn't push the ticker off-screen; the vh line is a
   fallback for older browsers. min-height keeps the hero from clipping its
   own content on small screens. To revert: delete between the markers. */
.aa-hero { min-height: calc(100vh - 96px); min-height: calc(100svh - 96px); }
.aa-hero__content { padding-top: calc(var(--aa-header-h) + 0.5rem); padding-bottom: 0.5rem; }
@media (max-width: 640px) {
  .aa-hero { min-height: calc(100vh - 84px); min-height: calc(100svh - 84px); }
}
/* === AH_HERO_HEIGHT END === */


/* === AH_HERO_MOBILE START (added on request) ===
   Mobile-only hero redesign: hide the cropped full-bleed background, show the
   photo as a distinct "zoomed-out" block between subtitle and buttons, and make
   texts / buttons / stats smaller & more compact so the moving ticker below is
   as visible as possible. Pairs with the AH_HERO_MOBILE block in main.js.
   Desktop/tablet are untouched. To revert: delete between the markers here and
   in main.js. */
.aa-hero__photo { display: none; }

@media (max-width: 640px) {
  /* solid dark background instead of the cropped cover image */
  .aa-hero__bg, .aa-hero__overlay { display: none !important; }
  .aa-hero { min-height: 0 !important; }
  .aa-hero__content { text-align: center; padding-top: calc(var(--aa-header-h) + 1.75rem) !important; padding-bottom: 1rem !important; }

  /* smaller texts / elements */
  .aa-hero__badge { font-size: 0.62rem; padding: 0.3rem 0.7rem; margin: 0 auto 0.85rem; }
  .aa-hero__title { font-size: 1.7rem !important; line-height: 1.12; margin: 0 auto 0.55rem; max-width: 100%; }
  .aa-hero__subtitle { font-size: 0.9rem; line-height: 1.45; margin: 0 auto 1rem; max-width: 34ch; }

  /* the visible, zoomed-out car photo */
  .aa-hero__photo { display: block; margin: 0 0 0.95rem; border-radius: 12px; overflow: hidden; background: #0a0a0b; }
  .aa-hero__photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center bottom; }

  /* buttons: full-width, smaller */
  .aa-hero__buttons { display: flex; flex-direction: row; justify-content: center; align-items: stretch; gap: 0.55rem; margin-bottom: 1.1rem; }
  .aa-hero__buttons .aa-btn { flex: 1 1 0; width: auto; max-width: none; padding: 0.7rem 0.5rem !important; font-size: 0.82rem !important; line-height: 1.15; text-align: center; justify-content: center; }
  .aa-hero__buttons .aa-btn--primary svg { display: none; }

  /* stats: compact */
  .aa-hero__stats { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.35rem 1.5rem !important; margin-top: 0.2rem; }
  .aa-hero__stat-value { font-size: 1.5rem; }
  .aa-hero__stat-label { font-size: 0.72rem; }
  .aa-hero__divider { display: none; }
  .aa-hero__stats .aa-hero__stat:last-of-type { display: none; }
}
/* === AH_HERO_MOBILE END === */


/* === AH_HEADER_SOLID START (added on request) ===
   Keep the header bar solid (dark) at all times instead of transparent at the
   top of the homepage, so the logo/menu never overlap page content while
   scrolling. Matches the scrolled-state look. To revert: delete between markers. */
.aa-header.aa-header--transparent {
  background: rgba(10, 10, 10, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 20px;
}
/* === AH_HEADER_SOLID END === */


/* === AH_DOVOZ_MOBILE START (added on request) ===
   Mobile fix for the "Dovoz na zakázku" (#dovoz) section: on phones the floating
   badge + stats card overlapped the image and hid it. Here they are taken out of
   the overlay and stacked cleanly below the image (image -> badge -> stats in a
   tidy 3-column row). !important is used to override the section's own inline
   <style>. To revert: delete between the markers. */
@media (max-width: 640px) {
  #dovoz .media { display: flex !important; flex-direction: column; gap: 12px; }
  #dovoz .frame { aspect-ratio: 16 / 10 !important; }
  #dovoz .frame img { object-position: center; }

  #dovoz .badge {
    position: static !important; inset: auto !important;
    align-self: center; margin: 0;
  }

  #dovoz .statcard {
    position: static !important; inset: auto !important; width: 100% !important;
    display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 6px 10px;
    text-align: center;
  }
  #dovoz .statcard .sep { display: none !important; }
  #dovoz .statcard .s { display: flex; flex-direction: column; align-items: center; gap: 2px; }
  #dovoz .statcard .s b { font-size: 1.35rem; line-height: 1.05; }
  #dovoz .statcard .s span { font-size: 0.68rem; line-height: 1.2; }
}
/* === AH_DOVOZ_MOBILE END === */


/* === AH_ONAS_MOBILE START (added on request) ===
   Mobile fix for the "O nás" (#o-nas) section: the stat cards were locked to 3
   fixed columns that didn't fit narrow screens, forcing the whole section wider
   than the viewport (which also cut off the heading). Here the cards are allowed
   to shrink to fit, with smaller value/label text, and the heading is sized down.
   To revert: delete between the markers. */
@media (max-width: 640px) {
  #o-nas h2 { font-size: 1.8rem; line-height: 1.18; }
  #o-nas .aa-about__counters { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; margin-top: 1.5rem; }
  #o-nas .aa-counter { padding: 14px 6px; min-width: 0; }
  #o-nas .aa-counter__value { font-size: 1.4rem; line-height: 1.05; }
  #o-nas .aa-counter__label { font-size: 0.66rem; line-height: 1.2; }
}
/* === AH_ONAS_MOBILE END === */


/* === AH_DOVOZ_PAGE_MOBILE START (added on request) ===
   Mobile tidy-up for the "Dovoz na zakázku" page (#ah-dovoz): center content,
   put the "Dovážíme z" label on its own line with the countries in a 2x2 grid,
   and center the feature icons (icon above text). Overrides the page's own
   inline <style> (hence !important). To revert: delete between the markers. */
@media (max-width: 600px) {
  /* --- "Dovážíme z": label on its own line, countries 2 x 2 --- */
  #ah-dovoz .herobar .markets {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 16px !important;
    justify-items: center !important;
    align-items: center !important;
    max-width: 300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  #ah-dovoz .herobar .markets .lbl {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    text-align: center !important;
  }

  /* --- herobar buttons centered --- */
  #ah-dovoz .herobar .cta-row { justify-content: center !important; flex-wrap: wrap; }

  /* --- feature list: icon centered above text --- */
  #ah-dovoz .whygrid .wrow {
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    gap: 12px !important;
  }
  #ah-dovoz .whygrid .wrow .ck { flex: 0 0 auto !important; }
  #ah-dovoz .whygrid .wrow p { text-align: left !important; margin: 0 !important; }

  /* --- country cards centered --- */
  #ah-dovoz .cgrid .cc { text-align: center !important; }
  #ah-dovoz .cgrid .cc .flag { display: inline-flex !important; margin-left: auto !important; margin-right: auto !important; }

  /* --- process steps: center text --- */
  #ah-dovoz #ah-proces .detail { text-align: center; }
  #ah-dovoz #ah-proces .nodes .node { text-align: center !important; }
  #ah-dovoz #ah-proces .nodes .node .dot { margin-left: auto !important; margin-right: auto !important; }
}
/* === AH_DOVOZ_PAGE_MOBILE END === */


/* === AH_KONTAKT_HOURS_NOTE START (added on request) ===
   Contact page: note that the opening hours are for the car service, plus a
   highlighted line that vehicle import & sales can be reached non-stop by phone.
   To revert: delete between the markers here AND the .hnote markup in
   page-kontakt.php. */
#ah-kontakt .hours .hnote-svc {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: #6d6d6d;
  text-align: center;
}
#ah-kontakt .hours .hnote-sales {
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(232, 97, 26, 0.08);
  border: 1px solid rgba(232, 97, 26, 0.28);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}
#ah-kontakt .hours .hnote-sales__t {
  font-size: 14.5px;
  line-height: 1.4;
  color: #15161a;
}
#ah-kontakt .hours .hnote-sales__tel {
  font-weight: 800;
  font-size: 19px;
  letter-spacing: .01em;
  color: #E8611A;
  text-decoration: none;
}
#ah-kontakt .hours .hnote-sales__tel:hover { text-decoration: underline; }
/* === AH_KONTAKT_HOURS_NOTE END === */


/* === AH_PARTNERS_MARQUEE START (added on request) ===
   Slow infinite left-scrolling marquee for the partners/sponsors logos.
   Pairs with the AH_PARTNERS_MARQUEE block in main.js (which duplicates the
   logos and wraps the grid in .aa-partners__viewport). To revert: delete this
   block and the JS block. */
.aa-partners__viewport { overflow: hidden; width: 100%; }

.aa-partners__grid--marquee {
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  width: max-content !important;
  gap: 0 !important;
  animation: ah-partners-marquee 40s linear infinite;
  will-change: transform;
}
.aa-partners__grid--marquee .aa-partners__item {
  flex: 0 0 auto !important;
  margin-right: 48px !important;
}

@keyframes ah-partners-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .aa-partners__grid--marquee { animation: none; }
}
/* === AH_PARTNERS_MARQUEE END === */
