/* DamGoodDeals "The Dam" theme, site-wide layer for every page built on
   /update/styles.css (homepage, /update, category pages). Loaded LAST; it
   only restyles, markup and JS are untouched, so removing this <link> reverts.

   Lake blue carries the brand surface, shelf-tag yellow carries prices,
   red is kept for discount stamps. Anton = flyer numbers and headlines,
   Archivo = everything you read. Same language as /daily. */
:root{
  --lake:#0b3954; --lake-soft:#16507a; --lake-mist:#d9e7f0;
  --tag:#ffd23f; --tag-edge:#e7b916;
  --birch:#eef3f6; --mute:#4a6375;
  --display:"Anton",Impact,"Arial Narrow",sans-serif;
  --ui:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* re-point the base tokens so every var() in update/styles.css follows */
  --ink:#0b3954; --cream:#eef3f6; --paper:#fff; --line:#d5e0e7; --muted:#4a6375;
  --yellow:#ffd23f; --green:#0d6b3f;
  --shadow:none;
}
html,body{background:var(--birch)}
body{overflow-x:clip;font-family:var(--ui);color:var(--lake)}
.category-main{overflow-x:visible}
button,input,select,textarea{font-family:var(--ui)}
:focus-visible{outline:3px solid var(--lake);outline-offset:3px}

/* every Manrope shorthand in the base sheet becomes Archivo */
.brand,.deal-title,.hot-price strong,.promo-prices strong,.pbd-price strong,.quick-card b,.return-fresh strong,
.like-badge,.share-btn,.load-more,.empty b,.rf-go,.pick-stamp,.pick-cta,.pick-title,.pick-off,.search-title-row h2,
.auth-card h3,.alert-card button[type=submit]{font-family:var(--ui)!important}
h1,h2{font-family:var(--display);font-weight:400;letter-spacing:.005em}

/* section labels: sentence case, not tracked caps */
.kicker,.eyebrow{letter-spacing:0;text-transform:none;font-size:13px;font-weight:700}
.kicker{color:var(--mute)}
.section-head h2{font-size:28px;line-height:1.05}

