/* Ficha individual da viatura — galeria + cartão de especificações, equipamento por
   categoria, "Onde estamos" partilhado, e barra inferior fixa.
   Ficheiro isolado de a1-overrides.css para não publicar a correção pendente do Hero. */

body.vehicle-page-active{padding-bottom:84px}

/* Correção pós-deploy (2026-08-20) — "Fale connosco" (a1-overrides.css) passou
   a botão fixo no canto inferior direito em qualquer resolução (antes só
   acontecia em mobile/tablet); nesta página a barra sticky abaixo exige a
   mesma folga extra que já existia só para ≤900px, agora também no desktop. */
body.vehicle-page-active .public-contact-widget{bottom:108px}

.vehicle-page{padding:28px 0 64px}
.public-container{width:min(calc(100% - 2rem),var(--a1-width,1280px));margin-inline:auto}

/* Hero: galeria (40%) + cartão (60%) — como na referência */
.vehicle-hero{position:relative;display:grid;grid-template-columns:2fr 3fr;gap:32px;align-items:stretch}
.vehicle-hero__badge{position:absolute;top:14px;left:14px;z-index:3;padding:.4rem .7rem;border-radius:6px;font-size:12px;font-weight:800;letter-spacing:.03em}

.vehicle-hero__gallery{display:flex;flex-direction:column;align-items:center}
.vehicle-hero__gallery .public-gallery{width:100%}
.vehicle-hero__gallery .public-gallery__stage{position:relative;display:block;width:100%;overflow:hidden;border-radius:20px;background:var(--soft)}
.vehicle-hero__gallery .public-gallery__stage img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center center}
.vehicle-hero__gallery .public-gallery__thumbs{justify-content:center;gap:8px;padding-top:6px;scrollbar-width:none;-ms-overflow-style:none}
.vehicle-hero__gallery .public-gallery__thumbs::-webkit-scrollbar{display:none}
.vehicle-hero__gallery .public-gallery__thumbs button{flex:0 0 72px;width:72px;border:2px solid transparent;border-radius:8px;overflow:hidden;opacity:.65}
.vehicle-hero__gallery .public-gallery__thumbs button[aria-current="true"]{border-color:var(--gold);opacity:1}
.vehicle-hero__gallery .public-gallery__thumbs img{aspect-ratio:4/3}

