/* ══════════════════════════════════════════════════════════════
   BORROWED HOURS APPLIED ANIMAL RESCUE — MASTER STYLESHEET
   All pages share this file. Page-specific overrides are inline.

   IMAGE INSTRUCTIONS:
   ───────────────────
   This site supports images via URL throughout. Look for any
   element with class "img-slot" or CSS comments marked
   🖼️ IMAGE URL to know where to paste your image URLs.
   
   Example:
     <div class="img-slot" style="background-image:url('https://your-cdn.com/photo.jpg')"></div>
   
   All image containers have fallback gradient backgrounds so
   the site looks polished even without images loaded.
   ══════════════════════════════════════════════════════════════ */

/* ── RESET ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

/* ── DESIGN TOKENS ── */
:root{
  --amber:#E27D12;
  --amber-deep:#C46A08;
  --amber-glow:#F5A623;
  --amber-tint:rgba(226,125,18,.07);
  --amber-tint-mid:rgba(226,125,18,.14);
  --cream:#FDFAF5;
  --cream-warm:#F7F0E3;
  --white:#FFFFFF;
  --charcoal:#171512;
  --bark:#3B3430;
  --stone:#6B6460;
  --stone-light:#9E9892;
  --border:#E8E2DA;
  --sage:#2D6A4F;
  --sage-light:#D8F3DC;
  --sage-dark:#1B4332;
  --urgent:#C62828;
  --urgent-light:#FFEBEE;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Nunito Sans','Segoe UI',Tahoma,sans-serif;
  --shadow-sm:0 1px 8px rgba(23,21,18,.05);
  --shadow-md:0 4px 20px rgba(23,21,18,.08);
  --shadow-lg:0 8px 36px rgba(23,21,18,.12);
  --radius:14px;
  --radius-sm:10px;
  --max-w:1080px;
  --max-narrow:620px;
  --header-h:54px;
  --ribbon-h:34px;
}

html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--sans);color:var(--charcoal);background:var(--cream);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  min-height:100vh;display:flex;flex-direction:column;
}
a{color:var(--amber);text-decoration:none;transition:color .2s}
a:hover{color:var(--amber-deep)}
img{max-width:100%;display:block}
button{font-family:var(--sans)}

