/* ZAVR opt-in public component design system. All rules scoped, Blocksy outer shell untouched. */
/* Values are defined once by frontend-tokens.css and optional published design. */
.zavr-public {
  color:var(--zavr-ink); background:var(--zavr-ivory); font-family:var(--zavr-body-font,inherit);
  font-size:var(--zavr-body-size,inherit); line-height:var(--zavr-body-leading,inherit); min-width:0;
}
.zavr-public *, .zavr-public *::before,.zavr-public *::after { box-sizing:border-box; }
.zavr-public :where(button,a,input,textarea,select):focus-visible { outline:3px solid var(--zavr-focus); outline-offset:3px; box-shadow:none; }
.zavr-public .zavr-container { width:min(calc(100% - var(--zavr-gutter) - var(--zavr-gutter)),var(--zavr-container-max)); margin-inline:auto; }
.zavr-public .zavr-ui-icon { display:inline-block; width:20px; height:20px; flex-shrink:0; vertical-align:middle; }
.zavr-public-skip { position:absolute; left:16px; top:-150px; z-index:1000; background:var(--zavr-surface); padding:12px 18px; color:var(--zavr-brand); }
.zavr-public-skip:focus { top:12px; }
.zavr-home-hero { padding:clamp(30px,5vw,80px) 0; background:var(--zavr-ivory); }
.zavr-home-hero__inner { display:grid; align-items:center; gap:clamp(24px,4vw,60px); }
.zavr-home-hero__copy { max-width:680px; position:relative; z-index:1; }
.zavr-eyebrow { margin:0 0 12px; color:var(--zavr-brand); font-size:12px; font-weight:750; line-height:1.5; letter-spacing:.11em; text-transform:uppercase; }
.zavr-home-hero h1 { color:var(--zavr-ink); font-family:var(--zavr-display-font,inherit); font-size:var(--zavr-display-size); line-height:1.13; font-weight:var(--zavr-display-weight); letter-spacing:var(--zavr-display-tracking); margin:0 0 18px; text-wrap:balance; }
.zavr-home-hero__summary { color:var(--zavr-muted); font-size:clamp(15px,1.4vw,19px); max-width:58ch; margin:0 0 24px; line-height:1.65; }
.zavr-action { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; border-radius:var(--zavr-radius-control); padding:12px 22px; font-weight:700; font-size:15px; line-height:1.4; text-decoration:none!important; transition:background .18s ease,color .18s ease,transform .18s ease; }
.zavr-action--primary { background:var(--zavr-brand); color:var(--zavr-on-primary)!important; }
.zavr-action--primary:hover { background:var(--zavr-brand-pressed); color:var(--zavr-on-primary)!important; transform:translateY(-1px); }
.zavr-home-hero--split.zavr-home-hero--media .zavr-home-hero__inner { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.zavr-home-hero__media { min-width:0; }
.zavr-gallery { position:relative; width:100%; isolation:isolate; }
.zavr-gallery__slides { border-radius:var(--zavr-radius-hero); overflow:hidden; background:var(--zavr-line); }
.zavr-gallery__slide { margin:0; position:relative; }
.zavr-gallery__slide[hidden] { display:none!important; }
.zavr-gallery__slide > a { display:block; position:relative; color:inherit; text-decoration:none; }
.zavr-gallery__image { width:100%; aspect-ratio:5 / 4; object-fit:cover; display:block; max-height:610px; }
.zavr-gallery__expand { position:absolute; top:15px; right:15px; display:grid; place-items:center; width:40px; height:40px; background:var(--zavr-surface); color:var(--zavr-ink); border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,.12); }
.zavr-gallery__caption { position:absolute; bottom:0; left:0; right:0; padding:30px 16px 12px; color:var(--zavr-on-primary); font-size:12px; background:linear-gradient(transparent,rgba(0,0,0,.57)); pointer-events:none; }
/* Navigation is independent of pagination: side-centred arrows never contain a counter. */
.zavr-gallery__controls { position:absolute; inset:0; z-index:3; pointer-events:none; }
.zavr-gallery__controls[hidden] { display:none!important; }
.zavr-gallery__controls button,.zavr-lightbox__nav button,.zavr-lightbox__close { display:grid; place-items:center; border:0; background:transparent; color:var(--zavr-ink); border-radius:50%; width:38px; height:38px; padding:0; cursor:pointer; }
.zavr-gallery__controls button { position:absolute; top:50%; transform:translateY(-50%); pointer-events:auto; background:var(--zavr-surface); box-shadow:var(--zavr-shadow-floating); }
.zavr-gallery__controls [data-zavr-prev] { left:var(--zavr-gallery-nav-inset,12px); }
.zavr-gallery__controls [data-zavr-next] { right:var(--zavr-gallery-nav-inset,12px); }
.zavr-gallery__controls button:hover { background:var(--zavr-control-hover); }
/* Selected dots/counter/both share a single bottom-centred indicator; none renders nothing. */
.zavr-gallery__pagination { display:none; position:absolute; left:50%; bottom:12px; transform:translateX(-50%); z-index:4; align-items:center; justify-content:center; gap:8px; max-width:calc(100% - 100px); padding:5px 8px; border-radius:999px; color:var(--zavr-on-primary); background:var(--zavr-media-overlay); white-space:nowrap; }
.zavr-gallery--ready .zavr-gallery__pagination { display:flex; }
.zavr-gallery__counter { color:var(--zavr-on-primary); font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; min-width:32px; text-align:center; }
.zavr-home-hero--full.zavr-home-hero--media .zavr-home-hero__inner { position:relative; min-height:clamp(380px,57vw,650px); border-radius:var(--zavr-radius-hero); overflow:hidden; padding:clamp(24px,5vw,64px); }
.zavr-home-hero--full.zavr-home-hero--media .zavr-home-hero__media { position:absolute; inset:0; z-index:0; }
.zavr-home-hero--full.zavr-home-hero--media .zavr-gallery,.zavr-home-hero--full.zavr-home-hero--media .zavr-gallery__slides,.zavr-home-hero--full.zavr-home-hero--media .zavr-gallery__slide,.zavr-home-hero--full.zavr-home-hero--media .zavr-gallery__slide>a,.zavr-home-hero--full.zavr-home-hero--media .zavr-gallery__image { height:100%; width:100%; }
.zavr-home-hero--full.zavr-home-hero--media .zavr-gallery__image { max-height:none; }
.zavr-home-hero--full.zavr-home-hero--media .zavr-home-hero__media::after { content:""; display:block; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(13,14,16,.76),rgba(13,14,16,.18)); }
.zavr-home-hero--full.zavr-home-hero--media .zavr-home-hero__copy { color:var(--zavr-on-primary); max-width:620px; }
.zavr-home-hero--full.zavr-home-hero--media h1,.zavr-home-hero--full.zavr-home-hero--media .zavr-home-hero__summary,.zavr-home-hero--full.zavr-home-hero--media .zavr-eyebrow { color:var(--zavr-on-primary); }