/* Setas discretas sobre a fotografia, não faixas laterais navy */
.vehicle-hero__gallery .public-gallery__stage [data-gallery-prev],.vehicle-hero__gallery .public-gallery__stage [data-gallery-next]{position:absolute;top:50%;z-index:2;display:grid;width:38px;height:38px;place-items:center;margin:0;padding:0;border:0;border-radius:50%;background:rgba(7,26,52,.5);color:#fff;font-size:20px;line-height:1;transform:translateY(-50%);cursor:pointer}
.vehicle-hero__gallery .public-gallery__stage [data-gallery-prev]{left:10px}
.vehicle-hero__gallery .public-gallery__stage [data-gallery-next]{right:10px}
.vehicle-hero__gallery .public-gallery__stage [data-gallery-prev]:hover,.vehicle-hero__gallery .public-gallery__stage [data-gallery-next]:hover{background:var(--gold);color:#071a33}

.public-gallery__expand{position:absolute;top:12px;right:12px;z-index:2;display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:8px;background:rgba(7,26,52,.55);color:#fff;cursor:pointer}
.public-gallery__expand svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.public-gallery__expand:hover,.public-gallery__expand:focus-visible{background:var(--gold);color:#071a33}

/* Lightbox — fotografia em ecrã inteiro */
.public-lightbox{position:fixed;inset:0;z-index:200;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:24px;background:rgba(4,10,20,.94)}
.public-lightbox[hidden]{display:none}
.public-lightbox img{grid-column:2;max-width:100%;max-height:calc(100vh - 100px);margin:auto;object-fit:contain}
.public-lightbox__prev,.public-lightbox__next{display:grid;width:52px;height:52px;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:32px;cursor:pointer}
.public-lightbox__prev:hover,.public-lightbox__next:hover{background:rgba(255,255,255,.24)}
.public-lightbox__close{position:absolute;top:20px;right:24px;display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
.public-lightbox__close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.public-lightbox__close:hover{background:rgba(255,255,255,.24)}
.public-lightbox__count{position:absolute;bottom:20px;left:50%;margin:0;transform:translateX(-50%);color:#fff;font-size:14px;font-weight:700}
.vehicle-hero__photo-count{margin:4px 0 0;color:var(--muted);font-size:13px;text-align:center}

.vehicle-hero__card{display:flex;flex-direction:column;padding:32px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 4px 30px rgba(7,26,52,.06)}

.vehicle-hero__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.vehicle-hero__identity h1{margin:0;color:#000;font-size:30px;font-weight:800;line-height:1.1}
.vehicle-hero__identity p{margin:6px 0 0;color:#000;font-size:16px;font-weight:600}
.vehicle-hero__price-area{display:flex;flex:0 0 auto;align-items:center;gap:12px}
.vehicle-hero__price{text-align:right}
.vehicle-hero__price span{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.vehicle-hero__price strong{display:block;margin-top:4px;color:var(--gold);font-size:34px;font-weight:800;white-space:nowrap}
.vehicle-hero__compare{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:2px solid var(--gold);border-radius:9px;background:rgba(216,154,40,.08);color:var(--gold);font-size:13px;font-weight:800;white-space:nowrap;cursor:default}
.vehicle-hero__compare svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.vehicle-hero__specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px;margin:24px 0;padding:0}
.vehicle-hero__specs>div{display:flex;align-items:center;gap:12px}
.vehicle-hero__spec-icon{display:grid;flex:0 0 auto;place-items:center;color:var(--gold)}
.vehicle-hero__spec-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vehicle-hero__specs dt{margin:0;color:var(--muted);font-size:12px;font-weight:500}
.vehicle-hero__specs dd{margin:3px 0 0;color:#000;font-size:16px;font-weight:700}

.vehicle-hero__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding-top:20px}
.vehicle-hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.vehicle-hero__cta{display:inline-flex;flex:0 0 auto;min-height:50px;align-items:center;justify-content:center;gap:8px;padding:0 26px;border:2px solid var(--navy);border-radius:9px;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap;cursor:pointer}
.vehicle-hero__cta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vehicle-hero__cta--primary{background:var(--navy);color:#fff}
.vehicle-hero__cta--primary:hover,.vehicle-hero__cta--primary:focus-visible{background:var(--gold);border-color:var(--gold);color:#071a33}
.vehicle-hero__cta--outline{border-color:var(--gold);background:#fff;color:var(--gold)}
.vehicle-hero__cta--outline:hover,.vehicle-hero__cta--outline:focus-visible{background:var(--soft)}

.vehicle-hero__secondary{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:8px}
.vehicle-hero__secondary button{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:none;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}
.vehicle-hero__secondary button:hover{color:var(--navy)}
.vehicle-hero__secondary svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Secções (descrição, equipamento por categoria, localização) */
.vehicle-section{padding:40px 0}
.vehicle-section h2{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:var(--navy);font-size:22px;font-weight:800}
.vehicle-section__icon{display:grid;flex:0 0 auto;place-items:center;color:var(--gold)}
.vehicle-section__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vehicle-description{max-width:820px;margin:0;color:#33445a;font-size:16px;line-height:1.75}
.vehicle-description.is-collapsible{max-height:84px;overflow:hidden}
.vehicle-description.is-collapsible.is-expanded{max-height:none}
.vehicle-observations-toggle{display:inline-flex;margin-top:12px;padding:0;border:0;background:none;color:var(--gold);font-size:13px;font-weight:800;text-decoration:underline;cursor:pointer}
.vehicle-observations-toggle:hover,.vehicle-observations-toggle:focus-visible{color:var(--navy)}

.equipment-public{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.equipment-public li{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#000;font-size:14px;font-weight:600}
.equipment-public li svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Características — bloco expansível */
.vehicle-features-toggle-wrap{display:flex;justify-content:center;margin:8px 0 32px}
.vehicle-features-toggle{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;border:2px solid var(--gold);border-radius:999px;background:#fff;color:#000;font-size:14px;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:background .2s ease}
.vehicle-features-toggle:hover,.vehicle-features-toggle:focus-visible{background:var(--soft)}
.vehicle-features-toggle__icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid var(--gold);border-radius:50%;color:var(--gold);font-size:16px;line-height:1}
.vehicle-features-panel[hidden]{display:none}
.vehicle-feature-category{margin-top:36px}
.vehicle-feature-category:first-child{margin-top:0}
.vehicle-feature-category h3{display:flex;align-items:center;gap:10px;margin:0 0 16px;color:#000;font-size:17px;font-weight:800}
.vehicle-feature-category__icon{display:grid;flex:0 0 auto;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(216,154,40,.12);color:var(--gold)}
.vehicle-feature-category__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vehicle-equipment-more{display:inline-flex;margin-top:12px;padding:0;border:0;background:none;color:var(--gold);font-size:13px;font-weight:800;text-decoration:underline;cursor:pointer}
.vehicle-equipment-more:hover,.vehicle-equipment-more:focus-visible{color:var(--navy)}

.vehicle-section--location h2.vehicle-section__heading--centered{display:block;justify-content:center;text-align:center;color:#000;font-size:26px}
.vehicle-section__heading--centered small{display:block;margin-top:4px;color:var(--gold);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}

/* Barra inferior fixa */
.vehicle-sticky{position:fixed;right:0;bottom:0;left:0;z-index:80;border-top:1px solid var(--line);background:#fff;box-shadow:0 -8px 24px rgba(7,26,52,.1)}
.vehicle-sticky__inner{display:flex;align-items:center;gap:20px;padding:10px 0}
.vehicle-sticky__identity{display:flex;min-width:0;flex:1 1 220px;align-items:center;gap:10px}
.vehicle-sticky__identity img{width:52px;height:40px;flex:0 0 auto;border-radius:6px;object-fit:cover}
.vehicle-sticky__identity div{min-width:0}
.vehicle-sticky__identity strong{display:block;overflow:hidden;color:#000;font-size:14px;font-weight:800;white-space:nowrap;text-overflow:ellipsis}
.vehicle-sticky__identity span{display:block;overflow:hidden;color:var(--muted);font-size:12px;white-space:nowrap;text-overflow:ellipsis}

.vehicle-sticky__meta{display:flex;flex:1 1 340px;gap:22px;margin:0;padding:0;list-style:none}
.vehicle-sticky__meta li{display:flex;align-items:center;gap:8px;white-space:nowrap}
.vehicle-sticky__meta-icon{display:grid;flex:0 0 auto;place-items:center;color:var(--gold)}
.vehicle-sticky__meta-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vehicle-sticky__meta-text{display:flex;flex-direction:column;gap:1px}
.vehicle-sticky__meta-text small{color:var(--muted);font-size:11px;font-weight:600}
.vehicle-sticky__meta-text strong{color:#000;font-size:14px;font-weight:800}

.vehicle-sticky__price-block{display:flex;flex:0 0 auto;flex-direction:column;gap:1px}
.vehicle-sticky__price-block small{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.vehicle-sticky__price{margin:0;color:var(--gold);font-size:24px;font-weight:800;white-space:nowrap}

.vehicle-sticky__actions{display:flex;flex:0 0 auto;gap:8px}
.vehicle-sticky__cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;border:2px solid var(--navy);border-radius:7px;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap;cursor:pointer}
.vehicle-sticky__cta svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vehicle-sticky__cta--primary{background:var(--navy);color:#fff}
.vehicle-sticky__cta--outline{border-color:var(--gold);background:#fff;color:var(--gold)}
.vehicle-sticky__cta--ghost{border-color:var(--line);background:#fff;color:var(--muted);cursor:default}

.vehicle-sticky__top{display:grid;flex:0 0 auto;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);cursor:pointer}
.vehicle-sticky__top svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:1100px){
    .vehicle-sticky__meta li:nth-child(3){display:none}
}

@media(max-width:900px){
    .vehicle-hero{grid-template-columns:1fr;gap:22px}
    .vehicle-hero__card{padding:26px;gap:22px}
    .vehicle-hero__identity h1{font-size:26px}
    .vehicle-hero__price strong{font-size:30px}
    .vehicle-hero__specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
    .equipment-public{grid-template-columns:repeat(2,minmax(0,1fr))}
    .vehicle-sticky__meta{display:none}
    .vehicle-sticky__cta--ghost{display:none}
    body.vehicle-page-active{padding-bottom:74px}
    body.vehicle-page-active .public-contact-widget{bottom:96px}
}

@media(max-width:600px){
    .public-lightbox{grid-template-columns:auto 1fr auto;gap:4px;padding:12px}
    .public-lightbox img{max-height:calc(100vh - 70px)}
    .public-lightbox__prev,.public-lightbox__next{width:40px;height:40px;font-size:24px}
    .public-lightbox__close{top:12px;right:12px;width:38px;height:38px}
    .vehicle-section{padding:28px 0}
    .vehicle-section h2{font-size:19px}
    .equipment-public{grid-template-columns:1fr}
    .vehicle-feature-category h3{font-size:16px}
    .vehicle-features-toggle{padding:12px 22px;font-size:13px}
    .vehicle-hero__card{padding:20px;gap:18px}
    .vehicle-hero__header{flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:18px}
    .vehicle-hero__identity h1{font-size:23px}
    .vehicle-hero__price-area{align-items:flex-start;width:100%}
    .vehicle-hero__price{text-align:left}
    .vehicle-hero__price strong{font-size:26px}
    .vehicle-hero__specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
    .vehicle-hero__spec-icon svg{width:22px;height:22px}
    .vehicle-hero__bottom{flex-direction:column;align-items:stretch;gap:18px}
    .vehicle-hero__actions{flex-direction:column}
    .vehicle-hero__cta{width:100%}
    .vehicle-hero__secondary{flex-direction:row;align-items:center;justify-content:center;gap:20px}
    .vehicle-sticky__inner{gap:10px;padding:8px 0}
    .vehicle-sticky__identity{flex-basis:auto}
    .vehicle-sticky__identity span{display:none}
    .vehicle-sticky__price{font-size:17px}
    .vehicle-sticky__cta--ghost{display:none}
    .vehicle-sticky__cta span{display:none}
    .vehicle-sticky__cta{padding:0 10px}
    body.vehicle-page-active{padding-bottom:68px}
}
