/* gCar portal pages — car card, company page, companies hub. Self-contained (tokens + components),
   dark-luxe by default, light via prefers-color-scheme or [data-theme=light]. Mobile-first. Prefix: oc- */
@font-face{font-family:'Fraunces';src:url(https://gcar.ae/wp-content/themes/finder-child/assets/fraunces-latin.woff2) format('woff2');font-weight:300 600;font-display:swap}
@font-face{font-family:'Manrope';src:url(https://gcar.ae/wp-content/themes/finder-child/assets/manrope-latin.woff2) format('woff2');font-weight:400 800;font-display:swap}

:root{--flame:#fd5631;--flame-2:#ff734f;--wa:#1fae5b;--wa-2:#23c466;--maxw:1280px;--ease:cubic-bezier(.2,.7,.2,1);--hdr:92px}
:root,:root[data-theme="dark"]{
  --ink:#1f1b2d;--ink-2:#191320;--ink-3:#241d33;--panel:#2a2338;--panel-2:#302842;
  --line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);
  --bronze:#dcae5c;--bronze-hi:#f0cf8c;--bronze-bg:rgba(220,174,92,.11);--bronze-bd:rgba(220,174,92,.30);
  --paper:#f5f2fa;--paper-dim:#cfc8de;--muted:#9a93ae;
  --good:#44d38a;--good-bg:rgba(68,211,138,.12);--good-bd:rgba(68,211,138,.30);--bad:#ff7a6b;
  --frost:rgba(25,19,32,.86);--shadow:0 2px 8px rgba(0,0,0,.35),0 28px 56px -22px rgba(0,0,0,.7);
  --card-grad:linear-gradient(180deg,var(--panel),var(--ink-2));
  --map-filter:invert(.9) hue-rotate(180deg) saturate(.75) brightness(.95) contrast(.95);
  --call-bg:#f5f2fa;--call-fg:#1f1b2d;--logo-bg:#fff;
  color-scheme:dark;
}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){
  --ink:#f5f1ea;--ink-2:#eee7dc;--ink-3:#ffffff;--panel:#ffffff;--panel-2:#fbf8f3;
  --line:rgba(31,20,45,.10);--line-2:rgba(31,20,45,.18);
  --bronze:#9c6f2c;--bronze-hi:#8a5c1c;--bronze-bg:rgba(156,111,44,.09);--bronze-bd:rgba(156,111,44,.28);
  --paper:#211b2e;--paper-dim:#4b4459;--muted:#766f86;
  --good:#138a4c;--good-bg:rgba(19,138,76,.09);--good-bd:rgba(19,138,76,.25);--bad:#c9412f;
  --frost:rgba(250,247,242,.9);--shadow:0 2px 8px rgba(31,20,45,.06),0 24px 50px -24px rgba(31,20,45,.25);
  --card-grad:linear-gradient(180deg,#fff,#fbf8f3);--map-filter:none;--call-bg:#211b2e;--call-fg:#fff;--logo-bg:#fff;
  color-scheme:light;
}}
:root[data-theme="light"]{
  --ink:#f5f1ea;--ink-2:#eee7dc;--ink-3:#ffffff;--panel:#ffffff;--panel-2:#fbf8f3;
  --line:rgba(31,20,45,.10);--line-2:rgba(31,20,45,.18);
  --bronze:#9c6f2c;--bronze-hi:#8a5c1c;--bronze-bg:rgba(156,111,44,.09);--bronze-bd:rgba(156,111,44,.28);
  --paper:#211b2e;--paper-dim:#4b4459;--muted:#766f86;
  --good:#138a4c;--good-bg:rgba(19,138,76,.09);--good-bd:rgba(19,138,76,.25);--bad:#c9412f;
  --frost:rgba(250,247,242,.9);--shadow:0 2px 8px rgba(31,20,45,.06),0 24px 50px -24px rgba(31,20,45,.25);
  --card-grad:linear-gradient(180deg,#fff,#fbf8f3);--map-filter:none;--call-bg:#211b2e;--call-fg:#fff;--logo-bg:#fff;
  color-scheme:light;
}

/* ---------- base ---------- */
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 8px)}
body.gcar-ocd{margin:0;background:var(--ink);color:var(--paper);font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;padding-bottom:calc(74px + env(safe-area-inset-bottom))}
@supports (overflow:clip){body.gcar-ocd{overflow-x:clip}}
.gcar-ocd *,.gcar-ocd *::before,.gcar-ocd *::after{box-sizing:border-box}
.gcar-ocd img{max-width:100%;display:block}
.gcar-ocd a{color:inherit;text-decoration:none}
.gcar-ocd [hidden]{display:none!important}
.gcar-ocd button{font:inherit;color:inherit}
.gcar-ocd h1,.gcar-ocd h2,.gcar-ocd h3{font-family:'Fraunces',Georgia,serif;font-weight:450;letter-spacing:-.012em;margin:0;text-wrap:balance}
.oc-i{flex:none;display:inline-block;vertical-align:middle}
.oc-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.oc-muted{color:var(--muted)}
html.oc-lock{overflow:hidden}
.oc-wrap{max-width:var(--maxw);margin:0 auto;padding:0 16px;position:relative}
@media(min-width:768px){.oc-wrap{padding:0 24px}}
@media(min-width:1200px){.oc-wrap{padding:0 32px}}

/* ---------- breadcrumb ---------- */
.oc-crumb ol{list-style:none;display:flex;gap:6px;margin:12px 0;padding:0;font-size:13px;color:var(--muted);white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.oc-crumb ol::-webkit-scrollbar{display:none}
.oc-crumb li{display:flex;gap:6px;align-items:center}
.oc-crumb li+li::before{content:"›";opacity:.55}
.oc-crumb a{color:var(--paper-dim)}
.oc-crumb a:hover{color:var(--bronze-hi)}
.oc-crumb [aria-current]{color:var(--muted);overflow:hidden;text-overflow:ellipsis;max-width:60vw}

/* ---------- page grid ---------- */
.oc-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"gal" "head" "aside" "main";gap:18px}
.oc-grid--co{grid-template-areas:"fleet" "aside" "info"}
@media(min-width:1024px){
  body.gcar-ocd{padding-bottom:0}
  .oc-grid{grid-template-columns:minmax(0,1fr) 372px;grid-template-areas:"head aside" "gal aside" "main aside";column-gap:40px;row-gap:22px;align-items:start}
  .oc-grid--co{grid-template-columns:minmax(0,1fr) 380px;grid-template-areas:"fleet aside" "info aside"}
  .oc-aside{grid-row:1 / span 3;align-self:stretch}
  .oc-grid--co .oc-aside{grid-row:1 / span 2}
  .oc-sticky{position:sticky;top:var(--hdr)}
}
@media(min-width:1280px){.oc-grid{grid-template-columns:minmax(0,1fr) 392px;column-gap:48px}}

/* ---------- head ---------- */
.oc-head h1{font-size:clamp(27px,4.2vw,44px);line-height:1.08}
.oc-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.oc-badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--bronze-bg);color:var(--bronze-hi);border:1px solid var(--bronze-bd)}
.oc-badge--g{background:var(--good-bg);color:var(--good);border-color:var(--good-bd)}
.oc-loc{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:12px;color:var(--paper-dim);font-size:15px}
.oc-loc>span{display:inline-flex;gap:6px;align-items:center}
.oc-loc .oc-i{color:var(--bronze)}
.oc-loc a{color:var(--bronze-hi);font-weight:700;border-bottom:1px solid var(--bronze-bd)}
.oc-iconbtn{margin-left:auto;width:40px;height:40px;border-radius:12px;border:1px solid var(--line-2);background:transparent;display:grid;place-items:center;cursor:pointer;transition:.2s var(--ease)}
.oc-iconbtn:hover{border-color:var(--bronze);color:var(--bronze-hi)}