.zavr-editorial { padding-block:clamp(10px,3vw,36px) clamp(30px,6vw,74px); }
.zavr-editorial:empty { display:none; }
.zavr-cards-section { padding-block:18px 70px; }
.zavr-cards-section h2 { margin:0 0 24px; font-size:clamp(26px,3vw,38px); line-height:1.25; color:var(--zavr-ink); }
.zavr-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.zavr-link-card { background:var(--zavr-surface); border:1px solid var(--zavr-line); border-radius:var(--zavr-radius-card); overflow:hidden; box-shadow:0 6px 24px rgba(32,34,36,.05); }
.zavr-link-card__link { display:block; height:100%; text-decoration:none!important; color:var(--zavr-ink)!important; }
.zavr-link-card__link:hover { box-shadow:0 10px 30px rgba(32,34,36,.1); }
.zavr-link-card__image img { width:100%; height:210px; object-fit:cover; display:block; }
.zavr-link-card__body { padding:18px 20px; }
.zavr-link-card__body h3 { margin:0 0 8px; color:var(--zavr-ink); font-size:19px; }
.zavr-link-card__body p { margin:0 0 15px; color:var(--zavr-muted); font-size:14px; }
.zavr-link-card__action { display:inline-flex; align-items:center; gap:6px; color:var(--zavr-brand); font-size:13px; font-weight:750; }
.zavr-lightbox { border:0; padding:0; max-width:min(96vw,1280px); max-height:94vh; background:transparent; color:var(--zavr-on-primary); overflow:visible; }
.zavr-lightbox::backdrop { background:rgba(10,10,12,.91); }
.zavr-lightbox__surface { display:flex; flex-direction:column; justify-content:center; align-items:center; position:relative; min-width:min(90vw,420px); max-height:94vh; }
.zavr-lightbox__image { display:block; max-width:92vw; max-height:78vh; object-fit:contain; }
.zavr-lightbox__close { position:absolute; top:-44px; right:0; background:var(--zavr-surface); z-index:2; }
.zavr-lightbox__caption { text-align:center; margin:10px 0 0; font-size:13px; max-width:70ch; }
.zavr-lightbox__nav { display:flex; align-items:center; gap:14px; margin-top:10px; }
.zavr-lightbox__nav button { color:var(--zavr-on-primary); background:var(--zavr-ink); }
.zavr-lightbox__nav span { font-size:13px; font-variant-numeric:tabular-nums; }
@media(max-width:900px) {
 .zavr-home-hero--split.zavr-home-hero--media .zavr-home-hero__inner { grid-template-columns:1fr; }
 .zavr-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .zavr-public .zavr-container { width:min(calc(100% - var(--zavr-gutter) - var(--zavr-gutter)),var(--zavr-container-max)); }
 .zavr-card-grid { grid-template-columns:1fr; }
 .zavr-home-hero { padding-block:24px 38px; }
 .zavr-home-hero--full.zavr-home-hero--media .zavr-home-hero__inner { min-height:470px; }
 .zavr-home-hero--full.zavr-home-hero--media .zavr-home-hero__media::after { background:linear-gradient(180deg,rgba(13,14,16,.6),rgba(13,14,16,.14)); }
 .zavr-home-hero--full.zavr-home-hero--media .zavr-home-hero__inner { align-items:start; }
 .zavr-gallery__image { aspect-ratio:4/3; }
}
@media(prefers-reduced-motion:reduce) { .zavr-public *, .zavr-public *::before, .zavr-public *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
/* Public vehicle offering components. Existing theme continues to own header/footer. */
.zavr-vehicle-archive { padding:clamp(32px,5vw,72px) 0; min-height:45vh; }
.zavr-vehicle-archive__header { max-width:770px; margin:0 0 36px; }
.zavr-vehicle-archive__header h1,.zavr-vehicle-page__header h1 { color:var(--zavr-ink); font-family:var(--zavr-display-font,inherit); font-size:var(--zavr-display-size); line-height:1.16; letter-spacing:var(--zavr-display-tracking); font-weight:var(--zavr-display-weight); margin:0 0 14px; }
.zavr-vehicle-archive__header p:not(.zavr-eyebrow),.zavr-vehicle-page__intro { color:var(--zavr-muted); font-size:17px; line-height:1.65; }
.zavr-vehicle-cards { display:grid; gap:22px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.zavr-vehicle-card { min-width:0; border:1px solid var(--zavr-line); border-radius:var(--zavr-radius-card); background:var(--zavr-surface); overflow:hidden; }
.zavr-vehicle-card__link { display:block; color:inherit; text-decoration:none!important; height:100%; }
.zavr-vehicle-card__link:hover,.zavr-vehicle-card__link:focus-visible { color:var(--zavr-ink); background:var(--zavr-control-hover); }
.zavr-vehicle-card__media { aspect-ratio:4/3; background:var(--zavr-line); display:grid; place-items:center; overflow:hidden; }
.zavr-vehicle-card__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .22s ease; }
.zavr-vehicle-card__link:hover img { transform:scale(1.03); }
.zavr-vehicle-card__no-photo { font-size:13px; color:var(--zavr-muted); }
.zavr-vehicle-card__body { padding:22px; }
.zavr-vehicle-card__body h2 { color:var(--zavr-ink); font-size:21px; line-height:1.35; margin:0 0 8px; }
.zavr-vehicle-card__body p { color:var(--zavr-muted); font-size:14px; margin:0 0 18px; }
.zavr-vehicle-card__action { display:flex; align-items:center; gap:8px; color:var(--zavr-brand); font-weight:700; font-size:14px; }
.zavr-vehicle-page { padding:clamp(28px,4vw,60px) 0; }
.zavr-vehicle-page__crumb { font-size:13px; margin-bottom:22px; }
.zavr-vehicle-page__crumb a { color:var(--zavr-brand); }
.zavr-vehicle-page__header { max-width:850px; margin-bottom:30px; }
.zavr-vehicle-page__gallery { max-width:1080px; }
.zavr-vehicle-page__gallery .zavr-gallery__image { max-height:580px; aspect-ratio:16/9; }
.zavr-vehicle-page__specs { margin:24px 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.zavr-vehicle-page__spec { border:1px solid var(--zavr-line); background:var(--zavr-surface); border-radius:var(--zavr-radius-control); padding:16px; display:grid; gap:4px; }
.zavr-vehicle-page__spec span { font-size:12px; color:var(--zavr-muted); }
.zavr-vehicle-page__spec strong { font-size:17px; }
.zavr-vehicle-page__editorial { max-width:880px; padding:16px 0; }
.zavr-vehicle-page__disclosure { max-width:850px; font-size:12px; color:var(--zavr-muted); padding-top:18px; border-top:1px solid var(--zavr-line); }
@media(max-width:920px){.zavr-vehicle-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.zavr-vehicle-page__specs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.zavr-vehicle-cards{grid-template-columns:1fr}.zavr-vehicle-page__gallery .zavr-gallery__image{aspect-ratio:4/3}.zavr-vehicle-page__specs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.zavr-vehicle-card__media img{transition:none}}

/* Semantic icon + label + value: reusable specification card primitive. */
.zavr-public .zavr-spec-card {min-width:0;gap:8px;}
.zavr-public .zavr-spec-card__head {display:flex;align-items:center;gap:10px;min-width:0;}
.zavr-public .zavr-spec-card__label {font-size:12px;color:var(--zavr-muted);}
.zavr-public .zavr-spec-card__icon {display:inline-grid;place-items:center;flex:0 0 auto;width:calc(var(--zavr-icon-size) + 16px);height:calc(var(--zavr-icon-size) + 16px);border-radius:var(--zavr-radius-control);color:var(--zavr-brand);background:var(--zavr-control-hover);}
.zavr-public .zavr-semantic-icon {display:block;width:var(--zavr-icon-size);height:var(--zavr-icon-size);stroke-width:var(--zavr-icon-stroke);}
.zavr-public .zavr-spec-card--bold .zavr-semantic-icon {stroke-width:2.6;}
.zavr-public .zavr-spec-card--regular .zavr-semantic-icon {stroke-width:1.8;}
.zavr-public .zavr-spec-card--none .zavr-spec-card__icon {background:transparent;}
.zavr-public .zavr-spec-card--outlined .zavr-spec-card__icon {background:var(--zavr-surface);border:1px solid var(--zavr-line);}
.zavr-public .zavr-spec-card--solid .zavr-spec-card__icon {background:var(--zavr-brand);color:var(--zavr-on-primary);}
.zavr-public .zavr-spec-card__value {font-size:17px;line-height:1.35;overflow-wrap:anywhere;}

.zavr-public .zavr-semantic-icon--image {display:block;width:var(--zavr-icon-size,22px);height:var(--zavr-icon-size,22px);object-fit:contain;stroke:none;}

/* Shared gallery: progressively enhanced pagination and swipe-safe compact cards. */
.zavr-public .zavr-gallery__dots {display:flex;align-items:center;justify-content:center;gap:2px;}
.zavr-public .zavr-gallery__dots button {width:20px;height:24px;border:0;padding:0;margin:0;border-radius:50%;display:grid;place-items:center;background:transparent;cursor:pointer;}
.zavr-public .zavr-gallery__dots button span {display:block;width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.75);transition:width .18s ease,background .18s ease;}
.zavr-public .zavr-gallery__dots button[aria-current="true"] span {width:18px;background:var(--zavr-surface);}
.zavr-public .zavr-gallery__dots button.zavr-gallery__dot--overflow {display:none;}
.zavr-public .zavr-gallery__dots button:focus-visible {outline:2px solid var(--zavr-focus);outline-offset:0;}
.zavr-public .zavr-gallery--compact .zavr-gallery__slides {border-radius:var(--zavr-radius-card);}
.zavr-public .zavr-gallery--compact .zavr-gallery__image {aspect-ratio:4/3;max-height:none;}
.zavr-public .zavr-gallery--compact .zavr-gallery__controls button {width:32px;height:32px;}
.zavr-public .zavr-gallery--compact .zavr-gallery__controls [data-zavr-prev] {left:8px;}
.zavr-public .zavr-gallery--compact .zavr-gallery__controls [data-zavr-next] {right:8px;}
.zavr-public .zavr-gallery--compact .zavr-gallery__controls button:hover {background:var(--zavr-control-hover);}

/* A single vehicle-card read model, four factory-selected display variants. */
.zavr-public .zavr-vehicle-cards--list {grid-template-columns:1fr;}
.zavr-public .zavr-vehicle-card {position:relative;display:flex;flex-direction:column;}
.zavr-public .zavr-vehicle-card__media {position:relative;display:block;aspect-ratio:4/3;background:var(--zavr-line);overflow:hidden;}
.zavr-public .zavr-vehicle-card__media>img {display:block;width:100%;height:100%;object-fit:cover;}
.zavr-public .zavr-vehicle-card__media .zavr-gallery,.zavr-public .zavr-vehicle-card__media .zavr-gallery__slides,.zavr-public .zavr-vehicle-card__media .zavr-gallery__slide,.zavr-public .zavr-vehicle-card__media .zavr-gallery__slide>a,.zavr-public .zavr-vehicle-card__media .zavr-gallery__image {height:100%;width:100%;}
.zavr-public .zavr-vehicle-card__media .zavr-gallery__image {object-fit:cover;}
.zavr-public .zavr-vehicle-card__label {position:absolute;top:12px;left:12px;z-index:4;background:var(--zavr-surface);color:var(--zavr-ink);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;line-height:1.25;max-width:70%;}
.zavr-public .zavr-vehicle-card__body {padding:18px 20px;display:flex;flex-direction:column;gap:12px;flex:1;}
.zavr-public .zavr-vehicle-card__body h2 {margin:0;font-size:clamp(18px,1.6vw,22px);line-height:1.3;}
.zavr-public .zavr-vehicle-card__title {color:var(--zavr-ink);text-decoration:none;}
.zavr-public .zavr-vehicle-card__title:hover {color:var(--zavr-brand);}
.zavr-public .zavr-vehicle-card__specs {list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 12px;}
.zavr-public .zavr-vehicle-card__specs li {display:flex;align-items:center;gap:5px;color:var(--zavr-ink);font-size:12px;}
.zavr-public .zavr-vehicle-card__spec-icon {display:grid;place-items:center;color:var(--zavr-brand);}
.zavr-public .zavr-vehicle-card__spec-icon .zavr-semantic-icon {width:var(--zavr-icon-size);height:var(--zavr-icon-size);}
.zavr-public .zavr-vehicle-card__spec-label {color:var(--zavr-muted);}
.zavr-public .zavr-vehicle-card__summary {color:var(--zavr-muted);font-size:13px;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.zavr-public .zavr-vehicle-card__foot {margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--zavr-line);}
.zavr-public .zavr-vehicle-card__context {color:var(--zavr-muted);font-size:11px;line-height:1.4;max-width:19ch;}
.zavr-public .zavr-vehicle-card__action {display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--zavr-brand);text-decoration:none;font-weight:700;font-size:13px;}
.zavr-public .zavr-vehicle-card__action:hover {text-decoration:underline;}
.zavr-public .zavr-vehicle-card--list {flex-direction:row;min-height:220px;}
.zavr-public .zavr-vehicle-card--list .zavr-vehicle-card__media {width:34%;flex-shrink:0;aspect-ratio:auto;}
.zavr-public .zavr-vehicle-card--list .zavr-vehicle-card__media>img {position:absolute;inset:0;}
.zavr-public .zavr-vehicle-card--list .zavr-vehicle-card__body {padding:24px;}
.zavr-public .zavr-vehicle-card--featured {box-shadow:var(--zavr-shadow-featured);}
.zavr-public .zavr-vehicle-card--featured .zavr-vehicle-card__media {aspect-ratio:16/10;}
.zavr-public .zavr-vehicle-card--gallery {border-color:transparent;}
.zavr-public .zavr-vehicle-card--gallery .zavr-vehicle-card__media {border-radius:var(--zavr-radius-card);}
.zavr-public .zavr-vehicle-card--gallery .zavr-vehicle-card__body {padding:16px 8px;}
.zavr-public .zavr-catalogue-filters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;padding:16px;margin:0 0 26px;background:var(--zavr-surface);border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-card);}
.zavr-public .zavr-catalogue-filters label {display:grid;gap:6px;min-width:0;font-size:12px;color:var(--zavr-muted);font-weight:600;}
.zavr-public .zavr-catalogue-filters select {width:100%;min-width:0;min-height:42px;border:1px solid var(--zavr-line);border-radius:var(--zavr-radius-control);padding:8px 12px;color:var(--zavr-ink);background:var(--zavr-surface);font:inherit;}
.zavr-public .zavr-catalogue-filters__actions {display:flex;align-items:center;flex-wrap:wrap;gap:12px;grid-column:1/-1;}
.zavr-public .zavr-catalogue-filters__clear {font-size:13px;color:var(--zavr-brand);}
@media(max-width:920px){.zavr-public .zavr-catalogue-filters{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.zavr-public .zavr-catalogue-filters{grid-template-columns:1fr;}.zavr-public .zavr-vehicle-card--list{flex-direction:column;}.zavr-public .zavr-vehicle-card--list .zavr-vehicle-card__media{width:100%;aspect-ratio:4/3;}}
@media(prefers-reduced-motion:reduce){.zavr-public .zavr-gallery__dots button span{transition:none;}}

/* Autoplay accessibility controls. Autoplay is opt-in and never the card default. */
.zavr-public .zavr-gallery__status {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);}
.zavr-public .zavr-gallery__playback {position:absolute;top:12px;right:12px;z-index:5;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--zavr-line);border-radius:50%;background:var(--zavr-surface);color:var(--zavr-ink);cursor:pointer;box-shadow:var(--zavr-shadow-floating);}
.zavr-public .zavr-gallery__playback:hover {background:var(--zavr-control-hover);}
.zavr-public .zavr-gallery__playback [hidden] {display:none;}
.zavr-public .zavr-gallery--compact .zavr-gallery__playback {top:12px;right:12px;}

