/* ------------------------------------------------------------------
   SH Car Rentals — coded homepage
   Loaded only on the front page, by front-page.php.

   SPECIFICITY: everything is scoped under .sh-home so Astra's theme CSS
   cannot reach in, and so this file can never affect another page.
   ------------------------------------------------------------------ */

.sh-home{
  --ink:#1B1814;
  --ink-soft:#57514A;
  --paper:#FFFFFF;
  --tint:#F5F3F0;
  --rule:#E3DED7;
  --deep:#1F1B17;
  --deep-soft:#B9B0A5;
  --amber:#A65F02;
  --amber-br:#F5A623;
  --green-br:#25C05B;

  --w:1180px;
  --pad:clamp(18px,3vw,34px);
  --sec:clamp(38px,4.6vw,66px);

  --display:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;

  background:var(--paper);
  color:var(--ink);
  font-family:var(--serif);
  font-size:18px;
  line-height:1.62;
  overflow-x:hidden;
}
.sh-home *{box-sizing:border-box}
.sh-home img{max-width:100%;height:auto;display:block}
.sh-home .sh-wrap{max-width:var(--w);margin-inline:auto;padding-inline:var(--pad)}

/* ---------- type ---------- */
.sh-home h1,.sh-home h2,.sh-home h3,.sh-home h4,.sh-home h5,.sh-home h6{
  font-family:var(--display);
  letter-spacing:-.02em;
  text-wrap:balance;
  margin:0;
  color:inherit;
}
.sh-home h1{font-size:clamp(32px,4.2vw,50px);font-weight:800;line-height:1.04}
.sh-home h2{font-size:clamp(25px,2.7vw,34px);font-weight:700;line-height:1.14}
.sh-home h3{font-size:clamp(19px,1.7vw,21px);font-weight:700;line-height:1.2}
.sh-home h4{font-size:18px;font-weight:700;line-height:1.25}
.sh-home p{margin:0 0 1.05em}
.sh-home a{color:var(--amber);text-decoration-thickness:1px;text-underline-offset:2px}
.sh-home ul,.sh-home ol{margin:0 0 1.05em;padding-inline-start:1.25em}
.sh-home li{margin-bottom:.35em}
.sh-home li::marker{color:var(--amber)}
.sh-home strong{font-weight:600}

/* ---------- section shells ---------- */
.sh-home .sh-sec{padding-block:var(--sec)}
.sh-home .sh-tint{background:var(--tint);border-block:1px solid var(--rule)}
.sh-home .sh-body{max-width:66ch}
.sh-home .sh-body > *:last-child{margin-bottom:0}

/* editorial two-column: heading rail + body */
.sh-home .sh-split{display:grid;gap:14px}
.sh-home .sh-split > .sh-h{min-width:0}
.sh-home .sh-split > .sh-b{min-width:0;max-width:66ch}
.sh-home .sh-split > .sh-b > *:last-child{margin-bottom:0}
@media(min-width:1000px){
  .sh-home .sh-split{grid-template-columns:300px 1fr;gap:clamp(30px,4vw,62px)}
  .sh-home .sh-split > .sh-h h2{position:sticky;top:24px}
}
.sh-home .sh-krule{width:44px;height:3px;background:var(--amber-br);border-radius:2px;margin-top:14px;display:none}
@media(min-width:1000px){.sh-home .sh-krule{display:block}}
.sh-home .sh-eyebrow{
  font-family:var(--display);font-size:12.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--amber);
  margin:0 0 10px;
}

