/* ══════════════════════════════════════════════════════════════
   Amor Largo — custom.css
   Site-specific overrides. Edit freely. This file is yours.
   Keep design system changes in theme.css instead.
   ══════════════════════════════════════════════════════════════ */

/*
  HOW TO USE THIS FILE:
  ─────────────────────
  • Tweak colors, font sizes, spacing without touching theme.css
  • Add Fullslate booking widget overrides here
  • Add any custom page-specific styles here
  • This file loads AFTER theme.css so it always wins

  COMMON EDITS:
  ─────────────────────
  • Change hero headline → .al-hero__h { font-size: ... }
  • Change accent color  → :root { --accent: #YOUR_COLOR; }
  • Adjust section pad   → .al-sec { padding: ... }
*/


/* ─── HERO FIX: force ALL hero text pure white, stronger overlay ─── */
/* The photo is teal/green — green or navy text disappears into it */
.al-hero__photo-overlay {
  background: rgba(12, 12, 10, 0.58) !important;  /* darker overlay */
}
.al-hero__over,
.al-hero__h,
.al-hero__h span,
.al-hero__h span:nth-child(1),
.al-hero__h span:nth-child(2),
.al-hero__p,
.al-hero__tel {
  color: #ffffff !important;
  text-shadow: 0 2px 32px rgba(0,0,0,0.35) !important;
}
.al-hero__h span:nth-child(2) {
  color: rgba(255,255,255,0.88) !important; /* slight soften on italic line only */
  text-shadow: 0 2px 40px rgba(0,0,0,0.4) !important;
}
.al-hero__over { color: rgba(255,255,255,0.65) !important; text-shadow: none !important; }
.al-hero__p    { color: rgba(255,255,255,0.75) !important; text-shadow: 0 1px 20px rgba(0,0,0,0.3) !important; }
.al-hero__tel  { color: rgba(255,255,255,0.55) !important; text-shadow: none !important; }
.cta-ghost {
  color: rgba(255,255,255,0.92) !important;
  border-color: rgba(255,255,255,0.45) !important;
}
.cta-ghost:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.75) !important;
  color: #fff !important;
}

/* ─── RESERVE SECTION FIX: restore padding that's being stripped ─── */
.al-reserve {
  padding-left:  clamp(28px, 5vw, 72px) !important;
  padding-right: clamp(28px, 5vw, 72px) !important;
  padding-top:   clamp(80px, 10vw, 140px) !important;
  padding-bottom: clamp(80px, 10vw, 140px) !important;
}
.al-reserve__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.al-reserve .sec-label,
.al-reserve .sec-h,
.al-reserve__row {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* ─── Fullslate Booking Widget: force it to match the design ─── */
.fullslate-appt-widget,
#fullslate-appt-widget {
  border: 1px solid var(--border) !important;
  background: var(--bg-card) !important;
  color: var(--text) !important;
  font-family: 'DM Sans', -apple-system, sans-serif !important;
}

/* Iframe wrapper — clean, no border */
.al-booking__iframe-wrap {
  width: 100%;
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--border);
  margin-bottom: 8px;
}
.al-booking__iframe-wrap iframe {
  display: block;
  width: 100%;
  border: none !important;
  background: transparent;
}

/* ─── KILL Astra blue button color — beats Astra's inline <style> ─── */
/*
   Astra injects a customizer-generated inline <style> in <head> that sets:
   button { background-color: #0274BE }
   Inline styles have specificity 1-0-0-0. We can't beat them with !important
   on a class selector alone, but chaining body + html gives us enough weight.
*/
html body.al-page .al-service-item__trigger,
html body.al-page .al-service-item__trigger:link,
html body.al-page .al-service-item__trigger:visited,
html body.al-page .al-service-item__trigger:hover,
html body.al-page .al-service-item__trigger:focus,
html body.al-page .al-service-item__trigger:active,
html body.al-page .al-service-item__trigger:focus-visible,
html body.al-page .al-service-item__trigger:focus-within {
  background:       transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow:       none !important;
  border:           none !important;
  outline:          none !important;
  color:            var(--text) !important;
  -webkit-appearance: none;
  appearance:       none;
}
/* Restore a11y focus ring via outline on keyboard nav only */
html body.al-page .al-service-item__trigger:focus-visible {
  outline:        1px solid var(--border) !important;
  outline-offset: 2px !important;
}

/* ─── Scroll margin so fixed nav doesn't cover section targets ─── */
#story, #proof, #services, #booking, #visit {
  scroll-margin-top: 72px;
}

/* ─── Suppress Astra scroll-to-top button ─── */
.ast-scroll-top-wrap,
#ast-scroll-top,
.ast-scroll-top {
  display: none !important;
}

/* ─── Smooth font rendering on dark backgrounds ─── */
body.al-dark {
  -webkit-font-smoothing: antialiased;
}

/* ─── Ensure external links in footer don't look broken ─── */
.al-footer a { text-decoration: none; }