/* Gallery-first discovery is a spacious two-column collection at desktop widths. */
.zavr-public .zavr-vehicle-cards--gallery {grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:620px){.zavr-public .zavr-vehicle-cards--gallery{grid-template-columns:1fr;}}

/* Card media shares the top card corners; its lower corners meet the card body flush. */
.zavr-public .zavr-vehicle-card--gallery .zavr-vehicle-card__media,
.zavr-public .zavr-vehicle-card--gallery .zavr-gallery--compact .zavr-gallery__slides {
 border-radius:var(--zavr-radius-card) var(--zavr-radius-card) 0 0;
}

/* Fast-track public catalogue/enquiry: use existing theme and ZAVR design tokens. */
.zavr-launch-cars { margin-block: clamp(24px, 4vw, 56px); }
.zavr-launch-cars__header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.zavr-launch-cars__header h2 { margin:0; }
.zavr-launch-enquiry { margin-block:24px; padding:clamp(18px,3vw,28px); border:1px solid var(--zavr-border, #ddd); border-radius:16px; }
.zavr-launch-enquiry h2 { margin:0 0 8px; }
.zavr-launch-enquiry p { margin:0 0 18px; }
.zavr-launch-enquiry__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:12px; }
.zavr-launch-enquiry small { display:block; opacity:.78; }

/* Launch enquiries: minimal responsive form, no checkout/payment behavior. */
.zavr-enquiry-form-wrap { margin-block:14px 18px; border:1px solid var(--zavr-border,#ddd); border-radius:12px; padding:12px 16px; }
.zavr-enquiry-form-wrap > summary { cursor:pointer; font-weight:650; }
.zavr-enquiry-form { padding-top:15px; display:grid; gap:12px; }
.zavr-enquiry-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.zavr-enquiry-form label { display:grid; gap:5px; font-weight:600; }
.zavr-enquiry-form input:not([type=checkbox]),.zavr-enquiry-form textarea { display:block; box-sizing:border-box; width:100%; max-width:100%; padding:10px 12px; border-radius:9px; border:1px solid var(--zavr-border,#ccc); background:var(--zavr-surface,#fff); color:inherit; font:inherit; }
.zavr-enquiry-form__check { display:flex !important; flex-direction:row; align-items:flex-start; gap:9px !important; font-size:.94em; font-weight:400 !important; }
.zavr-enquiry-form__check input { margin-top:.3em; }
.zavr-enquiry-form__honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.zavr-enquiry-feedback { padding:9px 12px; background:var(--zavr-surface-muted,#f3f4f6); border-radius:8px; }
@media(max-width:640px){.zavr-enquiry-form__grid{grid-template-columns:minmax(0,1fr)}}


/* P0 functional first-visit booking entry — reuses existing ZAVR card and trip components. */
.zavr-booking-entry{padding-block:clamp(1.5rem,4vw,3rem)}
.zavr-booking-entry__empty{border:1px solid var(--zavr-ui-border,#dce2e8);border-radius:var(--zavr-radius-card,14px);padding:1.25rem}
.zavr-booking-entry__links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
.zavr-booking-entry__links a{font-weight:600}