/* ---------- HERO ---------- */
.sh-home .sh-hero{background:var(--deep);color:#F2EFEA}
.sh-home .sh-hero .sh-wrap{padding-block:clamp(32px,4.4vw,58px)}
.sh-home .sh-hgrid{display:grid;gap:clamp(24px,3vw,46px);grid-template-columns:1fr;align-items:center}
@media(min-width:900px){.sh-home .sh-hgrid{grid-template-columns:1fr 1fr}}
.sh-home .sh-hero h1{color:#fff}
.sh-home .sh-hero h1 .sh-accent{color:var(--amber-br)}
.sh-home .sh-hlede{font-size:18px;line-height:1.58;color:#CDC6BC;max-width:56ch;margin:16px 0 22px}
.sh-home .sh-hlede strong{color:#fff;font-weight:600}
.sh-home .sh-hero .sh-eyebrow{color:var(--amber-br);margin-bottom:11px}
.sh-home .sh-hphoto{border-radius:10px;overflow:hidden;background:#2A251F}
.sh-home .sh-hphoto img{width:100%;height:auto;display:block}
.sh-home .sh-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.sh-home .sh-chip{
  font-family:var(--display);font-size:13px;font-weight:500;color:#DCD5CB;
  border:1px solid rgba(242,239,234,.22);border-radius:99px;padding:6px 13px;
}
.sh-home .sh-hstats{
  border-top:1px solid rgba(242,239,234,.14);
  margin-top:clamp(26px,3vw,36px);padding-top:20px;
  display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.sh-home .sh-hstats b{display:block;font-family:var(--display);font-size:23px;font-weight:700;color:var(--amber-br);font-variant-numeric:tabular-nums}
.sh-home .sh-hstats span{font-family:var(--display);font-size:13px;color:#ADA398;display:block;margin-top:2px}

/* ---------- buttons ---------- */
.sh-home .sh-btns{display:flex;flex-wrap:wrap;gap:11px}
.sh-home .sh-btn{
  display:inline-flex;align-items:center;gap:9px;border-radius:6px;
  padding:14px 22px;font-family:var(--display);font-weight:600;font-size:15.5px;
  line-height:1;text-decoration:none;border:1px solid transparent;cursor:pointer;
}
.sh-home .sh-btn svg{width:17px;height:17px;fill:currentColor;flex:none}
.sh-home .sh-btn-wa{background:var(--green-br);color:#06230E}
.sh-home .sh-btn-wa:hover{background:#1FAE50;color:#06230E}
.sh-home .sh-btn-ghost-dark{color:#F2EFEA;border-color:rgba(242,239,234,.32)}
.sh-home .sh-btn-ghost-dark:hover{border-color:rgba(242,239,234,.6);color:#fff}
.sh-home .sh-btn-solid{background:var(--deep);color:#fff}
.sh-home .sh-btn-solid:hover{background:#332C25;color:#fff}

/* ---------- tables (kept as real tables) ---------- */
.sh-home .sh-rates{margin-top:clamp(24px,2.8vw,34px)}
.sh-home .sh-ratecat{margin-bottom:clamp(26px,3vw,38px)}
.sh-home .sh-ratecat:last-child{margin-bottom:0}
.sh-home .sh-ratecat h3{margin-bottom:6px}
.sh-home .sh-ratecat > p{margin:0 0 14px;color:var(--ink-soft);font-size:16.5px;max-width:88ch}
.sh-home .sh-tablewrap,
.sh-home .sh-tablescroll{overflow-x:auto;border:1px solid var(--rule);border-radius:9px;background:#fff;-webkit-overflow-scrolling:touch}
.sh-home table{width:100%;border-collapse:collapse;font-size:16px;margin:0;min-width:660px;background:transparent}
.sh-home caption{
  text-align:start;font-family:var(--display);font-size:13px;font-weight:600;
  color:var(--ink-soft);padding:11px 15px;border-bottom:1px solid var(--rule);background:var(--tint);
}
.sh-home thead th{
  text-align:start;font-family:var(--display);font-size:12.5px;font-weight:600;
  color:var(--ink-soft);padding:10px 15px;border-bottom:1px solid var(--rule);
  white-space:nowrap;background:transparent;
}
.sh-home thead th.sh-num,.sh-home tbody td.sh-num{text-align:end}
.sh-home tbody th{
  text-align:start;font-family:var(--display);font-weight:700;font-size:16px;
  padding:12px 15px;border-bottom:1px solid var(--rule);white-space:nowrap;
}
.sh-home tbody td{padding:12px 15px;border-bottom:1px solid var(--rule)}
.sh-home tbody tr:last-child th,.sh-home tbody tr:last-child td{border-bottom:0}
.sh-home tbody tr:nth-child(even) th,.sh-home tbody tr:nth-child(even) td{background:#FAF9F8}
.sh-home td.sh-num{font-family:var(--display);font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}
.sh-home td.sh-best{color:var(--ink-soft);font-size:15.5px}
.sh-home tbody th a{color:inherit;text-decoration:none}
.sh-home tbody th a:hover{color:var(--amber);text-decoration:underline}

/* ---------- answer block ---------- */
.sh-home .sh-answer{
  background:var(--tint);border-inline-start:3px solid var(--amber-br);
  border-radius:0 8px 8px 0;padding:15px 19px;margin:0 0 1.15em;font-size:17.5px;
}
.sh-home .sh-tint .sh-answer{background:#fff}

/* ---------- CTA band ---------- */
.sh-home .sh-cta{
  background:var(--deep);color:#E9E4DD;border-radius:11px;padding:26px 28px;
  display:flex;gap:20px;justify-content:space-between;align-items:center;
  flex-wrap:wrap;margin-top:clamp(26px,3vw,36px);
}
.sh-home .sh-cta h3,.sh-home .sh-cta h4{color:#fff;font-size:21px;margin:0 0 6px}
.sh-home .sh-cta p{margin:0;color:var(--deep-soft);font-size:16px;max-width:58ch}
.sh-home .sh-cta a{color:var(--amber-br)}
.sh-home .sh-cta a.sh-btn-wa{color:#06230E}
.sh-home .sh-cta-body > *:last-child{margin-bottom:0}

/* ---------- FAQ ---------- */
.sh-home .sh-faq{display:grid;gap:8px}
.sh-home .sh-faq details{border:1px solid var(--rule);border-radius:9px;background:#fff}
.sh-home .sh-faq summary{
  cursor:pointer;list-style:none;padding:15px 46px 15px 18px;position:relative;
  font-family:var(--display);font-size:17px;font-weight:600;line-height:1.35;
}
.sh-home .sh-faq summary::-webkit-details-marker{display:none}
.sh-home .sh-faq summary::after{
  content:"";position:absolute;right:20px;top:21px;width:8px;height:8px;
  border-right:2px solid var(--amber);border-bottom:2px solid var(--amber);
  transform:rotate(45deg);transition:transform .18s ease;
}
.sh-home .sh-faq details[open] summary::after{transform:rotate(-135deg);top:25px}
.sh-home .sh-faq .sh-a{padding:0 18px 16px;color:var(--ink-soft);font-size:17px}
.sh-home .sh-faq .sh-a > *:last-child{margin-bottom:0}

/* ---------- reviews + map ---------- */
.sh-home .sh-reviews{margin:0}
.sh-home .sh-map{border:1px solid var(--rule);border-radius:10px;overflow:hidden;aspect-ratio:16/7}
.sh-home .sh-map iframe{width:100%;height:100%;border:0;display:block}

/* ---------- sticky mobile contact bar ---------- */
.sh-sticky{
  position:fixed;inset-inline:0;bottom:0;z-index:60;display:none;
  gap:1px;background:rgba(0,0,0,.12);
}
.sh-sticky a{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 8px;font-family:"Archivo",Arial,sans-serif;font-weight:600;
  font-size:15px;text-decoration:none;
}
.sh-sticky svg{width:17px;height:17px;fill:currentColor}
.sh-sticky .sh-s-wa{background:#25C05B;color:#06230E}
.sh-sticky .sh-s-call{background:#1F1B17;color:#fff}
@media(max-width:780px){
  .sh-sticky{display:flex}
  body.sh-has-sticky{padding-bottom:56px}
}

/* ---------- small screens ---------- */
@media(max-width:600px){
  .sh-home .sh-btn{width:100%;justify-content:center}
  .sh-home .sh-cta{flex-direction:column;align-items:flex-start;padding:22px}
}

/* ------------------------------------------------------------------
   BREAK OUT OF ASTRA'S CONTAINER
   front-page.php prints .sh-home inside #content > .ast-container, which is
   width-limited and padded. The coded page manages its own gutters, so the
   container is neutralised - but only on the front page, via the body class
   sh-home-v2 that sh_home_body_class() adds.
   ------------------------------------------------------------------ */
body.sh-home-v2 #content{padding:0;margin:0}
body.sh-home-v2 #content > .ast-container{max-width:none;width:100%;padding-left:0;padding-right:0;margin:0}
body.sh-home-v2 #primary,body.sh-home-v2 .site-main,body.sh-home-v2 #main{max-width:none;width:100%;margin:0;padding:0}
body.sh-home-v2 .ast-separate-container .ast-article-single{padding:0;border:0;background:transparent}

/* Inline colours carried over from the old editor content: neutralise them
   so links follow the palette and never sit blue-on-black in a CTA band. */
.sh-home span[style*="color"],.sh-home font[color]{color:inherit !important}
.sh-home .sh-cta a{color:var(--amber-br) !important}
.sh-home .sh-cta a.sh-btn-wa{color:#06230E !important}
.sh-home .sh-cta strong{color:#fff}

.sh-home .sh-tablenote{margin-top:12px;color:var(--ink-soft);font-size:16.5px;max-width:80ch}
.sh-home .sh-tablenote > *:last-child{margin-bottom:0}

/* belt-and-braces: whatever selector Astra uses for the container, the
   coded front page manages its own gutters. Scoped to the front page only. */
body.sh-home-v2 .ast-container{max-width:none !important;padding-left:0 !important;padding-right:0 !important}
body.sh-home-v2 .entry-content > *{margin-left:0;margin-right:0}
body.sh-home-v2 .site-content .ast-container{display:block !important}
