/* HD5 r40: one contrast-led visual system for every customer-facing app state. */
:root{--screen-navy:#172b3a;--screen-teal:#245358;--screen-cream:#fffaf2;--screen-gold:#f5c25c;--screen-line:#8fa9a0}
body{background:linear-gradient(155deg,#142a38 0%,#245358 42%,#d9bd8e 100%)}
.app-shell{background:rgba(23,43,58,.92)}
.topbar{background:var(--screen-navy);border-bottom-color:var(--screen-gold)}
.topbar .brand,.topbar .step{color:var(--screen-cream)}
.status-row{margin:12px 0 0;background:rgba(7,25,34,.82);border:1px solid rgba(255,250,242,.27);color:var(--screen-cream)}
.trial-pill,.safe-pill{border-color:rgba(255,250,242,.42);background:rgba(255,250,242,.12);color:var(--screen-cream)}
.content{border:1px solid rgba(255,250,242,.35);background:linear-gradient(145deg,#193744 0%,#275b5d 64%,#3d746b 100%);box-shadow:0 20px 44px rgba(7,19,26,.38)}
.content h1,.content .intro,.content .lede,.content .micro,.content legend,.content .field-help,.content .seasonal-toggle{color:var(--screen-cream)}
.content .eyebrow{color:var(--screen-gold)}
.content legend span{color:#d9e7e0}
.content fieldset,.content .detail-block,.content details{border-color:rgba(255,250,242,.24)}
.content .choice span,.content .counter,.content .ingredient-trigger,.content .picker-list span,.content .ingredient-option{border-color:var(--screen-line);background:var(--screen-cream);color:var(--screen-navy)}
.content .choice input:checked+span,.content .picker-list input:checked+span{background:#7f3f2d;border-color:#7f3f2d;color:#fffaf2}
.content .counter button{color:var(--screen-navy)}
.content .chip{background:#f2c79d;color:var(--screen-navy)}
.content .secondary{background:rgba(255,250,242,.14);border-color:rgba(255,250,242,.55);color:var(--screen-cream)}
.content .primary{background:#bd4d2a;color:#fffaf2}
.content .meal-card{border-color:rgba(255,250,242,.34);box-shadow:0 10px 24px rgba(7,19,26,.20)}
.content .meal-card.best{border-color:#f5c25c;background:#f8d6c1}
.content .meal-card:nth-child(3n+2){background:#e0eee7}.content .meal-card:nth-child(3n){background:#f4e2bd}
.content .detail-block h2,.content .section-heading h2{color:var(--screen-cream)}
.content .ingredient-grid span{background:#fff4e6;color:var(--screen-navy);border-color:#d9bd8e}.content .ingredient-grid .core{background:#dff0e6}
.content .steps li{color:var(--screen-cream)}.content details p,.content.legal p{color:#e3f0e9}.content summary{color:var(--screen-cream)}
.hero:not(:has(.hero-art)),.hero:has(.hero-art){border-color:rgba(255,250,242,.35);box-shadow:0 20px 44px rgba(7,19,26,.38)}
.hero .secondary{background:rgba(255,250,242,.14);border-color:rgba(255,250,242,.55);color:var(--screen-cream)}
.hero.complete{background:linear-gradient(145deg,#3a2932 0%,#713d30 48%,#a35335 100%)}
.hero.upgrade{background:linear-gradient(145deg,#172b3a 0%,#245358 56%,#39776f 100%)}
.hero .access-summary,.hero .complete-card{border-color:rgba(255,250,242,.35)}
.hero .complete-card{background:#fff4e6;color:var(--screen-navy)}
.hero .complete-card p{color:#50616b}.hero .complete-card.access-active{background:#dff0e6}
.hero .trial-count-banner{border:1px solid rgba(255,250,242,.3)}
footer .trust-link{border-color:rgba(255,250,242,.4);background:rgba(255,250,242,.12);color:var(--screen-cream)}
footer .build-stamp{color:#d9e5e1}
@media(min-width:700px){.app-shell{border-color:#d9bd8e;background:#172b3a}}

/* r40 candidate correction — contrast only, no layout, markup or access/payment change. */
.content fieldset{background:transparent;box-shadow:none}
.content .email-field{color:var(--screen-cream)}
.hero .email-list-card .secondary{background:var(--screen-navy);border-color:var(--screen-navy);color:var(--screen-cream)}
.hero .build-stamp{color:#d9e5e1}
dialog{background:var(--screen-navy)}
.picker-head{background:transparent}
.picker h2,.picker .icon-button{color:var(--screen-cream)}
.picker .eyebrow{color:var(--screen-gold)}
.picker .icon-button{border-color:rgba(255,250,242,.4)}
.picker>p,.picker-help,.picker-selected{color:#e3f0e9}
.picker-group{border-color:rgba(255,250,242,.24);background:rgba(255,250,242,.08)}
.picker-group h3{color:var(--screen-gold)}
.picker-group.seasonal-group{border-color:rgba(245,194,92,.45);background:rgba(245,194,92,.10)}
.picker-group span,.ingredient-option{border-color:var(--screen-line);background:var(--screen-cream);color:var(--screen-navy)}
.picker-group input:checked+span,.ingredient-option.is-selected{background:#7f3f2d;border-color:#7f3f2d;color:#fffaf2}
.picker-save{background:#bd4d2a;color:#fffaf2}

/* r43 candidate: make the free-access step as clear and contained as the rest of the approved customer flow. */
.content.access-verification .access-kicker{display:inline-flex;align-items:center;justify-content:center;margin:0 auto 18px;padding:10px 14px;border:1px solid rgba(245,194,92,.78);border-radius:12px;background:rgba(245,194,92,.12);color:var(--screen-gold);font-size:13px;font-weight:900;letter-spacing:.12em;line-height:1.2}
.content.access-verification .secure-access-form{margin:26px 0 0;padding:18px;border:1px solid rgba(255,250,242,.34);border-radius:16px;background:rgba(255,250,242,.1);text-align:left}
.content.access-verification .email-field{display:grid;gap:8px;color:var(--screen-cream);font-size:13px;font-weight:800}
.content.access-verification .email-field input[type=email]{width:100%;margin:0;padding:14px;border:1px solid rgba(255,250,242,.62);border-radius:11px;background:var(--screen-cream);color:var(--screen-navy);font-size:16px}
.content.access-verification .secure-access-form .primary{margin-top:14px}

/* r46: price disclosure must remain clear before email verification. */
.hero:has(.hero-art) .access-options{background:#e3f0e9;border-color:#8cc1ae}
.hero:has(.hero-art) .access-options .micro{color:#000000;font-size:14px;font-weight:800;line-height:1.5}
.hero:has(.hero-art) .access-options .restore-link{color:#172b3a}
.hero:has(.hero-art) .eyebrow{display:inline-flex;align-items:center;justify-content:center;margin:0 auto 18px;padding:10px 14px;border:1px solid rgba(245,194,92,.78);border-radius:12px;background:rgba(245,194,92,.12);color:#f5c25c;font-size:13px;font-weight:900;letter-spacing:.12em;line-height:1.2}
.hero .email-list-card>p:not(.micro){color:#000000}
.hero .email-list-card .seasonal-toggle{font-weight:700}