/* ---------- gallery ---------- */
.oc-gal{position:relative;margin:0 -16px}
.oc-gal__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;background:var(--ink-2)}
.oc-gal__track::-webkit-scrollbar{display:none}
.oc-gal__s{position:relative;flex:0 0 100%;aspect-ratio:4/3;scroll-snap-align:start;padding:0;border:0;margin:0;background:var(--ink-2);cursor:zoom-in;overflow:hidden}
.oc-gal__s img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.oc-gal__cnt{position:absolute;right:14px;bottom:14px;font-size:12.5px;font-weight:700;color:#fff;background:rgba(15,10,22,.62);backdrop-filter:blur(6px);padding:5px 10px;border-radius:999px;pointer-events:none}
.oc-gal__all{display:none}
.oc-gal__more{position:absolute;inset:0;display:grid;place-items:center;font:600 30px/1 'Fraunces',serif;color:#fff;background:rgba(15,10,22,.5);backdrop-filter:blur(2px)}
.oc-gal__empty{aspect-ratio:16/9;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:var(--muted);background:radial-gradient(80% 90% at 50% 20%,var(--bronze-bg),transparent),var(--ink-2);border:1px dashed var(--line-2);font-weight:700}
@media(min-width:768px){
  .oc-gal{margin:0}
  .oc-gal__track{display:grid;gap:8px;height:clamp(330px,38vw,460px);overflow:hidden;border-radius:22px;background:transparent}
  .oc-gal__s{aspect-ratio:auto;height:100%;border-radius:0}
  .oc-gal__s:hover img{transform:scale(1.04)}
  .oc-gal__s:nth-child(n+6){display:none}
  .oc-gal--n1 .oc-gal__track{grid-template-columns:1fr}
  .oc-gal--n2 .oc-gal__track{grid-template-columns:1fr 1fr}
  .oc-gal--n3 .oc-gal__track{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
  .oc-gal--n3 .oc-gal__s:first-child{grid-row:1 / span 2}
  .oc-gal--n4 .oc-gal__track,.oc-gal--n5 .oc-gal__track{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}
  .oc-gal--n4 .oc-gal__s:first-child,.oc-gal--n5 .oc-gal__s:first-child{grid-row:1 / span 2}
  .oc-gal--n4 .oc-gal__s:nth-child(2){grid-column:span 2}
  .oc-gal__cnt{display:none}
  .oc-gal__all{display:inline-flex;align-items:center;gap:8px;position:absolute;right:14px;bottom:14px;padding:9px 14px;border-radius:12px;border:0;background:rgba(250,247,242,.94);color:#1f1b2d;font-size:13.5px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
  .oc-gal__empty{border-radius:22px}
}

/* ---------- panels ---------- */
.oc-panel,.oc-price,.oc-co{background:var(--card-grad);border:1px solid var(--line);border-radius:22px;padding:18px}
@media(min-width:1024px){.oc-price,.oc-co{padding:20px}}
.oc-panel__h{font-size:22px!important;margin:0 0 12px!important}

/* ---------- pricing ---------- */
.oc-price__hd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.oc-price__ins{display:inline-flex;gap:5px;align-items:center;letter-spacing:.02em;text-transform:none;font-size:12.5px;color:var(--good)}
.oc-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.oc-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:98px;padding:11px 10px 10px;border-radius:15px;border:1.5px solid var(--line-2);background:var(--ink-3);cursor:pointer;text-align:left;transition:border-color .2s,background .2s,box-shadow .2s}
.oc-tile:hover{border-color:var(--bronze-bd)}
.oc-tile.is-on{border-color:var(--bronze);background:linear-gradient(180deg,var(--bronze-bg),transparent 80%),var(--ink-3);box-shadow:0 0 0 3px var(--bronze-bg)}
.oc-tile:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
.oc-tile__l{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.oc-tile.is-on .oc-tile__l{color:var(--bronze-hi)}
.oc-tile__o{font-size:12px;color:var(--muted);text-decoration-thickness:1.5px;text-decoration-color:var(--bad);white-space:nowrap}
.oc-tile__o small{font-size:inherit}
.oc-tile__p{display:flex;flex-direction:column;line-height:1.02;margin-top:auto}
.oc-tile__p small{font:800 10.5px/1.2 'Manrope',sans-serif;letter-spacing:.08em;color:var(--muted)}
.oc-tile__p span{font:560 clamp(18px,5.2vw,23px)/1.05 'Fraunces',Georgia,serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.oc-tile__p--na{font:700 13px/1.3 'Manrope',sans-serif;color:var(--muted)}
.oc-tile.is-na{opacity:.85}
.oc-tile__save{display:none;position:absolute;top:9px;right:8px;font-size:10.5px;font-weight:800;color:#fff;background:var(--flame);border-radius:6px;padding:2px 5px;line-height:1.3}
@media(min-width:420px){.oc-tile__save{display:block}}
@media(min-width:1024px) and (max-width:1279px){.oc-tile__save{display:none}}
.oc-price__hr{display:flex;align-items:center;gap:6px;margin:12px 0 0;font-size:14px;color:var(--paper-dim)}
.oc-price__hr .oc-i{color:var(--bronze)}
.oc-prow{list-style:none;margin:14px 0 0;padding:0}
.oc-prow li{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line);font-size:14.5px}
.oc-prow li .oc-i{color:var(--bronze)}
.oc-prow li span{flex:1;color:var(--paper-dim)}
.oc-prow li b{font-weight:800;font-variant-numeric:tabular-nums;text-align:right}
.oc-prow li.is-good b,.oc-prow li.is-good .oc-i{color:var(--good)}
.oc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.oc-chips span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;padding:6px 10px;border-radius:999px;background:var(--ink-3);border:1px solid var(--line);color:var(--paper-dim)}
.oc-chips .oc-i{color:var(--bronze)}

/* ---------- company CTA ---------- */
.oc-co{margin-top:12px}
.oc-co__id{display:flex;align-items:center;gap:12px;border-radius:14px}
a.oc-co__id:hover .oc-co__nm b{color:var(--bronze-hi)}
.oc-co__id>.oc-i{margin-left:auto;color:var(--muted)}
.oc-co__nm{min-width:0}
.oc-co__nm small{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800}
.oc-co__nm b{display:block;font-size:16.5px;font-weight:800;line-height:1.25;transition:color .2s}
.oc-co__st{margin-top:10px}
.oc-co__cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.oc-co__cta>:only-child{grid-column:1 / -1}
.oc-co__note{margin:12px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5}

/* ---------- buttons ---------- */
.oc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:14px;border:1px solid transparent;font-weight:800;font-size:15px;line-height:1;cursor:pointer;white-space:nowrap;transition:transform .2s var(--ease),box-shadow .2s,background .2s,border-color .2s}
.oc-btn:active{transform:scale(.98)}
.oc-btn--lg{min-height:52px;font-size:16px}
.oc-btn--sm{min-height:40px;padding:0 12px;font-size:14px;border-radius:12px}
.oc-btn--call{background:var(--call-bg);color:var(--call-fg)}
.oc-btn--call:hover{box-shadow:0 10px 24px -10px rgba(0,0,0,.5);transform:translateY(-1px)}
.oc-btn--wa{background:linear-gradient(180deg,var(--wa-2),var(--wa));color:#fff;box-shadow:0 10px 24px -12px rgba(31,174,91,.8)}
.oc-btn--wa:hover{transform:translateY(-1px);box-shadow:0 14px 28px -12px rgba(31,174,91,.9)}
.oc-btn--ghost{background:transparent;border-color:var(--line-2);color:var(--paper)}
.oc-btn--ghost:hover{border-color:var(--bronze);color:var(--bronze-hi)}
.oc-btn--block{display:flex;width:100%;margin-top:16px}

/* ---------- logo ---------- */
.oc-logo{--s:48px;width:var(--s);height:var(--s);flex:none;border-radius:calc(var(--s) * .26);background:var(--logo-bg);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.oc-logo img{width:84%;height:84%;object-fit:contain}
.oc-logo--mono{background:linear-gradient(135deg,#3b3050,#221a2e);color:var(--bronze-hi);font:560 calc(var(--s) * .38)/1 'Fraunces',Georgia,serif;letter-spacing:.02em;border-color:var(--bronze-bd)}
:root[data-theme="light"] .oc-logo--mono{background:linear-gradient(135deg,#f3e6cf,#e7d4b1);color:#6d4814}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .oc-logo--mono{background:linear-gradient(135deg,#f3e6cf,#e7d4b1);color:#6d4814}}

/* ---------- open status ---------- */
.oc-open{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;white-space:nowrap}
.oc-open i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(127,127,127,.18)}
.oc-open.is-open{color:var(--good)}
.oc-open.is-open i{box-shadow:0 0 0 3px var(--good-bg);animation:ocpulse 2.4s ease-in-out infinite}
.oc-open.is-closed{color:var(--bad)}
.oc-open--sm{font-size:12.5px}
@keyframes ocpulse{50%{box-shadow:0 0 0 6px transparent}}
@media (prefers-reduced-motion:reduce){.oc-open.is-open i{animation:none}}

/* ---------- sections ---------- */
.oc-main,.oc-main2{min-width:0}
.oc-sec{margin-top:34px}
.oc-main>.oc-sec:first-child{margin-top:8px}
.oc-sec h2{font-size:clamp(22px,2.6vw,28px);line-height:1.15;margin:0 0 16px}
.oc-sec__hd{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.oc-sec__hd h2{margin:0}
.oc-count{font:800 12.5px/1 'Manrope',sans-serif;font-style:normal;color:var(--muted);background:var(--ink-3);border:1px solid var(--line);padding:4px 9px;border-radius:999px;vertical-align:.3em;margin-left:4px;letter-spacing:0}
.oc-lnk{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:800;color:var(--bronze-hi);white-space:nowrap}
.oc-lnk:hover{gap:9px}
.oc-lnk--sm{font-size:13px;margin-top:10px}
.oc-lead{font-size:17px;line-height:1.6;color:var(--paper-dim);margin:0 0 14px}
.oc-prose{color:var(--paper-dim);font-size:16px;line-height:1.72}
.oc-prose p{margin:0 0 14px}
.oc-prose h2,.oc-prose h3{font-size:20px;color:var(--paper);margin:22px 0 10px}
.oc-prose ul{padding-left:20px;margin:0 0 14px}
.oc-prose li{margin:4px 0}
.oc-prose a{color:var(--bronze-hi);border-bottom:1px solid var(--bronze-bd)}
.oc-prose strong,.oc-prose b{color:var(--paper)}

/* specs */
.oc-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
@media(min-width:640px){.oc-specs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1280px){.oc-specs{grid-template-columns:repeat(4,minmax(0,1fr))}}
.oc-specs>div{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:10px;align-items:center;padding:11px 12px;border-radius:15px;background:var(--ink-3);border:1px solid var(--line)}
.oc-specs__i{grid-row:1 / 3;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--bronze-bg);color:var(--bronze-hi)}
.oc-specs dt{font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.oc-specs dd{margin:0;font-weight:800;font-size:15px;line-height:1.25;overflow-wrap:anywhere}

/* features */
.oc-feats{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.oc-feats li{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--ink-3);border:1px solid var(--line);font-size:14px;font-weight:600}
.oc-feats li .oc-i{color:var(--good)}
.oc-feats.is-clip li:nth-child(n+13){display:none}
.oc-more{margin-top:14px;background:transparent;border:1px solid var(--line-2);border-radius:12px;padding:10px 16px;font-weight:800;font-size:14px;cursor:pointer;color:var(--paper)}
.oc-more:hover{border-color:var(--bronze);color:var(--bronze-hi)}

/* highlights */
.oc-hl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media(min-width:640px){.oc-hl{grid-template-columns:1fr 1fr}}
.oc-hl li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:var(--ink-3);border:1px solid var(--line);color:var(--paper-dim);font-size:15px;line-height:1.5}
.oc-hl li .oc-i{color:var(--bronze);margin-top:2px}
.oc-hl b{color:var(--paper)}

/* accordions */
.oc-acc details{border-top:1px solid var(--line)}
.oc-acc details:last-child{border-bottom:1px solid var(--line)}
.oc-acc--flush details:last-child{border-bottom:0}
.oc-acc summary{list-style:none;display:flex;align-items:center;gap:10px;padding:15px 2px;font-weight:800;font-size:15.5px;cursor:pointer;line-height:1.35}
.oc-acc summary::-webkit-details-marker{display:none}
.oc-acc summary>.oc-i:first-child{color:var(--bronze)}
.oc-acc summary>.oc-i:last-child{margin-left:auto;color:var(--muted);transition:transform .25s var(--ease)}
.oc-acc summary .oc-open{margin-left:auto}
.oc-acc summary .oc-open+.oc-i{margin-left:10px}
.oc-acc summary em{font:800 12px/1 'Manrope',sans-serif;font-style:normal;color:var(--muted);background:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:3px 8px}
.oc-acc details[open]>summary>.oc-i:last-child{transform:rotate(180deg)}
.oc-acc summary:hover{color:var(--bronze-hi)}
.oc-acc__b{padding:0 2px 16px;color:var(--paper-dim);font-size:15px;line-height:1.65}
.oc-acc__b p{margin:0 0 10px}
.oc-acc__b p:last-child{margin-bottom:0}

/* dealer */
.oc-dealer__hd{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.oc-dealer__name{display:block;font-weight:800;font-size:17px;line-height:1.25;margin-bottom:3px}
.oc-dealer__name:hover{color:var(--bronze-hi)}
.oc-branch{padding-bottom:14px}
.oc-branch__t{display:flex;align-items:center;gap:8px;font-size:15.5px}
.oc-branch__t .oc-i{color:var(--bronze)}
.oc-branch__a{margin:6px 0 12px;color:var(--paper-dim);font-size:14.5px;line-height:1.5}
.oc-map{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--ink-3);border:1px solid var(--line)}
.oc-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:var(--map-filter)}
.oc-blist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.oc-blist li{display:flex;flex-direction:column;gap:2px}
.oc-blist b{color:var(--paper)}
.oc-dlist{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.oc-dlist li{display:flex;gap:8px;align-items:flex-start}
.oc-dlist .oc-i{color:var(--good);margin-top:3px}
.oc-dlist b{color:var(--paper)}
.oc-areas{margin-top:12px}
.oc-areas small{display:block;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.oc-areas div{display:flex;flex-wrap:wrap;gap:6px}
.oc-areas span{font-size:12.5px;padding:5px 9px;border-radius:999px;background:var(--ink-3);border:1px solid var(--line);color:var(--paper-dim)}
.oc-fleetlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.oc-fleetlist a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--ink-3);border:1px solid var(--line);font-weight:700;font-size:14px;color:var(--paper)}
.oc-fleetlist a:hover{border-color:var(--bronze-bd);color:var(--bronze-hi)}
.oc-fleetlist em{font-style:normal;font-weight:800;color:var(--muted);font-size:12.5px}
.oc-kv{margin:0;display:grid;gap:10px}
.oc-kv>div{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:10px}
.oc-kv dt{font-weight:700;color:var(--muted);font-size:13.5px}
.oc-kv dd{margin:0;color:var(--paper);font-size:14.5px}
.oc-kv__1{grid-template-columns:1fr!important}
.oc-hours{width:100%;border-collapse:collapse;font-size:14.5px}
.oc-hours th{text-align:left;font-weight:600;color:var(--paper-dim);padding:6px 0}
.oc-hours td{text-align:right;font-weight:700;color:var(--paper);font-variant-numeric:tabular-nums}
.oc-hours tr.is-today th,.oc-hours tr.is-today td{color:var(--bronze-hi);font-weight:800}
.oc-contacts{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.oc-contacts li{display:flex;align-items:center;gap:10px;font-weight:700}
.oc-contacts .oc-i{color:var(--bronze)}
.oc-contacts a:hover{color:var(--bronze-hi)}

/* ---------- cards / rails ---------- */
.oc-railsec{margin-top:44px}
.oc-railsec .oc-sec__hd h2{flex:1;min-width:0}
.oc-rail__nav{display:none;gap:8px}
@media(min-width:1024px){.oc-rail__nav{display:flex}}
.oc-rbtn{width:38px;height:38px;border-radius:12px;border:1px solid var(--line-2);background:transparent;display:grid;place-items:center;cursor:pointer}
.oc-rbtn:hover{border-color:var(--bronze);color:var(--bronze-hi)}
.oc-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,76%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 8px;margin:0 -16px;padding-left:16px;padding-right:16px;scroll-padding:0 16px}
.oc-rail::-webkit-scrollbar{display:none}
.oc-rail>*{scroll-snap-align:start}
@media(min-width:640px){.oc-rail{grid-auto-columns:calc((100% - 42px) / 2.4)}}
@media(min-width:768px){.oc-rail{margin:0 -24px;padding-left:24px;padding-right:24px;scroll-padding:0 24px}}
@media(min-width:1024px){.oc-rail{grid-auto-columns:calc((100% - 42px) / 4);margin:0;padding-left:2px;padding-right:2px;scroll-padding:0}}
.oc-card{position:relative;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:var(--card-grad);border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;min-width:0}
.oc-card:hover{transform:translateY(-4px);border-color:var(--bronze-bd);box-shadow:var(--shadow)}
.oc-card__ph{position:relative;display:block;aspect-ratio:4/3;background:var(--ink-3);overflow:hidden}
.oc-card__ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.oc-card:hover .oc-card__ph img{transform:scale(1.05)}
.oc-card__noimg{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}
.oc-card__deal{position:absolute;top:10px;left:10px;background:var(--flame);color:#fff;font-weight:800;font-size:12px;border-radius:8px;padding:3px 7px}
.oc-card__tag{position:absolute;top:10px;right:10px;background:rgba(15,10,22,.64);backdrop-filter:blur(6px);color:#8af0bd;font-size:11px;font-weight:800;border-radius:8px;padding:4px 8px}
.oc-card__b{display:flex;flex-direction:column;gap:5px;padding:12px 14px 14px;flex:1}
.oc-card__t{font-weight:800;font-size:15.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.oc-card__m{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px;color:var(--muted);font-weight:600}
.oc-card__m i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.7}
.oc-card__v{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--paper-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oc-card__v .oc-i{color:var(--bronze)}
.oc-card__p{margin-top:auto;padding-top:8px;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px}
.oc-card__p s{width:100%;font-size:12px;color:var(--muted);text-decoration-color:var(--bad)}
.oc-card__p b{font:560 20px/1.1 'Fraunces',Georgia,serif;font-variant-numeric:tabular-nums}
.oc-card__p small{font-size:12.5px;color:var(--muted);font-weight:700}
.oc-card__p .oc-muted{font:700 14px/1.2 'Manrope',sans-serif}

/* ---------- mobile bottom bar ---------- */
.oc-mbar{position:fixed;left:0;right:0;bottom:0;z-index:950;display:flex;align-items:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--frost);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.oc-mbar__p{display:flex;align-items:baseline;gap:4px;min-width:0;white-space:nowrap}
.oc-mbar__p b{font:560 20px/1 'Fraunces',Georgia,serif;font-variant-numeric:tabular-nums}
.oc-mbar__p small{font-size:12.5px;color:var(--muted);font-weight:700}
.oc-mbar__id{display:flex;align-items:center;gap:10px;min-width:0}
.oc-mbar__id b{font-size:14px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oc-mbar__cta{margin-left:auto;display:flex;gap:8px;flex:none}
.oc-mbar .oc-btn{min-height:46px;padding:0 15px;font-size:15px}
@media(max-width:389px){.oc-mbar .oc-btn--call span{display:none}.oc-mbar .oc-btn--call{padding:0 13px}}
@media(max-width:340px){.oc-mbar .oc-btn span{display:none}}
@media(min-width:1024px){.oc-mbar{display:none}}

/* ---------- lightbox ---------- */
.oc-lb{border:0;padding:0;margin:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;background:rgba(10,7,15,.97);color:#fff;overflow:hidden}
.oc-lb::backdrop{background:rgba(10,7,15,.92)}
.oc-lb[open]{display:flex;align-items:center;justify-content:center}
.oc-lb__fig{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;height:100%;padding:56px 12px 24px}
.oc-lb__fig img{max-width:min(96vw,1100px);max-height:calc(100dvh - 120px);width:auto;height:auto;object-fit:contain;border-radius:12px;background:#111}
.oc-lb__fig figcaption{font-size:13.5px;font-weight:700;color:rgba(255,255,255,.75)}
.oc-lb__x{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:2}
.oc-lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(20,15,28,.55);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:2}
.oc-lb__prev{left:12px}.oc-lb__next{right:12px}
.oc-lb__nav:hover,.oc-lb__x:hover{background:rgba(255,255,255,.14)}
.oc-toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,20px);opacity:0;z-index:99999;background:var(--paper);color:var(--ink);font-weight:800;font-size:14px;padding:10px 16px;border-radius:12px;transition:.25s var(--ease)}
.oc-toast.is-on{opacity:1;transform:translate(-50%,0)}

/* ---------- company page ---------- */
.oc-chero{position:relative;padding:20px;border-radius:26px;background:radial-gradient(120% 140% at 0% 0%,var(--bronze-bg),transparent 55%),var(--card-grad);border:1px solid var(--line);overflow:hidden}
@media(min-width:768px){.oc-chero{padding:28px 30px}}
.oc-chero__id{display:flex;gap:16px;align-items:center}
.oc-logo--xl{--s:72px!important}
@media(min-width:768px){.oc-logo--xl{--s:96px!important}}
.oc-chero__t{min-width:0}
.oc-chero h1{font-size:clamp(25px,4vw,42px);line-height:1.1}
.oc-chero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:10px;color:var(--paper-dim);font-size:14.5px}
.oc-chero__meta>span{display:inline-flex;align-items:center;gap:6px}
.oc-chero__meta .oc-i{color:var(--bronze)}
.oc-chero__meta b{font-weight:800;color:var(--paper)}
.oc-chero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.oc-chero__cta .oc-btn{flex:1 1 140px}
@media(min-width:768px){.oc-chero__cta .oc-btn{flex:0 0 auto;min-width:160px}}
.oc-chero__hl{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:8px;color:var(--paper-dim);font-size:14.5px}
@media(min-width:768px){.oc-chero__hl{grid-template-columns:repeat(2,1fr)}}
.oc-chero__hl li{display:flex;gap:8px;align-items:flex-start}
.oc-chero__hl .oc-i{color:var(--bronze);margin-top:2px}
.oc-copage .oc-grid{margin-top:26px}
.oc-fbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
.oc-fchips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1 1 100%;min-width:0;margin:0 -16px;padding:2px 16px}
.oc-fchips::-webkit-scrollbar{display:none}
@media(min-width:768px){.oc-fchips{flex:1 1 auto;flex-wrap:wrap;margin:0;padding:0;overflow:visible}}
.oc-fchips button,.oc-tabs button{flex:none;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;border:1px solid var(--line-2);background:transparent;font-weight:800;font-size:14px;cursor:pointer;white-space:nowrap;transition:.2s}
.oc-fchips em,.oc-tabs em{font-style:normal;font-size:12px;color:var(--muted);font-weight:800}
.oc-fchips button:hover,.oc-tabs button:hover{border-color:var(--bronze-bd)}
.oc-fchips button.is-on,.oc-tabs button.is-on{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.oc-fchips button.is-on em,.oc-tabs button.is-on em{color:inherit;opacity:.65}
.oc-tabs button:disabled{opacity:.4;cursor:default}
.oc-sort{position:relative;display:inline-flex;align-items:center;gap:8px;padding:0 12px;min-height:42px;border-radius:12px;border:1px solid var(--line-2);color:var(--paper-dim);margin-left:auto}
.oc-sort select{appearance:none;-webkit-appearance:none;background:transparent;border:0;color:var(--paper);font:700 14px 'Manrope',sans-serif;padding:10px 4px;cursor:pointer;outline:0}
.oc-sort select option{background:var(--panel);color:var(--paper)}
.oc-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:640px){.oc-fgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(max-width:420px){.oc-fgrid .oc-card__b{padding:10px 11px 12px}.oc-fgrid .oc-card__t{font-size:14.5px}.oc-fgrid .oc-card__p b{font-size:18px}}
.oc-empty{display:flex;gap:12px;align-items:center;padding:20px;border-radius:18px;border:1px dashed var(--line-2);color:var(--paper-dim)}
.oc-empty p{margin:0}
.oc-empty--sm{margin-top:14px}

/* ---------- companies hub ---------- */
.oc-hub__hero{padding:14px 0 6px}
.oc-hub__hero h1{font-size:clamp(30px,5vw,54px);line-height:1.04;max-width:18ch}
.oc-hub__hero .oc-lead{max-width:64ch;margin-top:12px}
.oc-search{display:flex;align-items:center;gap:10px;max-width:620px;margin-top:18px;padding:0 16px;min-height:54px;border-radius:16px;background:var(--ink-3);border:1px solid var(--line-2);color:var(--muted);transition:border-color .2s,box-shadow .2s}
.oc-search:focus-within{border-color:var(--bronze);box-shadow:0 0 0 4px var(--bronze-bg)}
.oc-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--paper);font:600 16px 'Manrope',sans-serif;outline:0;padding:14px 0}
.oc-search input::placeholder{color:var(--muted)}
.oc-hub__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:22px 0 16px}
.oc-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1 1 100%;min-width:0;margin:0 -16px;padding:2px 16px}
.oc-tabs::-webkit-scrollbar{display:none}
@media(min-width:768px){.oc-tabs{margin:0 -24px;padding:2px 24px}}
@media(min-width:1024px){.oc-tabs{flex:1 1 auto;flex-wrap:wrap;margin:0;padding:0;overflow:visible}}
.oc-cogrid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media(min-width:640px){.oc-cogrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(min-width:1024px){.oc-cogrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.oc-cocard{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:20px;background:var(--card-grad);border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.oc-cocard:hover{transform:translateY(-3px);border-color:var(--bronze-bd);box-shadow:var(--shadow)}
.oc-cocard__top{display:flex;gap:12px;align-items:center}
.oc-cocard__t{min-width:0}
.oc-cocard h2{font:800 17px/1.25 'Manrope',sans-serif;letter-spacing:0}
.oc-cocard h2 a:hover{color:var(--bronze-hi)}
.oc-stretch::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.oc-cocard__pl{display:flex;align-items:center;gap:4px;margin-top:3px;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oc-cocard__pl .oc-i{color:var(--bronze)}
.oc-cocard__facts{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.oc-cocard__n{font-size:14px;color:var(--paper-dim);font-weight:600}
.oc-cocard__n b{font:560 22px/1 'Fraunces',Georgia,serif;color:var(--paper)}
.oc-cocard__p{font-size:13px;color:var(--muted);font-weight:600;white-space:nowrap}
.oc-cocard__p b{font:560 18px/1 'Fraunces',Georgia,serif;color:var(--paper);margin-left:2px}
.oc-cocard__p small{font-size:12px;margin-left:2px}
.oc-cocard__cta{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.oc-cocard__cta>:only-child{grid-column:1 / -1}
.oc-cocard>.oc-open{position:relative;z-index:0}
.oc-dir{margin-top:48px}
.oc-dir p{margin:-8px 0 16px}
.oc-dirlist{list-style:none;margin:0;padding:0;columns:1;column-gap:24px}
@media(min-width:640px){.oc-dirlist{columns:2}}
@media(min-width:1024px){.oc-dirlist{columns:3}}
.oc-dirlist li{break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.oc-dirlist a{font-weight:700;font-size:14.5px}
.oc-dirlist a:hover{color:var(--bronze-hi)}
.oc-dirlist span{font-size:12.5px;color:var(--muted)}
.oc-dirlist.is-clip li:nth-child(n+61){display:none}
.oc-hub .oc-mbar{display:none}
.oc-page-hub{padding-bottom:0!important}
main.oc-wrap{padding-bottom:56px}

/* buttons are <a>: beat `.gcar-ocd a{color:inherit}` (0,1,1) so labels never take the text colour of the page */
.gcar-ocd a.oc-btn--call,.oc-mbar a.oc-btn--call{color:var(--call-fg)}
.gcar-ocd a.oc-btn--wa,.oc-mbar a.oc-btn--wa{color:#fff}
.gcar-ocd a.oc-btn--ghost{color:var(--paper)}
.gcar-ocd a.oc-btn--ghost:hover{color:var(--bronze-hi)}
.oc-depopt{font-weight:600;font-size:12.5px;color:var(--muted)}
