/* ==========================================================
   The Lucky Fox Poconos — modern cabin luxe
   Palette: deep pine, warm cream, fox orange
   ========================================================== */
:root{
  --pine:#16241d;
  --pine-2:#1f3329;
  --cream:#f7f2e8;
  --cream-2:#efe7d6;
  --fox:#e0762f;
  --fox-soft:#f0a368;
  --ink:#22281f;
  --mut:#6f7a6e;
  --radius:22px;
  --font-display:'Fraunces',serif;
  --font-body:'Outfit',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:var(--cream);line-height:1.6;font-weight:300}
img{display:block;max-width:100%}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.08;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}

/* ---------- buttons ---------- */
.btn{display:inline-block;padding:.8rem 1.6rem;border-radius:999px;font-weight:500;font-size:.95rem;transition:transform .18s ease, background .18s ease, color .18s ease;border:1.5px solid transparent;cursor:pointer;font-family:var(--font-body)}
.btn--solid{background:var(--fox);color:#fff}
.btn--solid:hover{background:#c96425;transform:translateY(-2px)}
.btn--ghost{border-color:rgba(255,255,255,.6);color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.12)}
.btn--lg{padding:1rem 2.1rem;font-size:1.02rem}
.btn--full{width:100%}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.7rem 5vw;background:linear-gradient(rgba(22,36,29,.85),rgba(22,36,29,.55) 70%,transparent);backdrop-filter:blur(6px);transition:background .3s}
.nav.scrolled{background:rgba(22,36,29,.96);box-shadow:0 4px 24px rgba(0,0,0,.25)}
.nav__brand{display:flex;align-items:center;gap:.7rem;color:#fff;font-family:var(--font-display);font-size:1.08rem;line-height:1.1}
.nav__brand em{display:block;font-style:normal;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--fox-soft);font-family:var(--font-body)}
.nav__logo{height:44px;width:auto}
.nav__links{display:flex;align-items:center;gap:2rem;color:#fff;font-size:.95rem}
.nav__links a:not(.btn){opacity:.85}
.nav__links a:not(.btn):hover{opacity:1;color:var(--fox-soft)}
.nav__cta{padding:.55rem 1.3rem}
.nav__burger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
.nav__burger span{width:24px;height:2px;background:#fff;transition:.25s}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero__media,.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,36,29,.55),rgba(22,36,29,.35) 45%,rgba(22,36,29,.78))}
.hero__content{position:relative;z-index:2;color:#fff;padding:0 6vw;max-width:880px}
.hero__eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;margin-bottom:1.4rem;color:var(--cream-2)}
.fox-dot{width:9px;height:9px;border-radius:50%;background:var(--fox);box-shadow:0 0 0 4px rgba(224,118,47,.3)}
.hero h1{font-size:clamp(2.6rem,7.5vw,5.4rem);margin-bottom:1.2rem}
.lucky{color:var(--fox-soft);font-style:italic}
.hero__sub{max-width:34rem;margin:0 auto 2rem;font-size:1.08rem;color:rgba(255,255,255,.88)}
.hero__actions{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
.hero__scroll{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:2;color:#fff;font-size:1.3rem;opacity:.7;animation:bob 2.2s infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

/* ---------- ticker ---------- */
.ticker{background:var(--fox);color:#fff;overflow:hidden;padding:.85rem 0}
.ticker__track{display:flex;gap:2.2rem;white-space:nowrap;width:max-content;animation:ticker 30s linear infinite;font-size:.92rem;letter-spacing:.12em;text-transform:uppercase;font-weight:400}
.ticker__track i{font-style:normal}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ---------- promo strip (managed from /admin) ---------- */
.promo{background:var(--cream-2);border-bottom:3px solid var(--fox)}
.promo__inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1.1rem;padding:1rem 6vw;flex-wrap:wrap}
.promo__tag{color:var(--fox);font-size:1.3rem}
.promo__copy{flex:1;min-width:220px}
.promo__copy strong{font-family:var(--font-display);font-weight:500;font-size:1.05rem;margin-right:.6rem}
.promo__copy span{color:var(--mut);font-size:.95rem}
.promo__cta{padding:.55rem 1.3rem;font-size:.88rem}

/* ---------- sections ---------- */
.section{padding:clamp(4.5rem,9vw,8rem) 6vw}
.section__head{max-width:1200px;margin:0 auto 3rem}
.section__head h2{font-size:clamp(2rem,4.6vw,3.4rem)}
.section__sub{margin-top:1rem;max-width:38rem;color:var(--mut)}
.section--dark{background:var(--pine);color:var(--cream)}
.section--dark .section__sub{color:rgba(247,242,232,.65)}
.section--cream{background:var(--cream-2)}
.kicker{font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--fox);margin-bottom:.9rem;font-weight:500}
.kicker--light{color:var(--fox-soft)}

/* ---------- house ---------- */
.house__grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center}
.lead{font-size:1.25rem;font-family:var(--font-display);margin-bottom:1.1rem}
.house__text p{margin-bottom:1rem}
.house__facts{list-style:none;margin-top:1.8rem;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.house__facts li{border-left:3px solid var(--fox);padding-left:.9rem}
.house__facts strong{display:block;font-weight:500;font-size:1.02rem}
.house__facts span{font-size:.85rem;color:var(--mut)}
.house__collage{position:relative;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:90px;gap:14px}
.house__collage img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);box-shadow:0 18px 40px rgba(22,36,29,.18)}
.collage__a{grid-column:1/5;grid-row:1/5}
.collage__b{grid-column:5/7;grid-row:2/5}
.collage__c{grid-column:2/6;grid-row:5/7;transform:rotate(-1.5deg)}

/* ---------- gallery ---------- */
.gallery__grid{max-width:1200px;margin:0 auto;columns:3;column-gap:16px}
.gallery__grid figure{break-inside:avoid;margin:0 0 16px;position:relative;border-radius:var(--radius);overflow:hidden;cursor:zoom-in}
.gallery__grid img{width:100%;transition:transform .5s ease}
.gallery__grid figure:hover img{transform:scale(1.045)}
.gallery__grid figcaption{position:absolute;inset:auto 0 0 0;padding:2rem 1rem .8rem;background:linear-gradient(transparent,rgba(22,36,29,.75));color:#fff;font-size:.85rem;opacity:0;transition:opacity .3s}
.gallery__grid figure:hover figcaption{opacity:1}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(15,22,18,.96);display:none;align-items:center;justify-content:center;flex-direction:column;padding:3rem 4.5rem}
.lightbox.open{display:flex}
.lightbox__img{max-width:100%;max-height:82vh;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lightbox__caption{color:rgba(255,255,255,.75);margin-top:1rem;font-size:.9rem}
.lightbox__close{position:absolute;top:1rem;right:1.4rem;font-size:2.4rem;background:none;border:0;color:#fff;cursor:pointer;opacity:.8}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);font-size:3rem;background:rgba(255,255,255,.08);border:0;color:#fff;cursor:pointer;width:56px;height:56px;border-radius:50%;line-height:1;transition:background .2s}
.lightbox__nav:hover{background:var(--fox)}
.lightbox__nav--prev{left:1rem}
.lightbox__nav--next{right:1rem}

/* ---------- explore ---------- */
.explore__cards{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.ecard{background:#fff;border-radius:var(--radius);padding:1.8rem 1.5rem;box-shadow:0 10px 30px rgba(22,36,29,.07);transition:transform .25s ease}
.ecard:hover{transform:translateY(-6px)}
.ecard__num{font-size:1.4rem;color:var(--fox)}
.ecard h3{margin:.7rem 0 .5rem;font-size:1.25rem}
.ecard p{font-size:.93rem;color:var(--mut)}

/* ---------- reviews ---------- */
.reviews__row{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.review{background:#fff;border-radius:var(--radius);padding:2.2rem;box-shadow:0 10px 30px rgba(22,36,29,.07)}
.review__stars{color:var(--fox);letter-spacing:.2em;margin-bottom:1rem}
.review blockquote{font-family:var(--font-display);font-size:1.12rem;line-height:1.5;margin-bottom:1.4rem}
.review figcaption{display:flex;align-items:center;gap:.8rem;font-weight:500}
.review__avatar{width:42px;height:42px;border-radius:50%;background:var(--pine);color:var(--fox-soft);display:grid;place-items:center;font-size:.8rem;font-weight:600}

/* ---------- booking ---------- */
.book__layout{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;gap:2.5rem;align-items:start}
.calendar{background:var(--pine-2);border-radius:var(--radius);padding:1.6rem}
.calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.calendar__titles{display:flex;gap:0;flex:1;justify-content:space-around;font-family:var(--font-display);font-size:1.05rem}
.calendar__btn{background:rgba(255,255,255,.08);border:0;color:#fff;width:38px;height:38px;border-radius:50%;font-size:1.3rem;cursor:pointer;transition:background .2s}
.calendar__btn:hover{background:var(--fox)}
.calendar__months{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:.82rem}
.cal-grid .dow{text-align:center;opacity:.5;padding:.3rem 0;font-size:.7rem;letter-spacing:.08em}
.cal-day{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;cursor:pointer;background:rgba(255,255,255,.05);transition:background .15s;border:0;color:var(--cream);font-family:var(--font-body)}
.cal-day:hover:not(.busy):not(.past):not(.pad){background:rgba(224,118,47,.45)}
.cal-day.pad{background:transparent;cursor:default}
.cal-day.past,.cal-day.busy{opacity:.32;cursor:not-allowed;text-decoration:line-through}
.cal-day.busy{background:rgba(255,90,70,.18)}
.cal-day.sel{background:var(--fox);color:#fff;font-weight:600}
.cal-day.inrange{background:rgba(224,118,47,.28)}
.calendar__status{margin-top:.9rem;font-size:.8rem;opacity:.65}
.calendar__legend{display:flex;gap:1.2rem;margin-top:.6rem;font-size:.78rem;opacity:.85}
.calendar__legend span{display:flex;align-items:center;gap:.4rem}
.leg{width:13px;height:13px;border-radius:4px;display:inline-block}
.leg--open{background:rgba(255,255,255,.15)}
.leg--busy{background:rgba(255,90,70,.4)}
.leg--sel{background:var(--fox)}

.bookform{background:var(--cream);color:var(--ink);border-radius:var(--radius);padding:1.8rem}
.bookform__dates{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;margin-bottom:1.2rem;background:var(--cream-2);border-radius:14px;padding:1rem}
.bookform__dates label{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);display:block}
.bookform__dates output{font-family:var(--font-display);font-size:1.05rem}
.bookform__row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.field{margin-bottom:.9rem}
.field label{display:block;font-size:.8rem;font-weight:500;margin-bottom:.3rem}
.field input,.field textarea{width:100%;padding:.7rem .9rem;border:1.5px solid #ddd2bd;border-radius:12px;background:#fff;font-family:var(--font-body);font-size:.95rem;transition:border-color .2s}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--fox)}
.honey{position:absolute;left:-9999px;opacity:0;height:0}
.bookform__note{font-size:.78rem;color:var(--mut);margin-top:.8rem;text-align:center}
.bookform__note.ok{color:#2e7d4f;font-weight:500}
.bookform__note.err{color:#c0392b;font-weight:500}

/* ---------- footer ---------- */
.footer{background:var(--pine);color:var(--cream);padding:4rem 6vw 2rem}
.footer__grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
.footer__brand img{height:72px;margin-bottom:1rem}
.footer__brand p{opacity:.7;font-size:.95rem}
.footer__col h4{font-family:var(--font-display);margin-bottom:.9rem;color:var(--fox-soft)}
.footer__col a{display:block;margin-bottom:.5rem;opacity:.8;font-size:.93rem}
.footer__col a:hover{opacity:1;color:var(--fox-soft)}
.footer__legal{text-align:center;margin-top:3rem;font-size:.78rem;opacity:.45}

/* ==========================================================
   MOBILE
   ========================================================== */
@media (max-width:900px){
  .nav__links{position:fixed;inset:0;background:var(--pine);flex-direction:column;justify-content:center;font-size:1.4rem;gap:2rem;transform:translateX(100%);transition:transform .3s ease}
  .nav__links.open{transform:translateX(0)}
  .nav__burger{display:flex;z-index:60}
  .nav__burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav__burger.open span:nth-child(2){opacity:0}
  .nav__burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .house__grid{grid-template-columns:1fr;gap:2.5rem}
  .house__collage{grid-auto-rows:60px}
  .gallery__grid{columns:2}
  .explore__cards{grid-template-columns:1fr 1fr}
  .reviews__row{grid-template-columns:1fr}
  .book__layout{grid-template-columns:1fr}
  .calendar__months{grid-template-columns:1fr}
  .calendar__month--second{display:none}
  .calendar__titles span:nth-child(2){display:none}
  .footer__grid{grid-template-columns:1fr;text-align:left}
  .lightbox{padding:2rem .5rem}
  .lightbox__nav{width:44px;height:44px;font-size:2.2rem}
}
@media (max-width:560px){
  .gallery__grid{columns:1}
  .explore__cards{grid-template-columns:1fr}
  .house__facts{grid-template-columns:1fr}
  .bookform__row{grid-template-columns:1fr}
  .hero h1{font-size:2.5rem}
}
