/* ===========================================================
   Swoboda Charters — dark monochrome luxury layer
   Mirrors Duck Down Guide Service structure;
   palette retuned to charcoal (#1C1C1D) + white buttons.
   =========================================================== */

:root{
  --accent:#C9BFA9;        /* warm stone — eyebrows, prices, hairlines */
  --accent-soft:#A79E8B;
  --paper:#F4F1EA;         /* primary light text */
  --paper-soft:#B4ADA1;    /* muted light text */
  --bg:#1C1C1D;            /* base section */
  --bg-2:#232325;          /* alt section */
  --bg-deep:#121213;       /* deepest section */
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(255,255,255,.20);
}

/* ---------- base / sections (also locks against MB widget CSS bleed) ---------- */
body{background:var(--bg) !important;color:var(--paper) !important}
.bg-cream{background:var(--bg) !important;color:var(--paper) !important}
.bg-sand{background:var(--bg-2) !important;color:var(--paper) !important}
.bg-green,.bg-ink{background:var(--bg-deep) !important;color:var(--paper) !important}
.section,.section--tight{position:relative}

/* topo texture: always light-on-dark, very subtle */
.bg-cream.topo::before,.bg-sand.topo::before,.bg-green.topo::before,.topo::before{
  background-image:none !important;
}
.topo::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(120% 80% at 50% -10%,rgba(255,255,255,.04),transparent 60%);}

/* ---------- typography colors ---------- */
h1,h2,h3,h4{color:var(--paper) !important}
.bg-green h1,.bg-green h2,.bg-green h3,.bg-green h4{color:var(--paper) !important}
p,.lead{color:var(--paper-soft) !important}
.lead+p{color:var(--paper-soft) !important}
.bg-green p,.bg-green .lead{color:var(--paper-soft) !important}
.eyebrow,.eyebrow--light{color:var(--accent) !important}
.arrowlink,.arrowlink span{color:var(--accent) !important}
.script{font-style:italic}

/* ---------- buttons: white fill, charcoal text; invert to outline on hover ---------- */
.btn{--bg:#FFFFFF;--fg:#151516;border:1px solid #fff;
  box-shadow:0 14px 30px -16px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.4);}
