/* Phase 4.2 visual system: one restrained navy/yellow identity across public pages. */
:root{
    --ui-ink:#101c35;
    --ui-muted:#647087;
    --ui-line:#dfe5ee;
    --ui-soft:#f5f7fb;
    --ui-brand:var(--brand,#14254a);
    --ui-brand-2:var(--brand,#203a71);
    --ui-accent:var(--accent,#ffe900);
    --ui-accent-hover:var(--accent,#f3dc00);
    --ui-white:#fff;
    --ui-shadow:0 18px 50px rgba(19,34,65,.09);
}

body{color:var(--ui-ink);background:#fff}
.shell{width:min(1160px,calc(100% - 40px))}
.site-header{border-color:rgba(20,37,74,.1);box-shadow:0 6px 24px rgba(20,37,74,.045)}
.nav-wrap{height:78px;gap:26px}
.brand{color:var(--ui-brand);letter-spacing:-.015em}
.brand-mark{border-radius:10px;background:var(--ui-accent);color:var(--ui-brand);box-shadow:0 6px 16px rgba(255,233,0,.24)}
.nav-wrap nav{gap:22px;color:#354158}
.nav-wrap nav a{position:relative;padding-block:7px}
.nav-wrap nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;border-radius:2px;background:var(--ui-accent);transition:right .2s ease}
.nav-wrap nav a:hover{color:var(--ui-brand)}
.nav-wrap nav a:hover:after{right:0}
.region-form select,.nav-search{border-color:#d9e0ea}
.nav-search{box-shadow:0 5px 16px rgba(19,34,65,.04)}
.nav-search button,.hero-search button,.primary-button{background:var(--ui-accent);color:var(--ui-brand)}
.nav-search button:hover,.hero-search button:hover,.primary-button:hover{background:var(--ui-accent-hover)}

/* A shorter, calmer promotional banner that does not overpower the homepage. */
.managed-banners{background:var(--ui-brand)}
.managed-banner{min-height:300px;background-image:linear-gradient(90deg,rgba(12,25,52,.96) 0%,rgba(12,25,52,.82) 42%,rgba(12,25,52,.25) 78%,rgba(12,25,52,.12) 100%),var(--banner-image);background-position:center;background-size:cover}
.managed-banner:after{content:"";position:absolute;inset:auto 0 0;height:70px;background:linear-gradient(transparent,rgba(9,20,43,.2));pointer-events:none}
.managed-banner-content{position:relative;z-index:1;padding-top:48px;padding-bottom:58px}
.managed-banner-content span{margin-bottom:9px;color:#fff29b}
.managed-banner-content h2{max-width:680px;font-size:clamp(2rem,4.2vw,3.7rem);letter-spacing:-.045em;text-wrap:balance}
.managed-banner-content p{max-width:580px;margin:12px 0 21px;color:#e4e9f2}
.managed-banner-content a{border-radius:10px;background:var(--ui-accent);color:var(--ui-brand);box-shadow:0 10px 24px rgba(0,0,0,.15)}
.banner-dots{bottom:14px}

/* Homepage hierarchy and cards. */
.hero{position:relative;background:radial-gradient(circle at 84% 18%,rgba(59,91,151,.42),transparent 26%),linear-gradient(135deg,#14254a,#0b1730 72%)}
.hero:after{content:"";position:absolute;right:-150px;bottom:-260px;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.hero-grid{min-height:480px;padding-block:72px}
.hero h1{max-width:750px;font-size:clamp(2.65rem,5vw,4.8rem);line-height:1;letter-spacing:-.052em;text-wrap:balance}
.hero p{color:#d1d9e8}
.hero .eyebrow{color:#fff29b}
.hero-search{border:1px solid rgba(255,255,255,.46);border-radius:14px;box-shadow:0 22px 55px rgba(0,0,0,.2)}
.hero-search button{border-radius:9px}
.trust-row{color:#eef2f8}
.deal-visual{min-height:320px;border:1px solid rgba(255,255,255,.68);background:linear-gradient(145deg,#fff,#f5f7fb);box-shadow:24px 27px 0 rgba(255,255,255,.07)}
.deal-visual:before{border-color:#d8dfeb}
.deal-label{background:var(--ui-accent);color:var(--ui-brand)}
.deal-visual em{color:var(--ui-brand-2)}
.section{padding-block:76px}
.section-heading{margin-bottom:26px}
.section-heading h2{color:var(--ui-ink);font-size:clamp(1.8rem,3.5vw,3rem);text-wrap:balance}
.eyebrow.dark,.section-heading>a{color:var(--ui-brand)}
.section-heading>a{padding-bottom:3px;border-bottom:2px solid var(--ui-accent)}
.category-grid{gap:16px}
.category-card{min-height:98px;padding:18px;border-color:var(--ui-line);box-shadow:0 6px 20px rgba(19,34,65,.025)}
.category-card:hover{border-color:#c7d1e1;box-shadow:var(--ui-shadow)}
.category-icon,.store-avatar{background:#edf2f9;color:var(--ui-brand)}
.category-card>span:last-child{color:var(--ui-brand);font-weight:900}
.tint{background:#f3f6fa}
.coupon-grid{gap:20px}
.coupon-card{min-height:190px;padding:24px;border-color:var(--ui-line);box-shadow:0 10px 32px rgba(19,34,65,.055);transition:transform .2s ease,box-shadow .2s ease}
.coupon-card:hover{transform:translateY(-3px);box-shadow:var(--ui-shadow)}
.coupon-type{color:#816f00}
.coupon-body a{display:inline-flex;align-items:center;gap:6px;color:var(--ui-brand)}
.coupon-body a:after{content:"→";color:#a08a00}

/* Added trust section improves transparency and gives the homepage a finished ending. */
.home-confidence{padding:86px 0;background:#fff}
.home-confidence-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:center}
.confidence-intro h2{margin:.65rem 0 1rem;color:var(--ui-ink);font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.04;letter-spacing:-.045em;text-wrap:balance}
.confidence-intro p{color:var(--ui-muted);font-size:1.04rem;line-height:1.75}
.confidence-intro>a{display:inline-flex;gap:8px;margin-top:8px;padding-bottom:4px;border-bottom:2px solid var(--ui-accent);color:var(--ui-brand);font-weight:850}
.confidence-points{display:grid;gap:12px}
.confidence-points article{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:20px;border:1px solid var(--ui-line);border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(19,34,65,.035)}
.confidence-points article>span{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:var(--ui-brand);color:#fff;font-size:.74rem;font-weight:900}
.confidence-points h3{margin:0 0 4px;color:var(--ui-ink);font-size:1rem}
.confidence-points p{margin:0;color:var(--ui-muted);font-size:.9rem;line-height:1.55}

/* Store pages now share the same navy/yellow identity as the homepage. */
.npf-store-hero{background:radial-gradient(circle at 88% 15%,rgba(34,63,119,.13),transparent 27%),linear-gradient(135deg,#f3f6fb,#fff 58%,#edf2f9);border-color:#dce3ed}
.npf-crumbs a,.npf-kicker,.npf-eyebrow,.npf-type,.npf-store-link{color:var(--ui-brand)}
.npf-store-title h1,.npf-offer-toolbar h2,.npf-coupon-copy h3,.npf-about-card h2,.npf-rating-card h3{color:var(--ui-ink)}
.npf-store-logo{border-color:#dce3ed;box-shadow:0 14px 38px rgba(19,34,65,.08)}
.npf-store-logo span{color:var(--ui-brand)}
.npf-store-layout .filter-tabs{border-color:#dde3ed;background:#eef2f7}
.npf-store-layout .filter-tabs button.active{color:var(--ui-brand);box-shadow:0 4px 13px rgba(19,34,65,.09)}
.npf-coupon-card,.npf-about-card,.npf-rating-card{border-color:var(--ui-line)}
.npf-coupon-card:hover{border-color:#c6d0df;box-shadow:var(--ui-shadow)}
.npf-type.deal{color:#245aa3}
.npf-action.primary{border:1px solid var(--ui-accent);background:var(--ui-accent);color:var(--ui-brand);box-shadow:0 7px 18px rgba(215,195,0,.2)}
.npf-action.primary:hover{background:var(--ui-accent-hover)}
.npf-action.primary.deal{border-color:var(--ui-brand);background:var(--ui-brand);color:#fff;box-shadow:none}
.npf-rating-card button{background:var(--ui-accent);color:var(--ui-brand)}
.affiliate-note{display:block;color:#737f91;font-size:.7rem;line-height:1.35;text-align:center}
.directory-hero{background:linear-gradient(135deg,#f2f5fa,#fff)}
.logo-store-card:hover{border-color:#c8d1df}
.logo-store-arrow{color:#9b8700}

/* Policy and trust pages. */
.policy-hero{padding:82px 0;background:radial-gradient(circle at 84% 18%,rgba(67,98,157,.4),transparent 27%),linear-gradient(135deg,#14254a,#0b1730);color:#fff}
.policy-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:70px;align-items:center}
.policy-kicker{display:inline-block;color:#fff29b;font-size:.74rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.policy-hero h1{max-width:800px;margin:.7rem 0 1rem;font-size:clamp(2.7rem,5vw,4.8rem);line-height:1;letter-spacing:-.055em;text-wrap:balance}
.policy-hero p{max-width:760px;margin:0;color:#d8dfeb;font-size:1.08rem;line-height:1.7}
.policy-hero small{display:block;margin-top:16px;color:#b9c4d7}
.policy-hero-card{display:grid;gap:9px;padding:28px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(255,255,255,.09);backdrop-filter:blur(10px)}
.policy-hero-card strong{color:#fff29b;font-size:1.1rem}
.policy-hero-card span{color:#e7ebf3;line-height:1.6}
.compact-policy{padding:68px 0}
.compact-policy h1{font-size:clamp(2.5rem,4.5vw,4rem)}
.policy-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px;align-items:start;padding-top:72px;padding-bottom:90px}
.policy-content{max-width:780px}
.policy-content h2{margin:36px 0 10px;color:var(--ui-ink);font-size:1.45rem;letter-spacing:-.02em}
.policy-content h2:first-child{margin-top:0}
.policy-content p{margin-bottom:0;color:#4e5b70;line-height:1.82}
.policy-content a{color:var(--ui-brand);font-weight:750;text-decoration:underline;text-decoration-color:var(--ui-accent);text-decoration-thickness:2px;text-underline-offset:3px}
.policy-aside{position:sticky;top:104px;padding:26px;border:1px solid var(--ui-line);border-radius:20px;background:var(--ui-soft);box-shadow:0 10px 28px rgba(19,34,65,.045)}
.policy-aside>span{color:#7f6f00;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.policy-aside h2{margin:8px 0 16px;font-size:1.35rem}
.policy-aside ul{display:grid;gap:11px;margin:0;padding:0;list-style:none}
.policy-aside li{position:relative;padding-left:25px;color:#4f5b6e}
.policy-aside li:before{content:"✓";position:absolute;left:0;color:var(--ui-brand);font-weight:900}

/* Footer and cookie notice. */
.site-footer{padding-top:66px;background:#0c1830;color:#c9d3e3}
.footer-grid{grid-template-columns:1.7fr 1fr 1fr 1fr;gap:52px}
.footer-grid strong{margin-bottom:5px;color:#fff}
.footer-grid a:hover{color:#fff29b}
.footer-brand p{margin-bottom:0}
.footer-brand small{max-width:300px;color:#93a1b7;line-height:1.55}
.copyright{display:flex;justify-content:space-between;gap:24px;color:#9eabc0}
.cookie-notice[hidden]{display:none}
.cookie-notice{position:fixed;z-index:80;left:24px;right:24px;bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:26px;width:min(960px,calc(100% - 48px));margin:auto;padding:20px 22px;border:1px solid #dbe2ec;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(8,20,44,.22)}
.cookie-notice strong{display:block;margin-bottom:3px;color:var(--ui-ink)}
.cookie-notice p{margin:0;color:var(--ui-muted);font-size:.9rem;line-height:1.5}
.cookie-actions{display:flex;align-items:center;gap:16px;white-space:nowrap}
.cookie-actions a{color:var(--ui-brand);font-size:.88rem;font-weight:750;text-decoration:underline}
.cookie-actions button{border:0;border-radius:9px;background:var(--ui-accent);color:var(--ui-brand);padding:10px 16px;font-weight:850;cursor:pointer}

@media(max-width:1000px){
    .managed-banner{min-height:280px}
    .home-confidence-grid{gap:44px}
    .policy-layout{grid-template-columns:minmax(0,1fr) 280px;gap:38px}
    .footer-grid{grid-template-columns:1.5fr 1fr 1fr}
    .footer-grid>div:last-child{grid-column:2}
}
@media(max-width:900px){
    .nav-wrap{height:auto;flex-wrap:wrap;padding-block:12px}
    .nav-wrap nav{order:3;display:flex;width:100%;gap:20px;overflow:auto;padding-top:8px;border-top:1px solid #e7ebf1;white-space:nowrap}
    .region-form{margin-left:auto}
    .hero-grid{min-height:auto;padding-block:68px}
    .home-confidence-grid,.policy-hero-grid{grid-template-columns:1fr}
    .policy-hero-card{max-width:430px}
}
@media(max-width:760px){
    .shell{width:min(100% - 28px,1160px)}
    .managed-banner{min-height:240px;background-position:center}
    .managed-banner-content{padding-top:38px;padding-bottom:48px}
    .managed-banner-content h2{max-width:85%;font-size:2rem}
    .managed-banner-content p{display:none}
    .hero-grid{padding-block:58px}
    .hero h1{font-size:clamp(2.5rem,12vw,3.5rem)}
    .section,.home-confidence{padding-block:60px}
    .home-confidence-grid{gap:34px}
    .policy-hero{padding:60px 0}
    .policy-layout{grid-template-columns:1fr;padding-top:52px;padding-bottom:65px}
    .policy-aside{position:static}
    .footer-grid{grid-template-columns:1fr 1fr;gap:38px 28px}
    .footer-grid>div:first-child{grid-column:1/-1}
    .footer-grid>div:last-child{grid-column:auto}
    .copyright{flex-direction:column}
    .cookie-notice{align-items:stretch;flex-direction:column;gap:15px;left:14px;right:14px;bottom:14px;width:calc(100% - 28px);padding:18px}
    .cookie-actions{justify-content:space-between}
}
@media(max-width:520px){
    .brand{font-size:1rem}
    .brand-mark{width:31px;height:31px}
    .region-form select{max-width:128px}
    .nav-wrap nav{gap:18px;font-size:.88rem}
    .managed-banner{min-height:220px}
    .managed-banner-content h2{max-width:100%;font-size:1.75rem}
    .hero h1{font-size:2.65rem}
    .trust-row{display:grid;gap:6px}
    .confidence-points article{grid-template-columns:42px 1fr;padding:17px}
    .confidence-points article>span{width:40px;height:40px}
    .footer-grid{grid-template-columns:1fr}
    .footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.category-card,.coupon-card,.nav-wrap nav a:after{transition:none}}
