/* Brand A: Porch & Saddle (Fraunces 600 headings + Inter body). Shared token file, loaded right after site.css.
   Holiday themes (html.theme-on ...) load later and are more specific, so they still override and flip off cleanly. */
:root{--brand:#2E4A1A;--brand-hover:#3D6325;--accent:#8A5A16;--ink:#1F1610;--muted:#5C5148;--line:#ECE5DC;--tint:#F6F1EA;--base:#FFFFFF;
 --green:#2E4A1A;--green2:#3D6325;--gold:#8A5A16;--gold2:#6F4510;--cream:#1F1610;--bg:#FFFFFF;--bg2:#F6F1EA;--warm1:#F6F1EA;
 --radius-card:14px;--radius-btn:999px;--shadow:0 1px 2px rgba(31,22,16,.06),0 6px 18px rgba(31,22,16,.06)}
body,input,button,select,textarea{font-family:'Inter',sans-serif}
.bmodal-header h3,.logo-words b,.hero h1,.h2,.svc-name,.holiday-banner-text h4,.lead,.family-callout p,.pack-name,.proc-card h3,.ann-card h3,.bcard h3,.sp-name,.sw h2,.tc-q,.app-s h2,.fb-name,.yb-name,.potw-name,.faq summary,.dog-profile-name,.fav-name,.dogpage-name,.fam-hero-cap b,.mem-plan h3,h1,h2{font-family:'Fraunces',Georgia,serif;font-weight:600;font-optical-sizing:auto;letter-spacing:-.01em}
.hstat-n,.svc-amt,.tier-price,.rstat-n,.total-n,.proc-n,.puppy-badge-float .pbf-num{font-family:'Fraunces',Georgia,serif;font-weight:600;font-variant-numeric:lining-nums}
.hero h1 em,.h2 em,.bmodal-header h3 em{font-style:italic;font-weight:400}
.svc-card,.pack-card,.af,.req-box,.family-callout,.proc-card,.ann-card,.bcard,.faq details,.mem-plan{border-radius:var(--radius-card)}
.nav-cta,.btn-gold,.btn-outline,.svc-book-btn,.book-trigger-btn{border-radius:var(--radius-btn)}
/* Primary buttons in Porch Green (gold stays a small accent). Scoped to :not(.theme-on) so holiday themes keep their own buttons. */
html:not(.theme-on) .nav-cta,html:not(.theme-on) .btn-gold,html:not(.theme-on) .book-trigger-btn,html:not(.theme-on) .svc-book-btn{background:var(--brand);color:#fff!important;border-color:var(--brand)}
html:not(.theme-on) .nav-cta:hover,html:not(.theme-on) .btn-gold:hover,html:not(.theme-on) .book-trigger-btn:hover{background:var(--brand-hover)!important}
html:not(.theme-on) .btn-outline{border-color:var(--line);color:var(--brand)}
/* Kiki overlap: desktop footer gets room below its last links so they scroll clear of the fixed pup + Ask Kiki pill */
@media(min-width:900px){footer{padding-bottom:140px}}

/* ── Mobile polish (holiday harden, Oct 27 2026): 390-first ── */
@media (max-width:600px){
  /* Sticky phone bar: Book + Call + Text */
  .m-actbar{gap:6px;padding:7px;left:10px;right:10px;}
  .m-act{padding:13px 8px;font-size:.74rem;min-height:46px;letter-spacing:.4px;}
  .m-act-book{
    background:var(--brand);color:#fff!important;border-color:var(--brand);
    order:-1;flex:1.15;
  }
  html.theme-on .m-act-book{background:var(--th-accent);color:var(--th-onAccent)!important;border-color:var(--th-accent);}
  .m-act-text{flex:1;}

  /* Holiday pricing card: stop surcharge overlapping copy */
  .holiday-banner{
    flex-wrap:wrap;align-items:flex-start;gap:12px;padding:14px 16px;
  }
  .holiday-banner-text{flex:1 1 100%;min-width:0;}
  .holiday-banner-text p{font-size:.8rem;line-height:1.55;}
  .holiday-dates{
    margin-left:0;text-align:left;display:flex;align-items:baseline;gap:8px;
    width:100%;padding-top:2px;
  }
  .holiday-dates span{display:inline;font-size:.68rem;}
  .holiday-dates b{font-size:1rem;}
  .holiday-banner-cta{
    display:inline-flex;margin-top:10px;padding:10px 14px;border-radius:999px;
    background:var(--brand);color:#fff!important;font-size:.78rem;font-weight:700;
    text-decoration:none;letter-spacing:.3px;
  }
  html.theme-on .holiday-banner-cta{background:var(--th-accent);color:var(--th-onAccent)!important;}

  /* Hero: more room above sticky chrome; bigger taps */
  .hero-content{margin:0 14px 196px;padding:22px 18px 20px;border-radius:20px;}
  .hero-btns{gap:10px;}
  .hero-btns a,.hero-btns .btn-gold,.hero-btns .btn-outline{
    min-height:48px;padding:14px 18px;font-size:.9rem;justify-content:center;
  }
  .hero h1{font-size:2.15rem;line-height:1.12;}
  .hero-sub{font-size:.92rem;line-height:1.55;}

  /* Service cards: always-visible Reserve, roomy taps */
  .svc-book-btn,.svc-card:hover .svc-book-btn{
    margin:0 14px 14px 14px!important;padding:12px 18px!important;
    min-height:44px;font-size:.72rem!important;width:auto!important;
  }
  .svc-card{padding-bottom:2px;}
  .svc-head{gap:8px;flex-wrap:wrap;}
  .svc-amt{font-size:1.35rem;}

  /* Booking page quick picks */
  .book-quick{display:flex;flex-direction:column;gap:10px;max-width:360px;margin:0 auto;}
  .book-quick-btn{
    width:100%;min-height:50px;border:none;cursor:pointer;font-size:.95rem;font-weight:700;
    border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  }
  .book-quick .btn-outline{border-width:1.5px;background:#fff;}

  /* Booking modal bottom sheet: airier + bigger taps */
  .bmodal{max-height:94vh;}
  .bmodal-body{padding:18px 16px calc(28px + env(safe-area-inset-bottom))!important;}
  .bmodal-body .sp{padding:14px 14px;border-radius:14px;min-height:72px;}
  .bmodal-body .sp-name{font-size:1.02rem;}
  .bmodal-body .sp-desc{font-size:.8rem;line-height:1.45;}
  .bmodal-body .fg input,
  .bmodal-body .fg select,
  .bmodal-body .fg textarea{padding:12px 12px;font-size:16px;/* iOS no-zoom */border-radius:12px;}
  .bmodal-body .btn-fwd,.bmodal-body .cnav .btn-gold,.bmodal-body #confirmBtn{
    min-height:48px;padding:14px 20px;font-size:.9rem;border-radius:999px;
  }
  .bmodal-body .cnav{gap:10px;position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 28%);padding-top:18px;padding-bottom:4px;margin-top:12px;}
  .bk-avail{font-size:.8rem;line-height:1.5;padding:12px 12px;}
  .bk-rate-note{font-size:.78rem!important;}

  /* Theme home banner actions readable on phone */
  .th-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch;}
  .th-actions .th-btn{min-height:48px;justify-content:center;padding:12px 16px;font-size:.9rem;}

  /* Fam / memberships / FAQ tap comfort */
  .fam-actions a,.mem-plan .btn-gold,.dif-q summary{min-height:44px;}
  .faq summary{padding:14px 12px;font-size:.95rem;}
}
@media (min-width:601px){
  .book-quick{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
  .book-quick-btn{min-width:140px;min-height:46px;border:none;cursor:pointer;font-size:.9rem;font-weight:700;border-radius:999px;padding:12px 18px;}
  .holiday-banner-cta{
    display:inline-flex;margin-top:8px;padding:9px 14px;border-radius:999px;
    background:var(--brand);color:#fff!important;font-size:.78rem;font-weight:700;text-decoration:none;
  }
  html.theme-on .holiday-banner-cta{background:var(--th-accent);color:var(--th-onAccent)!important;}
}