.btn::after{background:transparent}
.btn:hover{color:#fff;transform:translateY(-3px)}
.btn:hover::after{transform:translateX(0);background:transparent}
.btn:hover{background:transparent !important;color:#fff !important}
.btn--ghost{--bg:transparent;--fg:var(--paper);border:1px solid var(--line-strong)}
.btn--ghost::after{background:#fff}
.btn--ghost:hover{color:#151516 !important;background:#fff !important;border-color:#fff}
.btn--outline{--bg:transparent;--fg:#fff;border:1px solid rgba(255,255,255,.6)}
.btn--outline::after{background:#fff}
.btn--outline:hover{color:#151516 !important;background:#fff !important}
.btn--ink{--bg:#fff;--fg:#151516}
.btn--ink:hover{background:transparent !important;color:#fff !important;border-color:#fff}

/* ---------- header / nav ---------- */
.header.scrolled{background:rgba(18,18,19,.94) !important;box-shadow:0 1px 0 rgba(255,255,255,.07)}
.brand{font-family:var(--display);font-weight:500;letter-spacing:.04em;color:#fff;
  font-size:clamp(1.15rem,2vw,1.5rem);text-transform:uppercase;line-height:1.05;text-align:center;
  text-shadow:0 2px 14px rgba(0,0,0,.5)}
.brand span{display:block;font-family:var(--sans);font-weight:400;font-size:.5em;letter-spacing:.34em;
  color:var(--accent);margin-top:.3em}
.nav a:not(.btn)::after{background:var(--accent)}
.drop{background:rgba(18,18,19,.98) !important;border:1px solid rgba(255,255,255,.10)}
.drop a:hover{background:rgba(255,255,255,.06);color:var(--accent)}

/* ---------- animated hamburger -> X ---------- */
.navtoggle{position:relative;width:46px;height:40px}
.navtoggle span{position:absolute;left:10px;width:26px;height:2px;background:#fff;margin:0;
  transition:transform .4s cubic-bezier(.7,0,.2,1),opacity .3s,top .3s}
.navtoggle span:nth-child(1){top:13px}
.navtoggle span:nth-child(2){top:19px}
.navtoggle span:nth-child(3){top:25px}
.navtoggle.open span:nth-child(1){top:19px;transform:rotate(45deg)}
.navtoggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.navtoggle.open span:nth-child(3){top:19px;transform:rotate(-45deg)}

/* ---------- mobile menu ---------- */
.mobile{background:var(--bg-deep) !important;justify-content:flex-start;padding-top:128px}
@media(max-width:560px){.mobile{padding-top:104px}}
.mobile a{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.mobile.open a{opacity:1;transform:none}
.mobile a.sub{color:var(--accent)}
.mobile.open a:nth-child(1){transition-delay:.14s}
.mobile.open a:nth-child(2){transition-delay:.19s}
.mobile.open a:nth-child(3){transition-delay:.24s}
.mobile.open a:nth-child(4){transition-delay:.29s}
.mobile.open a:nth-child(5){transition-delay:.34s}
.mobile.open a:nth-child(6){transition-delay:.39s}
.mobile.open a:nth-child(7){transition-delay:.44s}
.mobile.open a:nth-child(8){transition-delay:.49s}
.mobile.open a:nth-child(9){transition-delay:.54s}
.mobile.open a:nth-child(10){transition-delay:.59s}
.mobile.open a:nth-child(11){transition-delay:.64s}
.mobile.open a:nth-child(12){transition-delay:.69s}
.mobile.open a:nth-child(13){transition-delay:.74s}

/* ---------- hero video background ---------- */
.hero__bg video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  min-width:100%;min-height:100%;width:auto;height:auto;object-fit:cover}
.hero__bg .vidwrap{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.1s ease}
.hero__bg.vid-playing .vidwrap{opacity:1}
.hero__inner{max-width:1080px}
.hero h1{font-size:clamp(2.15rem,4.6vw,4rem)}
.hero .lead{max-width:none;color:rgba(255,255,255,.9) !important}

/* ---------- cards / features dark surfaces ---------- */
.card__num{color:var(--accent)}
.card .arrowlink,.card .arrowlink span{color:var(--accent) !important}
.features{background:var(--line);border:1px solid var(--line)}
.feature{background:var(--bg-2);color:var(--paper)}
.feature p{color:var(--paper-soft) !important}
.feature__num{color:var(--accent)}
.feature:nth-child(1),.feature:nth-child(3),.feature:nth-child(6),.feature:nth-child(8){background:var(--bg-deep);color:var(--paper)}
.feature:nth-child(1) p,.feature:nth-child(3) p,.feature:nth-child(6) p,.feature:nth-child(8) p{color:var(--paper-soft) !important}

/* compare / difference rows */
.wc-grid .compare--pos{border-top:1px solid var(--line)}
.compare--pos .compare__icon{background:#fff;color:#151516;box-shadow:0 8px 18px -10px rgba(0,0,0,.6)}
.compare--pos h3{color:var(--paper) !important}
.compare--pos p{color:var(--paper-soft) !important}

/* ---------- reviews ---------- */
.review{background:var(--bg-2) !important;border:1px solid var(--line)}
.bg-green .review{background:#1A1A1C !important}
.review p{color:var(--paper) !important}
.review__stars{color:var(--accent)}
.review__avatar--mono{background:#2C2C2E;color:var(--accent)}
.review__who b{color:var(--accent)}
.review__who span{color:var(--paper-soft)}

/* ---------- includes / amenities / pricing ---------- */
.includes li{border-color:var(--line) !important;color:var(--paper)}
.includes li::before{color:var(--accent)}
.incbox{background:var(--bg-deep) !important;color:var(--paper) !important;padding:clamp(30px,4vw,48px);border-radius:6px;border:1px solid var(--line)}
.incbox .eyebrow--light{color:var(--accent) !important}
.incbox .includes li{border-color:var(--line) !important;color:var(--paper) !important}
.incbox .includes li::before{color:var(--accent) !important}
.amen li{border-color:var(--line)}
.amen li::before{background:var(--accent)}
.priceblock{margin-top:8px}
.priceblock + .priceblock{margin-top:30px}
.priceblock h3{font-size:1.4rem;margin-bottom:.3rem;color:var(--paper) !important}
.priceblock .note{font-size:.92rem;color:var(--paper-soft) !important;margin:.2rem 0 1rem}
.pricelist{padding:0;margin:0}
.pricelist li{list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:baseline;
  padding:13px 0;border-bottom:1px solid var(--line)}
.pricelist .pl-name{font-family:var(--sans);font-weight:400;font-size:1rem;color:var(--paper)}
.pricelist .pl-name small{display:block;font-size:.82rem;color:var(--paper-soft);margin-top:.2rem;letter-spacing:0;text-transform:none;font-weight:300}
.pricelist .pl-price{font-family:var(--display);font-size:1.5rem;color:var(--accent);white-space:nowrap;line-height:1}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 0;padding:0}
.chips li{list-style:none;font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--paper-soft);border:1px solid var(--line);border-radius:30px;padding:.5em 1.1em}

/* ---------- team (about) ---------- */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.team__card{background:var(--bg-2);border:1px solid var(--line);padding:28px 26px;border-radius:14px}
.team__card .eyebrow{margin-bottom:.5rem}
.team__card h3{font-size:1.4rem;margin-bottom:.5rem;color:var(--paper) !important}
.team__card p{font-size:.96rem;color:var(--paper-soft) !important;margin:0}
@media(max-width:900px){.team{grid-template-columns:1fr}}

/* ---------- faq ---------- */
.faq__item{border-color:var(--line)}
.faq__q{color:var(--paper) !important}
.faq__q::after{color:var(--accent)}
.faq__a div{color:var(--paper-soft)}

/* ---------- contact info cards ---------- */
.info-cards{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.info-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.info-cards{grid-template-columns:1fr}}
.info-card{background:var(--bg-2) !important;border:1px solid var(--line)}
.info-card::before{background:linear-gradient(90deg,#fff,var(--accent))}
.info-card .ico{background:#2A2A2C;color:#fff}
.info-card:hover .ico{background:#fff;color:#151516}
.info-card .k{color:var(--accent)}
.info-card a,.info-card p{color:var(--paper) !important}
.info-card a:hover{color:var(--accent) !important}

/* map + form shells */
.mapwrap{border:1px solid var(--line)}
.mb-form-shell{background:#FFFFFF;border-radius:18px;padding:clamp(26px,3vw,44px);
  box-shadow:0 30px 70px -34px rgba(0,0,0,.6);border:1px solid var(--line)}
.mb-form-shell iframe,.mb-form-shell form{width:100%}
.mb-booking-shell{background:#fff;border-radius:18px;padding:clamp(20px,3vw,40px);
  box-shadow:0 30px 70px -34px rgba(0,0,0,.6);border:1px solid var(--line);max-width:1000px;margin:0 auto;min-height:120px}

/* ---------- two-up cards on home ---------- */
.cards--2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.cards--2{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.footer{background:#0D0D0E;color:var(--paper-soft)}
.footer h4{color:var(--accent)}
.footer__brand .ftbrand{font-family:var(--display);font-size:1.7rem;color:#fff;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px;display:block}
.footer a:hover{color:var(--accent)}
.footer__social a:hover{background:#fff;border-color:#fff;color:#151516}
.footer__bottom a{color:var(--accent)}

/* ---------- Mallard Bay booking BUTTON defenses (white button) ---------- */
.mb-full-width{display:inline-block !important;width:auto !important;max-width:none !important}
.mb-full-width > *, .mb-full-width > * > *, .mb-full-width > * > * > *{width:auto !important}
.mb-full-width a.btn{display:inline-flex !important}
button.mb_widget.btn.btn--primary, .mb-full-width button.btn.btn--primary{
  background:#FFFFFF !important;color:#151516 !important;display:inline-flex !important;align-items:center;gap:.6em;
  font-family:var(--sans) !important;font-weight:600 !important;font-size:.79rem !important;letter-spacing:.18em !important;
  text-transform:uppercase !important;padding:1.1em 2.3em !important;border:1px solid #fff !important;border-radius:8px !important;
  cursor:pointer;width:auto !important;line-height:1 !important;box-shadow:0 14px 30px -16px rgba(0,0,0,.7)}
button.mb_widget.btn.btn--primary:hover, .mb-full-width button.btn.btn--primary:hover{background:transparent !important;color:#fff !important;transform:translateY(-2px)}

/* ---------- fix: nav/mobile Book button text (override .nav a / .mobile a #fff) ---------- */
.header .nav a.btn{color:#151516}
.header .nav a.btn:hover{color:#fff}
.mobile a.btn{color:#151516}
.mobile a.btn:hover{color:#fff}

/* ---------- enlarge hero headline (client request) ---------- */
.hero h1{font-size:clamp(3.1rem,8.4vw,7rem) !important;line-height:1.0;margin-bottom:1.6rem}
@media(max-width:560px){.hero h1{font-size:clamp(2.7rem,12vw,3.6rem) !important}}

/* ---------- tighten gap between hero eyebrow and headline (client request) ---------- */
.hero .hero__eyebrow{margin-bottom:.45rem}

/* ---------- pull headline up to close serif top-leading gap (client request) ---------- */
.hero .hero__eyebrow{margin-bottom:.15rem}
.hero h1{margin-top:-.22em}

/* ---------- restore ~20px gap under eyebrow (client request) ---------- */
.hero .hero__eyebrow{margin-bottom:.3rem}
.hero h1{margin-top:-.04em}

.phero__sub{margin:10px 0 0;font-family:var(--font-sans,inherit);font-size:clamp(1rem,1.6vw,1.18rem);letter-spacing:.06em;text-transform:uppercase;color:#e3c293;text-shadow:0 2px 14px rgba(0,0,0,.55)}