/* ---------- header ---------- */
.site-header{background:var(--lake);border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header .brand{color:#fff}
.site-header .brand b{color:var(--tag)}
.site-header .brand small{color:var(--lake-mist);letter-spacing:0;text-transform:none;font-size:11px;font-family:var(--ui)}
.site-header .brand img{box-shadow:none}
.header-login{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.header-login:hover{background:rgba(255,255,255,.1)}
.header-save{background:rgba(255,255,255,.12);border-color:transparent;color:#fff}
/* nav-drawer.js injects its own sheet after this one, so win on specificity */
html body #ddnav-burger{color:#fff}
html body #ddnav-burger:hover{background:rgba(255,255,255,.1)}
.site-header :focus-visible{outline-color:var(--tag)}

/* ---------- the blue band: homepage hero + scoreboard, category hero + chips + scoreboard ---------- */
.welcome,.welcome+.pulse,.category-hero,.category-chips,.category-pulse{background:var(--lake);box-shadow:0 0 0 100vmax var(--lake);clip-path:inset(0 -100vmax)}
.welcome,.category-hero{color:#fff}
.welcome .eyebrow,.category-hero .eyebrow{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:6px;background:var(--tag);color:var(--lake);font-weight:800}
.welcome .eyebrow span,.category-hero .eyebrow span{background:#0d6b3f;box-shadow:none;animation:none}
.welcome h1,.category-hero h1{font:400 clamp(44px,12.5vw,84px)/.95 var(--display);letter-spacing:.005em;color:#fff}
.welcome h1 em{color:var(--tag)}
.welcome .intro,.category-hero .intro{color:var(--lake-mist);font-size:15px}
.welcome .search-trigger{border-color:transparent;box-shadow:none;color:var(--mute)}
.welcome .search-trigger svg{stroke:var(--lake)}
.welcome .search-trigger kbd{background:var(--birch);color:var(--lake)}
.welcome :focus-visible,.category-hero :focus-visible,.category-chips :focus-visible{outline-color:var(--tag)}

/* homepage scoreboard sits flush under the hero */
.welcome+.pulse{margin-top:-1px;padding:2px 0 24px;border-radius:0;max-width:none;justify-content:start;grid-template-columns:auto 1px auto 1px auto;gap:0 18px;color:#fff}
.pulse div{text-align:left}
.pulse strong{font:400 32px/1 var(--display)!important;color:var(--tag);letter-spacing:.01em}
.pulse span{color:var(--lake-mist);font-size:13px;font-weight:600}
.pulse i{height:32px;background:rgba(255,255,255,.2)}

/* category band */
.category-hero{padding-bottom:6px}
.category-hero .back-link{color:var(--lake-mist)}
.category-hero h1 em{color:#fff}
.category-hero h1>span{font-size:.62em;vertical-align:.12em}
.category-chips{margin:-1px 0 0;padding-top:11px;padding-bottom:14px}
.category-chips a{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff;font-size:13px}
.category-chips a:hover{background:rgba(255,255,255,.18)}
.category-chips a.selected{background:var(--tag);border-color:var(--tag);color:var(--lake)}
.category-pulse{margin:-1px 0 0;padding:5px 0 22px;border-radius:0;max-width:none;grid-template-columns:auto 1px auto 1px auto;justify-content:start;gap:0 18px;color:#fff}
.category-pulse strong{font-size:34px!important}

/* ---------- today's pick: white card on the blue band ---------- */
.pick{background:#fff;color:var(--lake);box-shadow:none;border-radius:18px;border:3px solid var(--tag)}
.pick-stamp{color:var(--red);letter-spacing:0;text-transform:none;font-size:14px;font-weight:800}
.pick-timer{background:var(--birch);color:var(--lake)}
.pick-image{border:1px solid var(--line)}
.pick-off{background:var(--red);font-family:var(--display)!important;font-weight:400;font-size:22px;line-height:1;border-radius:8px;width:auto;height:auto;padding:7px 10px 6px;box-shadow:0 2px 0 rgba(11,57,84,.25)}
.pick-off small{letter-spacing:.02em;font-family:var(--display)}
.pick-price del{color:var(--mute)}
.pick-price .save-amount{background:#e3f1ea;color:#0d6b3f}
.pick .rating{color:#8a4f00}
.pick .rating span{color:var(--mute)}
.pick-cta{background:var(--lake);box-shadow:none}
.pick-cta:hover{background:var(--lake-soft)}
.pick-cta:focus-visible{outline-color:var(--lake)}
.return-fresh{background:#fff;border-color:transparent;color:var(--lake);box-shadow:none}
.return-fresh strong{color:var(--lake)}
.return-fresh small{color:var(--mute)}
.return-fresh .rf-icon{background:var(--birch);box-shadow:none}
.rf-go{background:var(--lake)}
.rf-go:hover{background:var(--lake-soft)}

/* ---------- shelf tag: the price sits on a small pointed tag ---------- */
.price,.price-row .pct-badge,.pick-price strong,.hot-price strong,.promo-prices strong,.pbd-price strong{
  position:relative;display:inline-flex;align-items:center;padding:4px 10px 3px 18px;background:var(--tag);color:var(--lake)!important;
  font:400 20px/1.1 var(--display)!important;letter-spacing:.02em;border-radius:0 6px 6px 0;clip-path:polygon(9px 0,100% 0,100% 100%,9px 100%,0 50%)}
.price::before,.price-row .pct-badge::before,.pick-price strong::before,.hot-price strong::before,.promo-prices strong::before,.pbd-price strong::before{
  content:"";position:absolute;left:8px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#fff}
.price-row .pct-badge{color:var(--red)!important;box-shadow:none}
.hot-price strong,.promo-prices strong,.pbd-price strong{font-size:17px!important;padding:3px 8px 2px 16px}
.pick-price strong{font-size:26px!important}
.price-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:2px}
.hot-price,.promo-prices,.pbd-price{align-items:center}
.was,.hot-price del,.promo-prices del,.pbd-price del{color:var(--mute);font-size:12px;font-weight:600}
.save-amount{padding:3px 7px;border-radius:5px;background:#e3f1ea;color:#0d6b3f;font-size:12px;font-weight:700}

/* ---------- cards ---------- */
.deal-card,.hot-card,.promo-card,.pbd-card,.ssn-card{border-color:var(--line);border-radius:14px;box-shadow:none}
.hot-card:hover,.ssn-card:hover{box-shadow:0 8px 20px rgba(11,57,84,.12)}
.deal-image{border-radius:10px}
.discount,.ssn-off,.pbd-off{left:6px;right:auto;top:8px;padding:5px 8px;background:var(--red);font:400 17px/1 var(--display);letter-spacing:.02em;border-radius:5px;transform:rotate(-4deg);box-shadow:0 2px 0 rgba(11,57,84,.25)}
.promo-off{background:var(--red)}
.proof-badge,.ssn-low,.pbd-low{background:var(--lake);color:#fff;border-color:var(--lake);font-size:11px}
.save-button{border-color:var(--line)}
.save-button.saved{color:var(--red)}
.deal-meta{color:var(--mute);font-size:12px;font-weight:600;text-transform:none}
.deal-title{font-weight:700;font-size:15px;line-height:1.3;color:var(--lake)}
.rating,.ssn-rating{font-size:13px;font-weight:700;color:#8a4f00}
.rating span{font-weight:500}
.deal-link,.hot-link,.promo-link,.pbd-link,.ssn-link{background:var(--lake);color:#fff}
.deal-link{font-size:13px;border-radius:10px;padding:0 10px;min-width:0}
.deal-actions{min-width:0}
.deal-link:hover,.hot-link:hover,.promo-link:hover,.pbd-link:hover,.ssn-link:hover{background:var(--lake-soft)}
.share-btn{border-color:var(--line);color:var(--lake);background:#fff}
.share-btn:hover{background:var(--birch);border-color:var(--line)}
.flag-new{background:#fde7e4}
.promo-code{background:#fffbea;border-color:var(--tag-edge)}

/* quick categories */
.quick-card{border-color:var(--line)}
.quick-card .icon{background:var(--birch)}
.quick-card.selected{border-color:var(--lake);box-shadow:0 0 0 2px var(--lake)}

/* feed head, filters, load more */
.feed-head{background:linear-gradient(var(--birch) 80%,transparent)}
.feed-head h2{font-size:30px}
.filter-button{background:#fff;border-color:var(--line);color:var(--lake);font-size:14px}
.filters label{color:var(--mute);letter-spacing:0;text-transform:none;font-size:13px}
.active-filter{background:var(--lake-mist)}
.load-more{background:var(--tag);color:var(--lake);box-shadow:none}
.load-more::after{filter:brightness(0) saturate(100%) invert(16%) sepia(37%) saturate(1800%) hue-rotate(176deg)}
.load-more:hover{background:#ffdc66;box-shadow:none}
.load-more:focus-visible{outline-color:var(--lake)}
.loading-card,.hot-skeleton{background:linear-gradient(100deg,#dfe8ee 20%,#f4f8fa 45%,#dfe8ee 70%);background-size:300% 100%}
.empty{border-color:var(--line)}

/* seasonal rail keeps its own event palette; only the type joins the theme */
.season-section h2{font-size:30px;line-height:1}
.ssn-chip{font-family:var(--ui)}

/* return + alert cards become lake-blue panels */
.return-card,.alert-card{background:var(--lake);border-color:var(--lake);color:#fff;box-shadow:none}
.return-card p:not(.kicker),.alert-copy>p:not(.kicker){color:var(--lake-mist)}
.return-card .kicker,.alert-card .kicker{color:var(--tag)}
.return-card button{background:var(--tag);color:var(--lake)}
.alert-card::before{background:rgba(255,210,63,.12)}
.alert-card::after{background:rgba(255,255,255,.06)}
.alert-card h2{color:#fff;font-size:44px;line-height:.95;letter-spacing:.005em}
.alert-card h2 em{color:var(--tag)}
.alert-mark>span{background:var(--tag);box-shadow:none}
.alert-mark b{color:var(--lake-mist);letter-spacing:0;text-transform:none;font-size:12px}
.alert-perks span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.alert-form-shell{background:#fff;border-color:transparent;box-shadow:none;color:var(--lake)}
.alert-email-label{color:var(--mute);letter-spacing:0;text-transform:none;font-size:13px}
.alert-card input[type=email]{border-color:var(--line)}
.alert-card input[type=email]:focus{outline-color:rgba(11,57,84,.25);border-color:var(--lake)}
.alert-consent{color:var(--mute)}
.alert-consent a{color:var(--lake)}
.alert-card button[type=submit]{background:var(--lake);box-shadow:none}
.alert-card button[type=submit]:hover{filter:none;background:var(--lake-soft)}
.alert-card :focus-visible{outline-color:var(--tag)}
.alert-form-shell :focus-visible{outline-color:var(--lake)}

/* footer, bottom nav, sheets, toast */
footer{border-top-color:var(--line);color:var(--mute)}
footer a{color:var(--lake)}
.bottom-nav{background:var(--lake);border-top:0}
.bottom-nav a,.bottom-nav button{color:var(--lake-mist)}
.bottom-nav .active{color:var(--tag)}
.bottom-nav .active svg{fill:rgba(255,210,63,.18)}
.bottom-nav :focus-visible{outline-color:var(--tag)}
.search-hint{letter-spacing:0;text-transform:none;font-size:13px}
.search-chips button{background:var(--birch)}
.search-title-row button{background:var(--birch)}
.toast{background:var(--lake)}

@media(min-width:700px){
  .welcome h1{font-size:clamp(56px,6.6vw,92px)}
  .welcome+.pulse{padding-bottom:30px}
  .pulse strong{font-size:40px!important}
  .category-hero{padding-top:40px}
  .category-pulse strong{font-size:40px!important}
  .price,.price-row .pct-badge{font-size:22px!important}
}

/* ---------- homepage category filter chips ---------- */
.dept-chip{font-family:var(--ui);color:var(--lake);border-color:var(--line)}
.dept-chip:hover{border-color:var(--lake)}
.dept-chip small{color:var(--mute)}
.dept-chip.on{background:var(--tag);border-color:var(--tag-edge);color:var(--lake)}
.dept-chip.on small{color:var(--lake)}
