/* Samuel Roofing — site-wide enhancements: mobile overflow guard, sticky mobile CTA, FAQ accordion */

/* ── 1. Kill horizontal overflow site-wide (overflow-x:clip preserves position:sticky) ── */
html{overflow-x:clip}
body{overflow-x:clip;max-width:100%}
img,svg,video,iframe,table{max-width:100%}
/* leave room so the sticky mobile bar never covers footer content */
@media(max-width:767px){body{padding-bottom:4.9rem}}

/* ── 2. Sticky mobile call-to-action bar (mobile only) ── */
.srf-mobilecta{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;gap:.5rem;
  padding:.6rem .8rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom));
  background:rgba(14,42,71,.97);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -4px 18px rgba(7,23,39,.28)}
.srf-mobilecta a{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  border-radius:9999px;padding:.72rem .5rem;font-size:.9rem;font-weight:600;line-height:1;
  text-decoration:none;white-space:nowrap}
.srf-mobilecta .srf-cta-book{background:#D4A017;color:#1B2E3D}
.srf-mobilecta .srf-cta-call{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.28)}
.srf-mobilecta svg{flex:0 0 auto}
@media(min-width:768px){.srf-mobilecta{display:none}}

/* ── 3. FAQ accordion ── */
.srf-faq-cat{margin-top:3rem}
.srf-faq-cat:first-of-type{margin-top:0}
.srf-acc{border-bottom:1px solid var(--color-border,#E6EBF0)}
.srf-acc-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:1.15rem 0;font-family:var(--font-serif,"Playfair Display",Georgia,serif);
  font-size:1.12rem;line-height:1.35;color:var(--color-primary,#0E2A47);font-weight:500}
.srf-acc-q:hover{color:#3889B9}
.srf-acc-q:focus-visible{outline:2px solid #3889B9;outline-offset:3px;border-radius:4px}
.srf-acc-ic{flex:0 0 auto;width:1.35rem;height:1.35rem;margin-top:.18rem;position:relative;transition:transform .3s ease}
.srf-acc-ic::before,.srf-acc-ic::after{content:"";position:absolute;background:currentColor;border-radius:2px}
.srf-acc-ic::before{top:50%;left:12%;right:12%;height:2px;transform:translateY(-50%)}
.srf-acc-ic::after{left:50%;top:12%;bottom:12%;width:2px;transform:translateX(-50%);transition:opacity .3s ease}
.srf-acc-q[aria-expanded="true"] .srf-acc-ic::after{opacity:0}
.srf-acc-panel{height:0;overflow:hidden;transition:height .32s ease}
.srf-acc-panel>div{min-height:0}
.srf-acc-body{padding:.1rem 0 1.35rem;color:var(--color-muted-foreground,#5C6B7D);line-height:1.65}
.srf-acc-meta{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--color-muted-foreground,#5C6B7D);margin-bottom:.55rem}
.srf-acc-body a{color:#3889B9;text-decoration:underline}
@media(max-width:767px){.srf-acc-q{font-size:1.04rem;padding:1.05rem 0}}
@media(prefers-reduced-motion:reduce){.srf-acc-panel,.srf-acc-ic,.srf-acc-ic::after{transition:none}}