/* ── UTILITIES ── */
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 20px}
.wrap--narrow{max-width:var(--max-narrow);margin:0 auto;padding:0 20px}
.tc{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ── IMAGE SLOT — paste your image URLs on these ── */
/* 🖼️ IMAGE URL: Set background-image inline on any .img-slot element */
.img-slot{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  /* Fallback gradient shown when no image URL is set */
  background-color:#D4C5B2;
}

/* ── SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}
.reveal.vis{opacity:1;transform:translateY(0)}

/* ══════════════════════════════════════════════════════════════
   URGENCY RIBBON
   ══════════════════════════════════════════════════════════════ */
.ribbon{
  background:linear-gradient(90deg,var(--urgent),#D32F2F,var(--urgent));
  background-size:200% 100%;animation:ribShift 4s ease infinite;
  color:#fff;text-align:center;padding:8px 16px;
  font-size:.74rem;font-weight:700;letter-spacing:.2px;
  position:sticky;top:0;z-index:9999;
  min-height:var(--ribbon-h);display:flex;align-items:center;justify-content:center;
}
@keyframes ribShift{0%,100%{background-position:0 0}50%{background-position:100% 0}}
.ribbon-inner{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.ribbon-timer{background:rgba(0,0,0,.25);padding:2px 8px;border-radius:6px;font-variant-numeric:tabular-nums;letter-spacing:1px}
.ribbon a,.ribbon a:hover{color:#fff;text-decoration:underline;text-underline-offset:2px}

/* ══════════════════════════════════════════════════════════════
   SITE HEADER
   ══════════════════════════════════════════════════════════════ */
.hdr{
  background:var(--white);padding:0 20px;
  display:flex;align-items:center;justify-content:space-between;
  box-shadow:var(--shadow-sm);position:sticky;
  top:var(--ribbon-h);z-index:9998;height:var(--header-h);
}
.hdr-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.hdr-mark{
  width:34px;height:34px;background:var(--amber);border-radius:8px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.hdr-mark svg{width:20px;height:20px}
.hdr-wordmark{font-family:var(--serif);font-size:.92rem;font-weight:700;line-height:1.15;color:var(--charcoal)}
.hdr-wordmark small{font-family:var(--sans);font-size:.5rem;color:var(--stone);display:block;text-transform:uppercase;letter-spacing:1.8px;font-weight:600}

/* Nav */
.nav{display:flex;align-items:center;gap:2px}
.nav a{
  font-size:.78rem;font-weight:700;color:var(--bark);
  padding:7px 11px;border-radius:8px;transition:all .15s;
  text-decoration:none;white-space:nowrap;
}
.nav a:hover,.nav a.cur{background:var(--amber-tint);color:var(--amber)}
.nav-cta{
  background:var(--amber) !important;color:#fff !important;
  border-radius:24px !important;padding:8px 18px !important;margin-left:6px !important;
  box-shadow:0 2px 10px rgba(226,125,18,.25);
}
.nav-cta:hover{background:var(--amber-deep) !important}

/* Hamburger */
.hbg{display:none;background:none;border:none;cursor:pointer;padding:8px;-webkit-tap-highlight-color:transparent}
.hbg span{display:block;width:22px;height:2px;background:var(--charcoal);margin:5px 0;transition:all .3s;border-radius:2px}
.mob-menu{
  display:none;position:fixed;inset:0;
  top:calc(var(--ribbon-h) + var(--header-h));
  background:var(--white);z-index:9997;padding:16px 20px;
  flex-direction:column;gap:2px;overflow-y:auto;
}
.mob-menu.open{display:flex}
.mob-menu a{
  font-size:1rem;font-weight:700;color:var(--bark);
  padding:14px 16px;border-radius:var(--radius-sm);
  text-decoration:none;transition:background .15s;
}
.mob-menu a:hover,.mob-menu a.cur{background:var(--amber-tint);color:var(--amber)}
.mob-menu .nav-cta{
  background:var(--amber);color:#fff !important;text-align:center;
  border-radius:28px;margin-top:8px;
}
@media(max-width:740px){.nav{display:none}.hbg{display:block}}

/* ══════════════════════════════════════════════════════════════
   SECTIONS
   ══════════════════════════════════════════════════════════════ */
.sec{padding:56px 20px}
.sec--white{background:var(--white)}
.sec--cream{background:var(--cream)}
.sec--warm{background:var(--cream-warm)}
.sec--dark{background:var(--charcoal);color:#fff}
.sec--green{background:linear-gradient(135deg,var(--sage-dark),var(--sage));color:#fff}

.sec-eyebrow{
  font-size:.66rem;text-transform:uppercase;letter-spacing:2.5px;
  color:var(--amber);font-weight:700;margin-bottom:10px;
}
.sec-title{font-family:var(--serif);font-size:clamp(1.35rem,3.8vw,1.75rem);line-height:1.25;margin-bottom:14px}
.sec-sub{font-size:.9rem;color:var(--stone);line-height:1.7;margin-bottom:22px}

/* ══════════════════════════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sans);font-weight:800;border:none;cursor:pointer;
  border-radius:50px;transition:all .22s;text-decoration:none;
  line-height:1.2;
}
.btn--primary{
  background:var(--amber);color:#fff;padding:15px 34px;font-size:1rem;
  box-shadow:0 4px 22px rgba(226,125,18,.3);position:relative;overflow:hidden;
}
.btn--primary:hover{background:var(--amber-deep);color:#fff;transform:translateY(-2px);box-shadow:0 6px 28px rgba(226,125,18,.4)}
.btn--primary::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
  animation:shimBtn 3.5s ease-in-out infinite;
}
@keyframes shimBtn{0%{transform:translateX(-100%)}50%,100%{transform:translateX(100%)}}
.btn--outline{
  background:transparent;color:var(--amber);padding:12px 26px;font-size:.88rem;
  border:2px solid var(--amber);
}
.btn--outline:hover{background:var(--amber);color:#fff}
.btn--sm{padding:10px 22px;font-size:.84rem}
.btn--white{background:#fff;color:var(--charcoal);box-shadow:var(--shadow-md)}
.btn--white:hover{background:var(--cream);color:var(--charcoal)}
.btn--ghost{background:transparent;color:rgba(255,255,255,.8);border:2px solid rgba(255,255,255,.3);padding:12px 26px;font-size:.88rem}
.btn--ghost:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.6)}

/* ══════════════════════════════════════════════════════════════
   CARDS
   ══════════════════════════════════════════════════════════════ */
.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card-img{height:200px;background-size:cover;background-position:center;background-color:#D4C5B2}
.card-body{padding:20px 22px}

/* ══════════════════════════════════════════════════════════════
   TRUST BADGES
   ══════════════════════════════════════════════════════════════ */
.trust-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.trust-pill{
  display:flex;align-items:center;gap:5px;
  font-size:.7rem;font-weight:800;color:var(--sage);
  background:var(--sage-light);padding:5px 12px;border-radius:20px;
  text-transform:uppercase;letter-spacing:.6px;
}
.trust-pill svg{width:13px;height:13px;fill:currentColor}

/* ══════════════════════════════════════════════════════════════
   FAQ
   ══════════════════════════════════════════════════════════════ */
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{
  padding:16px 0;font-weight:700;font-size:.88rem;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;
  user-select:none;-webkit-user-select:none;
}
.faq-q::after{content:'+';font-size:1.3rem;color:var(--amber);transition:transform .25s;font-weight:300}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s;font-size:.84rem;color:var(--stone);line-height:1.65}
.faq-item.open .faq-a{max-height:500px;padding-bottom:16px}

/* ══════════════════════════════════════════════════════════════
   INLINE CTA BANNER (used on non-landing pages)
   ══════════════════════════════════════════════════════════════ */
.cta-banner{
  background:linear-gradient(135deg,var(--charcoal) 0%,var(--bark) 100%);
  color:#fff;padding:56px 20px;text-align:center;position:relative;overflow:hidden;
}
.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(226,125,18,.1) 0%,transparent 60%)}
.cta-inner{position:relative;z-index:1;max-width:460px;margin:0 auto}
.cta-banner h2{font-family:var(--serif);font-size:1.5rem;margin-bottom:10px;line-height:1.25}
.cta-banner h2 em{color:var(--amber-glow);font-style:italic}
.cta-banner p{font-size:.9rem;opacity:.72;margin-bottom:24px;line-height:1.6}
.cta-banner .cta-micro{font-size:.7rem;opacity:.4;margin-top:14px}

/* ══════════════════════════════════════════════════════════════
   STICKY BAR
   ══════════════════════════════════════════════════════════════ */
.sticky{
  position:fixed;bottom:0;left:0;right:0;background:var(--white);
  padding:10px 16px;box-shadow:0 -4px 20px rgba(0,0,0,.1);
  z-index:9990;display:flex;align-items:center;justify-content:center;gap:12px;
  transform:translateY(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
}
.sticky.show{transform:translateY(0)}
.sticky-text{font-size:.78rem;font-weight:600}
.sticky-text strong{color:var(--urgent)}

/* ══════════════════════════════════════════════════════════════
   TOAST NOTIFICATIONS
   ══════════════════════════════════════════════════════════════ */
.toast{
  position:fixed;bottom:72px;left:16px;right:16px;max-width:310px;
  background:var(--white);box-shadow:var(--shadow-lg);border-radius:var(--radius);
  padding:14px 16px;z-index:9991;display:flex;align-items:center;gap:11px;
  transform:translateY(calc(100% + 20px));opacity:0;
  transition:all .4s cubic-bezier(.4,0,.2,1);
}
.toast.show{transform:translateY(0);opacity:1}
.toast-av{width:34px;height:34px;border-radius:50%;background:var(--amber-tint-mid);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
.toast-bd{flex:1;font-size:.78rem;line-height:1.4}
.toast-bd strong{color:var(--charcoal)}
.toast-time{color:var(--stone-light);font-size:.68rem}
.toast-x{position:absolute;top:6px;right:10px;background:none;border:none;color:#ccc;cursor:pointer;font-size:.85rem}

/* ══════════════════════════════════════════════════════════════
   SITE FOOTER
   ══════════════════════════════════════════════════════════════ */
.ft{
  background:var(--charcoal);color:rgba(255,255,255,.5);
  padding:48px 20px 28px;margin-top:auto;
}
.ft-inner{max-width:var(--max-w);margin:0 auto}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
@media(max-width:640px){.ft-grid{grid-template-columns:1fr 1fr;gap:20px}}
@media(max-width:400px){.ft-grid{grid-template-columns:1fr;gap:16px}}

.ft-brand .ft-logo{font-family:var(--serif);font-size:1.1rem;color:#fff;margin-bottom:8px}
.ft-brand p{font-size:.78rem;line-height:1.65;max-width:260px}
.ft-col h4{font-size:.68rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--amber-glow);margin-bottom:12px;font-weight:700}
.ft-col a{display:block;font-size:.8rem;color:rgba(255,255,255,.5);margin-bottom:7px;text-decoration:none;transition:color .2s}
.ft-col a:hover{color:#fff}
.ft-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;text-align:center;font-size:.68rem;line-height:1.8}
.ft-bottom a{color:var(--amber-glow)}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media(max-width:480px){
  .sec{padding:40px 16px}
  :root{--header-h:50px;--ribbon-h:32px}
}
