/* DealSquishy V4 additions: live deal cards, ticker, fixes on top of premium.css + dark.css */

/* Header logo layout only applies in the header; the footer logo shows the mascot mark. */
.footer .logo{padding-left:0;min-width:0;height:auto;gap:12px}
.footer .logo-mark{display:flex;background:#16305a}
.footer-brand p{margin-top:16px}
.footer-bottom{border-top-color:#1d2d48}
/* Community CTA was purple text on a purple button. */
.community-button,.community-button:hover{color:#fff}
.community-button:hover{background:linear-gradient(120deg,#957bff,#7148f5)}

/* Subpages share the homepage header */
.info-page .info-card a{color:#4ec4ff}
.info-card{font-size:14.5px}

/* Live status pill */
.demo-status.is-live{background:#0c2a24;border-color:#1d6b55;color:#9fe9cf}
.demo-status.is-live strong{color:#c6ffe9}
.demo-status.is-live .demo-dot{background:#2fe39a;box-shadow:0 0 0 0 #2fe39a88;animation:liveDot 1.8s infinite}
@keyframes liveDot{70%{box-shadow:0 0 0 7px #2fe39a00}100%{box-shadow:0 0 0 0 #2fe39a00}}

/* Ticker */
.ticker{display:flex;align-items:center;gap:14px;margin-top:-6px;margin-bottom:8px;background:#0d1a31;border:1px solid #23395c;border-radius:14px;padding:10px 14px;overflow:hidden}
.ticker[hidden]{display:none}
.ticker-label{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9fe9cf;white-space:nowrap}
.live-dot{width:8px;height:8px;border-radius:50%;background:#2fe39a;box-shadow:0 0 10px #2fe39a}
.ticker-window{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker-track{display:flex;gap:28px;width:max-content;animation:tick 48s linear infinite}
.ticker-track:hover,.ticker-track:focus-within{animation-play-state:paused}
.tick-dup{display:flex;gap:28px}
.tick{color:#c9daf3;font-size:13px;white-space:nowrap}.tick b{color:#5fd0ff;font-weight:800;margin-right:4px}.tick strong{color:#fff}.tick em{font-style:normal;color:#80ffcf;font-weight:800}
.tick:hover{color:#fff}
@keyframes tick{to{transform:translateX(-50%)}}

/* Category counts */
.cat-count{display:block;min-height:16px;padding:0 4px;color:#7fa3cf;font-size:11.5px;font-weight:700}

/* Deal cards */
.product-card{display:flex;flex-direction:column}
.product-info{display:flex;flex-direction:column;flex:1}
.product-bottom{margin-top:auto}
.image-button,.title-button{all:unset;cursor:pointer;display:block}
.image-button{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.title-button{color:inherit;font:inherit;line-height:inherit}
.title-button:hover{color:#5fd0ff}
.image-button:focus-visible,.title-button:focus-visible{outline:2px solid #2db7ff;outline-offset:3px;border-radius:8px}
.product-photo{max-width:78%;max-height:80%;object-fit:contain;background:#fff;border-radius:14px;padding:10px;box-shadow:0 10px 26px #0006;transition:transform .3s ease}
.product-card:hover .product-photo{transform:scale(1.04)}
.store-line time{margin-left:auto}
.store-line time{color:#6f8db3;font-weight:700;letter-spacing:.03em;text-transform:none}
.cat-shade-tech,.cat-shade-gaming,.cat-shade-home,.cat-shade-outdoors,.cat-shade-everyday{background:radial-gradient(circle at 60% 37%,#344e7c,#162947 83%)}
.cat-shade-gaming{background:radial-gradient(circle at 60% 37%,#3d3f86,#191f4d 83%)}
.cat-shade-home{background:radial-gradient(circle at 60% 37%,#3b4877,#1a2645 83%)}
.cat-shade-outdoors{background:radial-gradient(circle at 60% 37%,#2c5470,#132a40 83%)}
.product-badge{background:#0f2340;color:#7fd3ff;border:1px solid #2c5b8f;box-shadow:none}
.kind-price_drop{color:#7fd3ff}
.kind-retailer_listed_discount{color:#ffcf8a;border-color:#7a5a2a;background:#2a1f10}
.kind-restock{color:#80ffcf;border-color:#1d6b55;background:#0c2a24}
.kind-possible_price_error{color:#ffb1c3;border-color:#7a2a40;background:#2a1018}
.deal-link{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(120deg,#1f9bff,#1468e6);color:#fff;border-radius:10px;padding:8px 13px;font-size:12px;font-weight:800;box-shadow:0 8px 20px #1287ff3b;transition:transform .2s,box-shadow .2s}
.deal-link:hover{transform:translateY(-1px);box-shadow:0 12px 26px #1287ff55}
.deal-link:focus-visible{outline:2px solid #fff;outline-offset:2px}
.modal-item-art img{border-radius:12px}
.modal-item-art img[referrerpolicy]{background:#fff;padding:12px;width:auto;max-width:80%}
a.modal-button{display:flex;justify-content:center;text-decoration:none}

/* Accessibility */
:focus-visible{outline:2px solid #2db7ff;outline-offset:2px}
.skip-link:focus{color:#fff}

@media(max-width:700px){
  .ticker{border-radius:12px;padding:9px 11px;gap:10px}
  .ticker-label{font-size:10px}
  .tick{font-size:12px}
  .product-photo{max-width:84%;padding:6px;border-radius:10px}
  .deal-link{padding:6px 9px;font-size:10.5px}
  .store-line time{display:none}
  .footer .logo{height:auto}
}
@media(prefers-reduced-motion:reduce){
  .ticker-track{animation:none;flex-wrap:nowrap;overflow-x:auto}
  .ticker-window{overflow-x:auto;mask-image:none}
  .demo-status.is-live .demo-dot{animation:none}
}

/* width/height attributes reserve space; CSS widths keep the aspect ratio */
picture img{height:auto}

/* ---------- V5: tabs, featured, categories, AI Monitor ---------- */
.page-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-1.6px;font-size:clamp(30px,4vw,46px);line-height:1.08;color:#f7faff;margin:10px 0 8px}
.page-title em{font-style:normal;color:#3abdff}
body[data-page="featured"] .ticker{margin-top:22px}
body[data-page="featured"] .deals-section{padding-top:40px;border-top:0;background:transparent}
body[data-page="featured"] .credibility{padding-top:44px}
.deal-heading .page-title{margin-bottom:6px}
.hot-badge{color:#ffd28a;border-color:#8a5a1d;background:linear-gradient(120deg,#3a2210,#2a1808)}
.coupon-chip{display:inline-flex;align-items:center;gap:4px;margin:0 0 10px;padding:4px 9px;border-radius:8px;border:1px dashed #6b8fd1;background:#122444;color:#bfe0ff;font:700 11.5px/1.3 'DM Sans',sans-serif;letter-spacing:.04em;cursor:pointer}
.coupon-chip:hover{border-color:#8fc2ff;color:#fff}
/* Categories tab */
body[data-page="categories"] .categories-section{padding-top:34px}
body[data-page="categories"] .deals-section{padding-top:46px}
.category-tile.is-active .category-art{outline:2px solid #2db7ff;outline-offset:3px;box-shadow:0 0 0 6px #2db7ff22}
.category-tile.is-active .category-name{color:#fff}
button.section-link{background:none;border:0;cursor:pointer}
/* How it works tab */
body[data-page="how"] .how-section{padding-top:40px}
.how-detail{padding-bottom:70px}
.how-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.how-detail .info-card{margin:0;max-width:none;padding:26px 26px 18px;font-size:13.5px}
.how-detail .info-card h2{margin-top:0}

/* AI Monitor */
body[data-page="monitor"] .footer{margin-top:0}
.monitor-head{padding-top:26px;padding-bottom:12px}
.monitor-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.monitor-title p{color:#9eb7d8;max-width:640px;margin:0;font-size:14px}
.monitor-quick{display:flex;gap:10px;align-items:center;margin-top:20px;background:#0f1d36;border:1px solid #2b4570;border-radius:16px;padding:8px 8px 8px 16px;box-shadow:0 14px 40px #0005}
.monitor-quick:focus-within{border-color:#2db7ff;box-shadow:0 0 0 4px #2db7ff22,0 14px 40px #0005}
.quick-spark{color:#55ceff;font-size:18px}
.monitor-quick input{flex:1;min-width:0;background:transparent;border:0;color:#f3f8ff;font:500 15px 'DM Sans',sans-serif;padding:10px 4px;outline:none}
.monitor-quick input::placeholder{color:#7890b2}
.monitor-quick .main-cta,.monitor-quick .light-cta{min-height:44px;white-space:nowrap}
.quick-examples{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;font-size:12.5px;color:#7f97ba}
.quick-examples button{background:#132542;border:1px solid #2a4569;color:#c3d8f4;border-radius:20px;padding:6px 12px;font:600 12.5px 'DM Sans',sans-serif;cursor:pointer}
.quick-examples button:hover{border-color:#2db7ff;color:#fff}
.quick-examples .reset-layout{margin-left:auto;background:transparent;border-color:transparent;color:#7f97ba;text-decoration:underline}
.monitor-board-wrap{padding:8px 0 40px}
.monitor-board{display:flex;gap:14px;overflow-x:auto;padding:6px max(16px,calc((100vw - 1296px)/2)) 18px;align-items:flex-start}
.feed-col{flex:0 0 340px;height:calc(100vh - 150px);min-height:460px;max-height:860px;display:flex;flex-direction:column;background:#0e1a30;border:1px solid #243a5c;border-radius:18px;overflow:hidden;scroll-snap-align:start;box-shadow:0 18px 40px #0005;transition:opacity .15s,box-shadow .15s}
.feed-col.is-dragging{opacity:.45}
.feed-col.drop-before{box-shadow:-4px 0 0 #2db7ff,0 18px 40px #0005}.feed-col.drop-after{box-shadow:4px 0 0 #2db7ff,0 18px 40px #0005}
.feed-head{display:flex;align-items:center;gap:8px;padding:12px 10px 10px 12px;background:linear-gradient(180deg,#14284a,#11213d);border-bottom:1px solid #22385a;cursor:grab}
.feed-head:active{cursor:grabbing}
.feed-grip{color:#5f7ea8;font-size:16px}
.feed-name{flex:1;min-width:0}.feed-name h2{margin:0;font:800 15px/1.2 'Plus Jakarta Sans',sans-serif;color:#f2f8ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feed-count{font-size:11.5px;color:#7f97ba}.feed-count em{font-style:normal;color:#80ffcf;font-weight:800}
.feed-tools{display:flex;gap:2px}
.feed-tools button{width:28px;height:28px;border-radius:8px;border:1px solid transparent;background:transparent;color:#9db4d6;cursor:pointer;font-size:14px}
.feed-tools button:hover:not(:disabled){background:#1c3459;border-color:#2f4f7c;color:#fff}
.feed-tools button:disabled{opacity:.3;cursor:default}
.feed-chips{display:flex;flex-wrap:wrap;gap:5px;padding:9px 12px;border-bottom:1px solid #1b2e4c}
.feed-chip{font-size:11px;font-weight:700;color:#a9c7ee;background:#13284a;border:1px solid #23406a;border-radius:20px;padding:2px 8px}
.feed-list{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:#2a4570 transparent}
.feed-item{display:flex;gap:10px;padding:10px 8px;border-radius:12px;border-bottom:1px solid #182a46}
.feed-item:hover{background:#13233f}
.feed-item.is-new{animation:feedNew 2.4s ease-out}
@keyframes feedNew{0%{background:#1c4a3b}100%{background:transparent}}
.feed-art{flex:0 0 64px;height:64px;border-radius:12px;border:0;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden}
.feed-art img{width:86%;height:86%;object-fit:contain}
.feed-art .feed-photo{background:#fff;border-radius:8px;padding:4px;width:80%;height:80%}
.feed-body{flex:1;min-width:0}
.feed-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:#7f97ba}.feed-meta b{color:#5fd0ff;text-transform:uppercase;letter-spacing:.06em}
.feed-meta time{margin-left:auto}
.feed-hot{color:#ffd28a;font-weight:800}.feed-new{background:#1d6b55;color:#c6ffe9;border-radius:5px;padding:0 5px;font-weight:800;font-size:10px}
.feed-title{all:unset;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:3px 0 4px;font:700 13px/1.35 'DM Sans',sans-serif;color:#e6f0ff}
.feed-title:hover{color:#5fd0ff}.feed-title:focus-visible,.feed-art:focus-visible{outline:2px solid #2db7ff;outline-offset:2px;border-radius:6px}
.feed-price{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.feed-price strong{color:#fff;font-size:15px}.feed-price del{color:#6f8db3;font-size:12px}
.feed-price .discount-pill{font-size:11px;padding:2px 6px;border-radius:6px}
.feed-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}
.feed-actions .coupon-chip{margin:0}
.feed-go{display:inline-flex;align-items:center;background:linear-gradient(120deg,#1f9bff,#1468e6);color:#fff;border:0;border-radius:8px;padding:5px 10px;font:800 11.5px 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap}
.feed-empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:#8aa3c6;font-size:13px;padding:40px 18px}.feed-empty img{width:70px;opacity:.9}
.feed-add{flex:0 0 180px;height:180px;border-radius:18px;border:2px dashed #2b4570;background:transparent;color:#8fb0da;font:800 14px 'DM Sans',sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}
.feed-add span{font-size:30px;color:#55ceff}.feed-add:hover:not(:disabled){border-color:#2db7ff;color:#fff}
/* Column editor */
.column-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto}
.column-dialog h2{margin:4px 0 14px}
.field{display:block;margin:0 0 14px;border:0;padding:0;min-width:0}
.field>span,.field legend{display:block;font-size:12px;font-weight:800;color:#a9c0de;margin-bottom:6px}
.field small{font-weight:600;color:#6f8db3}
.field input,.field select{width:100%;background:#0b1528;border:1px solid #2f4b74;border-radius:10px;color:#fff;padding:10px 11px;font:500 14px 'DM Sans',sans-serif}
.field input:focus,.field select:focus{outline:2px solid #2db7ff66;border-color:#2db7ff}
.field-row{display:flex;gap:10px}.field-row .field{flex:1}.field-row .grow{flex:2}
.chip-grid{display:flex;flex-wrap:wrap;gap:6px}
.chip-check{position:relative;cursor:pointer}
.chip-check input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip-check span{display:inline-block;padding:6px 11px;border-radius:20px;border:1px solid #2f4b74;background:#0f1d36;color:#bcd2ee;font-size:12.5px;font-weight:700}
.chip-check input:checked+span{background:#1c60b8;border-color:#4b9bff;color:#fff}
.chip-check input:focus-visible+span{outline:2px solid #2db7ff;outline-offset:2px}
.dialog-actions{display:flex;gap:10px;margin-top:6px}
.dialog-actions .main-cta,.dialog-actions .light-cta{min-height:46px;padding:0 20px}

@media(max-width:1100px){.how-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){
  .monitor-title{display:block}.monitor-title .demo-status{margin-top:12px;display:inline-flex}
  .monitor-quick{flex-wrap:wrap;padding:10px}.monitor-quick input{flex-basis:100%;order:0}.monitor-quick .quick-spark{display:none}
  .monitor-quick .main-cta,.monitor-quick .light-cta{flex:1}
  .quick-examples .reset-layout{margin-left:0}
  .monitor-board{padding:6px 16px 18px;scroll-snap-type:x mandatory}
  .feed-col{flex-basis:86vw;height:calc(100vh - 120px)}
  .field-row{flex-wrap:wrap}.field-row .field{flex-basis:calc(50% - 5px)}
  .desktop-nav{display:none}
}
@media(prefers-reduced-motion:reduce){.feed-item.is-new{animation:none;background:#16302a}}

/* ---------- Walmart-ready: paid-link labels, write-up picks, price notes ---------- */
.paid-tag{display:inline-block;font:800 10px/1 'DM Sans',sans-serif;letter-spacing:.02em;color:#ffe08a;background:#3a2f0f;border:1px solid #6b5520;border-radius:6px;padding:4px 6px;white-space:nowrap}
.cta-wrap{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.product-bottom{gap:8px}
.product-bottom>span:first-child{min-width:0}
.pick-blurb{margin:6px 0 0;color:#a8bddb;font-size:12.5px;line-height:1.45}
.is-writeup .product-badge{background:#28406a;color:#d7e8ff}
.modal-blurb{color:#c4d5ee;font-size:14px;line-height:1.55;margin:10px 0 4px}
.modal-cta-row{display:flex;align-items:center;gap:10px;margin-top:20px}.modal-cta-row .modal-button{margin-top:0;flex:1}
.disclosure-strip{max-width:1180px;margin:18px auto 0;padding:0 16px;color:#8ea8ca;font-size:12.5px;text-align:center}
.disclosure-strip a{color:#7cc8ff}
.feed-blurb{color:#a8bddb;font-size:12px;margin:4px 0 0;line-height:1.4}
[hidden]{display:none!important}
/* Store names stay in their own case (Walmart asks for "Walmart", never "WALMART"). */
.store-line span,.feed-meta b{text-transform:none!important;letter-spacing:.01em}

/* Sort is a small icon button; the real select sits invisibly on top so tapping it opens the native list. */
.sort-control{width:43px;flex:0 0 43px;justify-content:center;cursor:pointer}
.sort-control svg{width:17px;height:17px;color:#8fb0d6;pointer-events:none}
.sort-control:hover,.sort-control:focus-within{border-color:#4f8fe0}
.sort-control:focus-within{outline:2px solid #4fb5ff;outline-offset:2px}
.sort-control select,.sort-control select:focus{position:absolute;inset:0;width:100%!important;height:100%;opacity:0;cursor:pointer;padding:0}
@media(max-width:700px){.toolbar-selects{flex-wrap:nowrap}.search-control{width:auto;flex:1 1 0;min-width:0}.sort-control{height:42px;width:42px;flex:0 0 42px}}
/* Static copies hide the Squishy AI card; let the card before it span the row so the grid has no hole. */
.how-detail-grid:has(>[data-squishy-chat][hidden])>.info-card:nth-last-child(2){grid-column:1/-1}
