/* Good Naturals brand layer, loaded last on every funnel page. Brand book: company-brain 10 Brands/Good Naturals/BRAND
   GUIDELINES.md and goodnaturals.co: red #E72028 for action and brand moments (hover #9C2D33), ink #244858 for text and
   headings, pale blue #E8F3FB / soft blue #D7ECF4 panels, warm #F9F6ED, Lexend. The layout itself is the War Patches L1
   funnel one-to-one (warpatches-cpk, owner 2026-11-09: "follow the same structures"); only brand touches live here. */
:root { --gn-red:#E72028; --gn-red-h:#9C2D33; --gn-red-deep:#921A27; --gn-ink:#244858; --gn-ink-2:#315E71; --gn-blue:#D7ECF4; --gn-pale:#E8F3FB; --gn-warm:#F9F6ED; }

/* Deal bar: Good Naturals' red announcement bar (white text) instead of the dark bar. */
.l1-topbar { background:var(--gn-red); }
.l1-topbar-text b { color:#fff; }
.l1-clock { border-color:rgba(255,255,255,.6); color:var(--gn-ink); }

/* Buttons: red pill like goodnaturals.co. */
.l1-cta { border-radius:100px; }
.l1-cta:hover { background:var(--gn-red-h); }

/* Plan switch (Subscribe & Save / One-time), the Good Naturals product page's "Choose your offer". */
.gn-plan { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 12px; }
.gn-plan label { position:relative; display:flex; flex-direction:column; gap:2px; padding:10px 12px; border:1.5px solid var(--l1-card); border-radius:12px; background:#fff; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.gn-plan input { position:absolute; opacity:0; pointer-events:none; }
.gn-plan b { color:var(--gn-ink); font-size:15px; font-weight:600; line-height:1.25; }
.gn-plan span { color:var(--l1-muted); font-size:12.5px; line-height:1.3; }
.gn-plan em { position:absolute; top:-9px; right:10px; padding:1px 8px; border-radius:99px; background:var(--gn-red); color:#fff; font-size:10.5px; font-style:normal; font-weight:600; letter-spacing:.03em; text-transform:uppercase; }
.gn-plan label:has(input:checked) { border-color:var(--gn-red); background:#fff7f7; box-shadow:0 0 0 1px var(--gn-red) inset; }
.gn-plan label:has(input:focus-visible) { outline:2px solid var(--gn-red); outline-offset:2px; }

/* Gift rows inside the chosen card. */
.gn-gift-img { flex:none; width:34px; height:34px; border-radius:7px; object-fit:cover; background:var(--gn-pale); }
.l1-extra.gn-extra { cursor:default; }
.l1-extra.gn-extra > span:first-of-type { display:flex; align-items:center; gap:8px; }

/* Review faces and photos */
.gn-ugc { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:16px 0 0; }
.gn-ugc img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:10px; }
@media (min-width:900px) { .gn-ugc { grid-template-columns:repeat(8,1fr); } }
.gn-review-card { display:flex; flex-direction:column; gap:10px; padding:18px; border:1px solid var(--l1-line); border-radius:14px; background:#fff; }
.gn-review-card header { display:flex; align-items:center; gap:10px; }
.gn-review-card header img { width:44px; height:44px; border-radius:50%; }
.gn-review-card h3 { font-size:17px; line-height:1.3; }
.gn-review-card p { margin:0; font-size:15px; line-height:1.6; }
.gn-review-card cite { color:var(--l1-muted); font-size:13.5px; font-style:normal; }
.gn-reviews { display:grid; gap:14px; }
@media (min-width:900px) { .gn-reviews { grid-template-columns:repeat(3,1fr); } }

/* Research cards (the product page's "Real ingredients. Real research.") */
.gn-research { display:grid; gap:14px; }
@media (min-width:700px) { .gn-research { grid-template-columns:repeat(2,1fr); } }
.gn-research article { overflow:hidden; border:1px solid var(--l1-line); border-radius:14px; background:#fff; }
.gn-research img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.gn-research div { padding:14px 16px 16px; }
.gn-research h3 { font-size:18px; }
.gn-research h3 span { display:block; margin-bottom:2px; color:var(--gn-red); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.gn-research p { margin:6px 0 8px; font-size:15px; line-height:1.6; }
.gn-research a { color:var(--gn-ink); font-size:14px; font-weight:600; text-underline-offset:4px; }

/* Facts band (the product page's "Inside every serving") */
.gn-facts { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin:18px 0 0; }
@media (min-width:900px) { .gn-facts { grid-template-columns:repeat(4,1fr); } }
.gn-facts div { padding:16px 14px; border-radius:14px; background:#fff; text-align:center; }
.gn-facts b { display:block; color:var(--gn-red); font-size:30px; font-weight:600; line-height:1.1; letter-spacing:-.02em; }
.gn-facts strong { display:block; margin-top:4px; color:var(--gn-ink); font-size:15px; font-weight:600; }
.gn-facts span { display:block; color:var(--l1-muted); font-size:13px; line-height:1.4; }

/* Comparison checklist (the product page's "The formula. The format. The guarantee.") */
.gn-table { width:100%; border-collapse:collapse; margin:0; font-size:15px; }
.gn-table th, .gn-table td { padding:12px 14px; border-bottom:1px solid var(--l1-line); text-align:left; }
.gn-table th { color:var(--l1-muted); font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.gn-table td:last-child { color:var(--gn-ink); font-weight:600; }

/* Footer: ink, white wordmark */
.abl-funnel-footer { background:var(--gn-ink) !important; }
.abl-funnel-footer img { filter:none !important; width:170px; height:auto; margin:0 auto; }

/* Buy box additions from the product page */
.gn-points { grid-template-columns:1fr 1fr; gap:6px 12px; }
.gn-stock { display:flex; align-items:center; gap:10px; margin:10px 0 0; font-size:13.5px; color:var(--gn-ink); }
.gn-stock span { flex:none; }
.gn-stock > i { position:relative; flex:1; height:8px; border-radius:99px; background:var(--gn-pale); overflow:hidden; }
.gn-stock > i > i { position:absolute; inset:0 auto 0 0; border-radius:99px; background:var(--gn-red); }
.gn-delivery { display:flex; align-items:center; justify-content:center; gap:6px; margin:12px 0 0; color:var(--gn-ink); font-size:14px; }
.gn-delivery svg, .gn-terms svg { flex:none; width:15px; height:15px; fill:none; stroke:var(--l1-green); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.gn-terms { display:grid; gap:4px; margin:12px 0 0; padding:12px 14px; border-radius:12px; background:var(--gn-pale); list-style:none; font-size:13.5px; line-height:1.45; color:var(--gn-ink); }
.gn-terms li { position:relative; padding-left:20px; }
.gn-terms li::before { content:""; position:absolute; left:2px; top:6px; width:9px; height:5px; border-left:2px solid var(--l1-green); border-bottom:2px solid var(--l1-green); transform:rotate(-45deg); }
.gn-terms b { font-weight:600; }
.gn-terms a { color:var(--gn-ink); }
.l1-service__lines li { grid-template-columns:34px 1fr; align-items:center; }
.l1-service__lines li s { color:var(--l1-muted); font-weight:400; }

/* 5 reasons: product page images instead of line icons */
.gn-reasons article { grid-template-columns:72px 1fr; }
.gn-reasons img { grid-row:span 2; width:72px; height:72px; border-radius:12px; object-fit:cover; background:var(--gn-pale); }
@media (min-width:900px) { .l1-reasons.gn-reasons { grid-template-columns:repeat(5,1fr); } .gn-reasons img { width:100%; height:auto; aspect-ratio:1; } }
.gn-guarantee .l1-why .l1-h2, .gn-guarantee .l1-why .l1-kicker, .gn-guarantee .l1-why .l1-lead { text-align:left; }
.gn-guarantee .l1-cta--inline { margin-left:0; }

/* Fixes after the first phone check (2026-11-09) */
.l1-cta { background:var(--gn-red); border-radius:100px; box-shadow:0 10px 22px rgba(231,32,40,.22); }
.l1-cta:active, .l1-cta:hover { background:var(--gn-red-h); }
.gn-plan { margin-top:14px; }
.gn-extra svg { flex:none; width:16px; height:16px; fill:none; stroke:var(--l1-green); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.l1-offer:has(> input[type=radio]:checked) { border-color:var(--gn-red); background:#fff; box-shadow:0 0 0 1px var(--gn-red) inset; }
.l1-offer .l1-badge { background:var(--gn-ink); }
.l1-offer:has(> input[type=radio]:checked) .l1-badge { background:var(--gn-red); }
.l1-guarantee { border-color:var(--gn-blue); background:linear-gradient(135deg,var(--gn-pale),#fff 75%); box-shadow:0 8px 22px rgba(36,72,88,.10); }
.l1-press { background:var(--gn-ink-2); }
.l1-offer .l1-badge.l1-badge--soft { background:var(--gn-pale); color:var(--gn-ink); }
.l1-offer:has(> input[type=radio]:checked) .l1-badge.l1-badge--soft { background:var(--gn-red); color:#fff; }
.gn-table caption { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.gn-yes span::first-letter { color:var(--l1-green) !important; }
.gn-review-card header > div { display:flex; flex-direction:column; gap:2px; }
.gn-guarantee .gn-terms { margin:14px 0 0; }
.l1-topbar.l1-topbar--sale { background:var(--gn-red); }
.l1-topbar--sale .l1-topbar-text b { color:#fff; }

/* goodnaturals.co design (owner 2026-11-09: "make the product page design like ours, the colour pattern"): the theme's
   pattern band, botanical dividers and lighter, tighter Lexend headlines with uppercase red eyebrows. */
.gn-pattern { --tile:24px; display:grid; grid-template-rows:repeat(2,1fr); height:48px; width:100%; background:#315e71; }
.gn-pattern__row { --ink:#315e71; display:block; min-width:0; background-color:#47798c; background-image:linear-gradient(90deg,var(--ink) 50%,transparent 50%),repeating-linear-gradient(135deg,var(--ink) 0 1px,transparent 1px 4px); background-size:calc(var(--tile)*2) 100%,auto; background-repeat:repeat-x,repeat; }
.gn-pattern__row--lower { --ink:#244858; background-color:#315e71; background-position:var(--tile) 0,0 0; }
@media (max-width:600px) { .gn-pattern { --tile:18px; height:36px; } }
.gn-divider { position:relative; z-index:2; height:64px; background:linear-gradient(to bottom,var(--gn-divider-top,#fff) 0 50%,var(--gn-divider-bottom,#d7ecf4) 50% 100%); pointer-events:none; user-select:none; }
.gn-divider__inner { position:relative; width:min(100%,1440px); height:100%; margin-inline:auto; }
.gn-divider__art { position:absolute; top:50%; width:150px; transform:translateY(-50%); }
.gn-divider--left .gn-divider__art { left:clamp(20px,4vw,72px); }
.gn-divider--right .gn-divider__art { right:clamp(20px,4vw,72px); }
.gn-divider .gn-ingredient-doodle-v28 { display:block; width:100%; height:auto; aspect-ratio:22/15; overflow:visible; }
.gn-divider__art--black-seed .gn-ingredient-doodle-v28 { filter:drop-shadow(0 .75px 0 #f9f6ed) drop-shadow(0 -.75px 0 #f9f6ed) drop-shadow(.75px 0 0 #f9f6ed) drop-shadow(-.75px 0 0 #f9f6ed); }
@media (max-width:749px) { .gn-divider { height:48px; } .gn-divider__art { width:104px; } .gn-divider--left .gn-divider__art { left:16px; } .gn-divider--right .gn-divider__art { right:16px; } }
.l1 .l1-h2, .l1 .l1-title { font-weight:500; letter-spacing:-.035em; }
.l1 .l1-kicker { color:var(--gn-red); font-size:12px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.l1-sec.l1-tint { background:var(--gn-pale); }
