/* Shared reading scale for home, product, policy and checkout pages. */
body{font-size:17px;line-height:1.6;color:#20372c}p,li{line-height:1.6}footer,.footer-bottom,.footer-bottom a,.footer-top a{font-size:15px;line-height:1.6}.announcement,.home-page .announcement{font-size:13px;line-height:1.4;height:auto;min-height:40px}.eyebrow,.guarantee-eyebrow{font-size:14px}.original-section p,.original-home .symptoms-card__long,.original-product .symptoms-card__long,.ing-item-subtitle,.product-card__benefits li,.two-products-section .product-card__benefits li{font-size:16px;line-height:1.6}.original-section .ct-carousel__quote,.photo-reviews .asr-review-quote{font-size:17px;line-height:1.6}.original-section .ct-carousel__name{font-size:17px}.original-section .guarantee-text{font-size:17px;line-height:1.6}.original-section .guarantee-policy{font-size:15px}.faq-answer,.faq-answer p,.product_faq-content p,.policy-page p,.policy-page li{font-size:17px;line-height:1.65}.original-section .compare-table__other-label{font-size:17px;font-weight:700;line-height:1.4;padding:10px 7px;color:#243a2f;overflow-wrap:normal}.original-section .compare-table td{font-size:16px;line-height:1.5;padding:16px 10px}.original-section .compare-table__feature-col{width:43%}.original-section .compare-table__brand-col{width:24%}.original-section .compare-table__other-col{width:33%}.original-section .compare-table__check svg{width:25px;height:25px}.pdp .main_product-reviews p{font-size:14px;color:#3f4d43}.pdp .itrow__text{font-size:15px;color:#30432f}.pdp .main_product-feature-line p{font-size:16px;line-height:1.5}.pdp .refined-bundle-heading>span{font-size:14px;color:#4d5d49}.pdp .bundle-each{font-size:14px;line-height:1.45;color:#4b5c44}.pdp .product-selector_compare{font-size:14px;color:#57624f}.pdp .perk-item span,.pdp .active .perk-item span{font-size:14px;line-height:1.4;color:#34492e}.pdp .product-selector_perk_line{flex-wrap:wrap;gap:8px 14px}.pdp .refined-badge{font-size:11px;padding:4px 7px}.pdp .pp_var_autoship_title{font-size:18px}.pdp .pp_var_autoship_text{font-size:14px;line-height:1.5;color:#485c3f}.pdp .refined-summary{font-size:14px;color:#405238}.pdp .product_atc-icon-line p{font-size:14px;color:#42513c}.pdp .authenticity-note h3{font-size:16px}.pdp .authenticity-note p,.pdp .authenticity-note a{font-size:15px;color:#42543b}.pdp .product_tab-thumb-left p,.pdp .source-detail summary{font-size:16px}.pdp .product_tab-content{font-size:16px;line-height:1.65}.pdp .product-selector_title{font-size:18px}.pdp .product-selector_price{font-size:22px}.pdp .refined-bundle-heading{flex-wrap:wrap;gap:6px 12px}.pdp .product_atc-icons{flex-wrap:wrap;gap:10px 18px}.pdp .source-prices{min-width:72px}.pdp .product-selector_head{gap:3px}.pdp .product-selector_head>div:nth-child(2){flex:1;width:auto}.pdp .perk-item{white-space:normal}.preview-note,.bag-note,.bag-line p,.purchase-assurance,.sticky-buy span{font-size:14px}.home-page .hero-content p{font-size:17px}.home-page .hero-guarantee{font-size:14px}
@media(max-width:760px){.pdp .main_product-reviews{flex-wrap:wrap;gap:6px 10px}.pdp .main_product-reviews p{font-size:14px}.pdp .itrow__list{gap:8px 15px}.pdp .itrow__text{font-size:14px}.pdp .main_product-feature-line p{font-size:16px}.pdp .bundle-each{font-size:13px}.pdp .product-selector_title{font-size:17px}.pdp .product-selector_perk_line .perk-item img{width:18px;height:18px;flex-basis:18px}.pdp .perk-item span,.pdp .active .perk-item span{font-size:14px}.pdp .var-image{flex-basis:44px}.pdp .var-image img{width:36px!important;margin-right:8px}.original-product .compare-table__feature-col{width:40%}.original-product .compare-table__brand-col{width:25%}.original-product .compare-table__other-col{width:35%}.original-product .compare-table__other-label{font-size:16px;line-height:1.4}.original-product .compare-table td{font-size:16px;padding:14px 8px}.original-product .compare-table__brand-pill,.original-product .compare-table__other-label{min-height:155px}.original-home .symptoms-card__long,.original-product .symptoms-card__long{font-size:16px}.home-page .hero-content p{font-size:15px;line-height:1.45}.home-page .hero-guarantee{font-size:12px}.home-page .announcement{font-size:11px}.home-page .hero-content{top:76px}.home-page .hero-content h1{font-size:28px}.home-page .hero-badges{margin-bottom:10px}}
@media(max-width:350px){.pdp .var-image{display:none}.pdp .product-selector_title{font-size:17px}.home-page .hero{aspect-ratio:auto;min-height:640px}.home-page .hero-content p{font-size:15px}.home-page .hero-content h1{font-size:26px}.home-page .hero-guarantee{font-size:12px}}
.pdp .product-selector_head>div.source-prices{width:auto;flex:0 0 auto;min-width:72px}.pdp .product-selector_head>div:nth-child(2){width:auto;flex:1 1 auto}
/* Rhodiola: three equal, readable features on one horizontal row. */
.pdp[data-product="rhodiola"] .itrow__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}.pdp[data-product="rhodiola"] .itrow__item,.pdp[data-product="rhodiola"] .itrow__item+.itrow__item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;margin:0;padding:9px 3px;border-radius:7px;background:#f5f7ef}.pdp[data-product="rhodiola"] .itrow__text{font-size:14px;line-height:1.35;white-space:nowrap}.pdp[data-product="rhodiola"] .itrow__item img{width:16px;height:16px}
@media(max-width:380px){.pdp[data-product="rhodiola"] .itrow__list{gap:5px}.pdp[data-product="rhodiola"] .itrow__text{font-size:12px}}
/* Keep bundle photographs visible at every screen width. */
.pdp .var-image{display:flex!important;flex:0 0 56px;align-items:center;justify-content:center}.pdp .var-image img{display:block;width:48px!important;height:54px!important;margin-right:8px;object-fit:contain}.pdp .product-selector_head>div:nth-child(2){min-width:0}.pdp .product-selector_head{padding:13px 10px}.pdp .product-selector_block.active .product-selector_head{padding:12px 9px}.pdp .product-selector_title{font-size:17px}.pdp .bundle-each{font-size:13px;line-height:1.4}.pdp .product-selector_perk_line{padding:8px 10px}.pdp .refined-bundle-heading{margin-bottom:14px}.pdp .purchase-options{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin:0 0 18px;background:#edf1e7;border:0;border-radius:10px;min-width:0}.pdp .purchase-options label{position:relative;display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:65px;padding:9px 8px;border:1px solid transparent;border-radius:7px;text-align:center;cursor:pointer}.pdp .purchase-options label:has(input:checked){background:white;border-color:#809b66;box-shadow:0 1px 4px #183d3210}.pdp .purchase-options strong{font-size:14px;line-height:1.3;color:#213e2c}.pdp .purchase-options small{font-size:12px;line-height:1.3;color:#4f6046}.pdp .purchase-options label:focus-within{outline:2px solid #244a37;outline-offset:1px}.pdp .pp_var_autoship{display:none}.pdp .refined-summary{display:block;margin:12px 0 9px;font-size:14px;line-height:1.5}.pdp .refined-summary [data-cancel-note]{display:block;font-weight:400;color:#53634b;font-size:13px;margin-top:3px}.pdp .product-selector_block{margin-bottom:14px}
@media(max-width:350px){.pdp .var-image{flex-basis:42px}.pdp .var-image img{width:36px!important;height:44px!important;margin-right:6px}.pdp .product-selector_title{font-size:16px}.pdp .bundle-each{font-size:12px}.pdp .product-selector_price{font-size:20px}.pdp .source-prices{min-width:60px}.pdp .product-selector_head>div.source-prices{min-width:60px}}
/* Bundle extras stay in one horizontal row. */
.pdp .product-selector_perk_line{display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start}.pdp .product-selector_perk_line .perk-item{white-space:nowrap;gap:4px;min-width:0}.pdp .perk-item span,.pdp .active .perk-item span{font-size:13px;line-height:1.4}.pdp .product-selector_perk_line .perk-item img{width:15px;height:15px;flex-basis:15px}
@media(max-width:380px){.pdp .product-selector_perk_line{gap:7px;padding:8px}.pdp .perk-item span,.pdp .active .perk-item span{font-size:12px}.pdp .product-selector_perk_line .perk-item{gap:3px}.pdp .product-selector_perk_line .perk-item img{width:13px;height:13px;flex-basis:13px}}
.pdp .active .product-selector_perk_line{flex-wrap:nowrap}
.pdp .purchase-options{margin:16px 0 12px}.pdp .dispatch-note{font-size:14px;line-height:1.45;text-align:center;color:#405238;margin:12px 0 10px;font-weight:700}
.pdp .product-selector_atc{justify-content:center}.payment-marks{display:flex;justify-content:center;align-items:center;gap:7px;margin:13px 0 20px;flex-wrap:nowrap}.payment-mark{width:58px;height:34px;border:1px solid #e0e3df;border-radius:5px;background:white;display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:11px;font-weight:700;line-height:1;flex-shrink:0}.payment-mark.visa{font-size:19px;font-style:italic;color:#17357c}.payment-mark.mastercard{position:relative;gap:0;padding-bottom:7px}.mastercard i,.mastercard b{width:18px;height:18px;border-radius:50%;background:#eb001b;display:block}.mastercard b{background:#f79e1b;margin-left:-7px;opacity:.9}.payment-mark.mastercard small{position:absolute;bottom:3px;font-size:6px;font-weight:400;color:#222}.payment-mark.apple-pay{font-size:11px;color:#111}.payment-mark.google-pay{font-size:12px;font-weight:400;color:#333;gap:3px}.google-pay b{font-size:16px;color:#4285f4}.payment-mark.link-pay{background:#00d66f;color:#003b26;font-size:20px;font-weight:700;letter-spacing:-1px}@media(max-width:350px){.payment-marks{gap:5px}.payment-mark{width:50px}}
.pdp .product-science-image{margin:24px 0 0;width:100%}.pdp .product-science-image img{display:block;width:100%;height:auto;object-fit:contain;border-radius:12px}
/* Original photographic trust section, with readable mobile cards. */
.original-product>.trust-outer{position:relative;background:#0e1c25 url('/assets/5ec3e9f3acc5-960.avif') center bottom/cover no-repeat!important;padding:60px 20px!important}.original-product .trust-outer:before{content:'';position:absolute;inset:0;background:rgba(14,28,37,.88)}.original-product .trust-inner{position:relative;z-index:1;max-width:1280px;width:100%;padding:0 30px;display:flex;flex-direction:column;align-items:center;gap:28px}.original-product .trust-title{color:#c9de80!important;font-size:42px;margin:0}.original-product .trust-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;margin:0}.original-product .trust-badge{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;background:#ffffff26;border:1px dashed #ffffff26;border-radius:5px;padding:16px 12px;width:auto;max-width:none;min-height:88px;box-shadow:none}.original-product .trust-badge img{width:32px;height:32px;object-fit:contain;filter:none}.original-product .trust-badge span{font-size:18px;color:white;line-height:1.35;font-weight:500}.original-product .trust-tags{display:flex;flex-direction:row!important;gap:18px 24px;justify-content:center;flex-wrap:wrap;margin:0;padding:0;border:0;background:transparent}.original-product .trust-tag{display:flex;align-items:center;gap:7px;background:transparent;padding:0;border:0}.original-product .trust-tag img{width:20px;height:20px;filter:none}.original-product .trust-tag span:last-child{font-size:16px;color:white;line-height:1.4}
@media(max-width:700px){.original-product>.trust-outer{padding:42px 20px!important}.original-product .trust-inner{padding:0;gap:24px}.original-product .trust-title{font-size:30px!important}.original-product .trust-badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.original-product .trust-badge{flex-direction:column;text-align:center;padding:16px 10px;min-height:128px}.original-product .trust-badge span{font-size:16px;line-height:1.4}.original-product .trust-tags{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;width:100%;max-width:none;align-items:start!important}.original-product .trust-tag:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center}.original-product .trust-tag span:last-child{font-size:15px}}
/* Show every symptom card in a normal responsive grid. */
.original-product .symptoms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:22px;overflow:visible;scroll-snap-type:none;padding:0;height:auto}.original-product .symptoms-card{width:auto;min-width:0;height:auto}.original-product .symptom-navigation{display:none}.original-product .symptoms-head{display:block}.original-product .symptoms-card__image{width:100%;height:250px;min-height:0;aspect-ratio:auto}.original-product .symptoms-card__image img{width:100%;height:100%;object-fit:cover}.original-product .symptoms-head>h3{font-size:22px;line-height:1.25;padding:20px 20px 0}.original-product .symptoms-card__body{padding:16px 20px 22px}.original-product .symptoms-card__long{font-size:16px;line-height:1.6}
@media(max-width:1000px){.original-product .symptoms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.original-product .symptoms-grid{grid-template-columns:minmax(0,1fr);gap:20px}.original-product .symptoms-card__image{height:260px}}
.pdp .replica-notice{margin:22px 0 0;padding:18px 20px;background:#fff7f4;border:1px solid #eedbd2;border-radius:10px}.pdp .replica-notice-heading{display:flex;align-items:center;gap:10px}.pdp .replica-notice-heading svg{width:23px;height:23px;flex:0 0 23px;color:#a43e2a}.pdp .replica-notice h3{font-family:Lato,Arial,sans-serif;font-size:17px;font-weight:700;line-height:1.35;letter-spacing:0;color:#763121;margin:0}.pdp .replica-notice p{margin:9px 0 0 33px;font-size:15px;line-height:1.55;color:#654c42}@media(max-width:380px){.pdp .replica-notice{padding:16px 14px}.pdp .replica-notice h3{font-size:16px}.pdp .replica-notice p{margin-left:0}}
/* Four trust badges in one row; compact bold supporting labels. */
.original-product .trust-badges{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.original-product .trust-badge{flex-direction:column;text-align:center;padding:14px 8px;min-height:125px}.original-product .trust-badge span{font-size:16px;line-height:1.35}.original-product .trust-tags{display:flex;flex-direction:row!important;flex-wrap:wrap;justify-content:center;gap:10px 18px}.original-product .trust-tag span:last-child{font-size:13px;font-weight:700;line-height:1.35}.original-product .trust-tag img{width:16px;height:16px}.original-product .trust-tag:last-child:nth-child(odd){grid-column:auto;justify-self:auto}
@media(max-width:700px){.original-product .trust-badges{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.original-product .trust-badge{padding:12px 4px;min-height:139px;gap:9px}.original-product .trust-badge img{width:27px;height:27px}.original-product .trust-badge span{font-size:12px;line-height:1.35;overflow-wrap:normal}.original-product .trust-tags{display:flex;gap:10px 15px}.original-product .trust-tag span:last-child{font-size:12px;font-weight:700}.original-product .trust-tag{gap:5px}}
@media(max-width:360px){.original-product>.trust-outer{padding-left:10px!important;padding-right:10px!important}.original-product .trust-badges{gap:5px}.original-product .trust-badge span{font-size:11px}}
.payment-mark img{width:44px;height:23px;object-fit:contain}.pdp .purchase-options{grid-template-columns:.85fr 1.15fr}.pdp .purchase-options strong{font-size:15px}.pdp .purchase-options small{font-size:12px;line-height:1.4}.pdp .purchase-options label:has(input[value="sub"]:checked){background:#f4f8e9;border-color:#698c46}.pdp .purchase-options label{min-height:74px}
/* Compact payment row matching the source site's scale. */
.pdp .payment-marks{gap:5px;margin:10px auto 16px}.pdp .payment-mark{width:38px;height:24px;border-radius:3px}.pdp .payment-mark img{width:30px;height:17px}.pdp .payment-mark.link-pay{font-size:15px;letter-spacing:-.6px}
.pdp .purchase-options{margin:0 0 18px}

/* NORAVELI brand identity */
.noraveli-wordmark{display:block;font-family:Lato,Arial,sans-serif;font-size:25px;font-weight:700;letter-spacing:2px;line-height:1;color:#183d32}.footer-brand{font-family:Lato,Arial,sans-serif!important;font-size:clamp(28px,5vw,54px)!important;font-weight:700;letter-spacing:3px}.header .brand{width:auto;flex-shrink:0}@media(max-width:600px){.noraveli-wordmark{font-size:21px;letter-spacing:1.4px}.header{gap:12px}}
/* Three equal product highlights, including narrow mobile layouts. */
.pdp[data-product="wormwood-by-noraveli"] .itrow__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch;width:100%}
.pdp[data-product="wormwood-by-noraveli"] .itrow__item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:7px;min-width:0;margin:0;padding:10px 4px;background:#f3f6ed;border-radius:8px}
.pdp[data-product="wormwood-by-noraveli"] .itrow__text{font-size:14px;line-height:1.35;white-space:normal}
.pdp[data-product="wormwood-by-noraveli"] .itrow__item img{width:17px;height:17px}
.pdp .main_product-reviews p{white-space:nowrap;font-size:14px;line-height:1.4}
@media(max-width:430px){.pdp .main_product-reviews{flex-wrap:wrap;gap:7px}.pdp .main_product-reviews>div:first-child{flex:0 0 146px}.pdp .main_product-reviews>div:last-child{flex-basis:100%}.pdp .main_product-reviews p{font-size:14px}.pdp[data-product="wormwood-by-noraveli"] .itrow__text{font-size:13px}}
/* Match the transparent homepage hero header. */
.home-page .header .noraveli-wordmark{color:#fff;background:transparent}

.pdp[data-product="wormwood-by-noraveli"] .itrow__item img{width:25px;height:25px;object-fit:contain;flex-shrink:0}
@media(max-width:760px){
.pdp .main_product-reviews{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;width:100%}
.pdp .main_product-reviews>div:first-child{flex:0 0 clamp(82px,24vw,110px);width:clamp(82px,24vw,110px)}
.pdp .main_product-reviews>div:first-child img{display:block;width:100%;height:auto;max-width:100%}
.pdp .main_product-reviews>div:last-child{flex:1 1 auto;min-width:0}
.pdp .main_product-reviews p{white-space:nowrap;font-size:clamp(10px,2.85vw,14px);line-height:1.4;margin:0;letter-spacing:-.15px}
}
@media(max-width:760px){.pdp .main_product-reviews p{font-size:clamp(12px,3.45vw,14px)}}
/* A single clear purchase action and a quieter authenticity notice. */
.pdp .dispatch-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 10px;font-size:13px;font-weight:600;color:#46604d;line-height:1.5}
.pdp .dispatch-note:before{content:"";width:7px;height:7px;flex:0 0 7px;background:#688653;border-radius:50%}
.pdp .product-selector_atc{display:flex;justify-content:center;align-items:center;width:100%;min-height:60px;padding:16px 24px;border:1px solid #173e2e;border-radius:12px;background:#214d39;color:#fff;font-family:Lato,Arial,sans-serif;font-size:19px;font-weight:800;letter-spacing:.01em;box-shadow:0 4px 0 #143425;transition:background .15s,transform .15s;opacity:1}
.pdp .product-selector_atc:hover{background:#173e2e;opacity:1}
.pdp .product-selector_atc:active{transform:translateY(2px);box-shadow:0 2px 0 #143425}
.pdp .product-selector_atc>span{border:0!important;padding:0!important;margin:0!important}
.pdp .product-selector_atc:before,.pdp .product-selector_atc:after,.pdp .product-selector_atc>span:before,.pdp .product-selector_atc>span:after{content:none!important;display:none!important}
.pdp .product-selector_atc [hidden]{display:none!important}
.pdp .replica-notice{margin:24px 0 0;padding:18px;background:#faf8f4;border:1px solid #e8e2d8;border-radius:12px;box-shadow:none}
.pdp .replica-notice-heading{gap:10px;align-items:center}
.pdp .replica-notice-heading svg{width:22px;height:22px;flex:0 0 22px;color:#91603e}
.pdp .replica-notice h3{font:700 16px/1.4 Lato,Arial,sans-serif;color:#4b3c2e}
.pdp .replica-notice p{margin:8px 0 0 32px;font-size:14px;line-height:1.6;color:#665e53}
@media(max-width:760px){
.pdp .main_product-reviews>div:first-child{flex:0 0 clamp(115px,32vw,145px);width:clamp(115px,32vw,145px)}
.pdp .main_product-reviews p{font-size:clamp(10px,2.9vw,12px);letter-spacing:-.15px}
}
.pdp .product-selector_atc{min-height:62px;background:#d4e887;color:#173b2a;border:1px solid #bed367;border-radius:12px;box-shadow:0 4px 0 #a4bb54,0 8px 18px #29431c12;font-size:20px;font-weight:900}
.pdp .product-selector_atc:hover{background:#def09b;color:#173b2a}
.pdp .product-selector_atc:active{box-shadow:0 2px 0 #a4bb54;transform:translateY(2px)}
.pdp .product-selector_atc:focus-visible{outline:3px solid #214d39;outline-offset:5px}
/* Purchase frequency: each choice keeps its own clear selection control. */
.pdp .purchase-options{gap:9px;padding:0;background:transparent;margin:0 0 18px}
.pdp .purchase-options label{align-items:flex-start;justify-content:center;min-height:78px;padding:14px 12px 13px 43px;border:1px solid #d8e0d1;border-radius:11px;background:#fff;text-align:left}
.pdp .purchase-options label:before{content:"";position:absolute;left:14px;top:50%;width:19px;height:19px;border:1.75px solid #9aab96;border-radius:50%;transform:translateY(-50%);background:#fff}
.pdp .purchase-options label:after{content:"✓";position:absolute;left:14px;top:50%;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;transform:translateY(-50%) scale(.6);background:#214d39;color:#fff;font:800 13px/19px Arial,sans-serif;opacity:0;transition:opacity .15s,transform .15s}
.pdp .purchase-options label:has(input:checked){background:#f4f8e9;border-color:#6f934c;box-shadow:0 2px 8px #183d3210}
.pdp .purchase-options label:has(input:checked):after{opacity:1;transform:translateY(-50%) scale(1)}
.pdp .purchase-options strong{font-size:15px;font-weight:800;line-height:1.25;color:#1d3c2c}
.pdp .purchase-options small{display:block;margin-top:4px;font-size:12px;font-weight:500;line-height:1.35;color:#596b54}
@media(max-width:760px){.pdp .purchase-options label{min-height:76px;padding-left:39px;padding-right:8px}.pdp .purchase-options label:before,.pdp .purchase-options label:after{left:12px}.pdp .purchase-options strong{font-size:14px}.pdp .purchase-options small{font-size:11px}}
.original-product .symptoms-readable .symptoms-label{font:800 13px/1.5 Lato,Arial,sans-serif;letter-spacing:.09em;margin-bottom:12px;color:#4a614d}
.original-product .symptoms-readable .symptoms-headline{font-size:clamp(30px,4vw,44px);line-height:1.15;max-width:720px;margin:0 auto 20px}
.original-product .symptoms-readable .symptoms-subtitle{font:400 18px/1.65 Lato,Arial,sans-serif;color:#425248;max-width:680px;margin:0 auto 32px}
.original-product .symptoms-readable .symptoms-card{background:#fff;border:1px solid #e1e7dd;border-radius:16px;overflow:hidden;box-shadow:none;text-align:left}
.original-product .symptoms-readable .symptoms-head>h3{position:static;background:none;color:#203d2d;padding:22px 22px 0;margin:0;font:800 22px/1.3 Lato,Arial,sans-serif;letter-spacing:-.02em}
.original-product .symptoms-readable .symptoms-card__body{padding:12px 22px 24px}
.original-product .symptoms-readable .symptoms-card__short{font:700 18px/1.5 Lato,Arial,sans-serif;color:#253d2f;margin:0 0 10px}
.original-product .symptoms-readable .symptoms-card__long{font:400 17px/1.65 Lato,Arial,sans-serif;color:#4a554d;margin:0}
@media(max-width:600px){.original-product .symptoms-readable .symptoms-grid{gap:24px}.original-product .symptoms-readable .symptoms-card__image{height:auto;aspect-ratio:4/3}.original-product .symptoms-readable .symptoms-subtitle{text-align:left;font-size:18px}.original-product .symptoms-readable .symptoms-headline br{display:none}}

/* Symptom cards on a phone, matched to the source page.
   Measured at 375px there: the card is 224px tall because the picture is a
   50x50 icon beside the title, not a banner above it. Ours rendered the same
   picture 265px tall, making one card 446px and the whole block 3251px — six
   screens of scrolling for six short lines of copy.
   Scoped with the same three classes as the rules it has to beat; a shorter
   selector loses on specificity no matter how late it appears. */
@media (max-width: 760px) {
 .original-product .symptoms-readable .symptoms-head{display:flex;align-items:center;gap:14px;padding:0}
 .original-product .symptoms-readable .symptoms-card{padding:10px 12px;border-radius:10px;height:auto}
 .original-product .symptoms-readable .symptoms-card__image{width:50px;height:50px;flex:none;aspect-ratio:auto;border-radius:8px;overflow:hidden;margin:0}
 .original-product .symptoms-readable .symptoms-card__image img{width:50px;height:50px;object-fit:cover;object-position:center}
 /* The title overlays the picture on desktop. Beside a 50px icon it has to
    come back out of that overlay or it sits on top of the icon. */
 .original-product .symptoms-readable .symptoms-card__title,
 .original-product .symptoms-readable .symptoms-head>h3{position:static;background:none;color:var(--ink);padding:0;margin:0;font-size:20px;line-height:1.25;text-shadow:none}
 .original-product .symptoms-readable .symptoms-card__body{padding:10px 0 2px}
 .original-product .symptoms-readable .symptoms-card__short{font-size:16px;line-height:1.4}
 .original-product .symptoms-readable .symptoms-card__long{font-size:14px;line-height:1.5}
}

/* ---- Matched to the source product page -------------------------------
   Values measured on holior.com at 375px, not estimated. */

/* Claim band: no frame, no fill — the rule lines were ours, the source lets
   it sit on the page background. Text and separator share one dark tone. */
/* The band sits on a lime field on the source page — the wrapper itself is
   transparent and the colour comes from its parent, which is why a first look
   at the wrapper reports 'transparent'. Measured value: rgb(201,222,128),
   a hair deeper than NORAVELI's own --lime (#d5ec8b).
   Full-bleed: it runs edge to edge there, so it breaks out of the centred
   column rather than sitting inside it. */
.press-band{border-top:0;border-bottom:0;background:#c9de80;padding:14px 0;margin:0 0 26px;width:100%}
.press-item{color:#0e1c25;font-size:16px;font-weight:400;padding:0 25px}
.press-sep{background:#0e1c25;opacity:1;height:18px}

/* Subtitle pill. The source uses a dark navy block with tan text; this keeps
   that shape and contrast in NORAVELI's own colours, with a little more
   breathing room and a softer corner. */
.pdp .product-information .subtitle,
.product-information .subtitle{
 display:block;background:#0e1c25;color:var(--lime);
 font-size:14px;font-weight:600;line-height:1.5;letter-spacing:.005em;
 padding:9px 13px;border-radius:10px;margin:0 0 16px;border:0}

/* Add to cart, shaped like the source: one solid block, 8px corners,
   20px semibold, no shadow. The colour stays NORAVELI's dark green rather
   than the source's navy, so it belongs to the rest of the page. */
.pdp .product-selector_atc.add-to-bag{
 background:#0e1c25;color:#fff;border:0;border-radius:8px;
 min-height:68px;font-size:20px;font-weight:600;letter-spacing:normal;
 box-shadow:none;padding:17px 10px;width:100%}
.pdp .product-selector_atc.add-to-bag:hover{background:#172c38}

/* Subscribe toggle, cut right down. It is a single opt-out line, not a
   feature panel: at this size it still reads clearly but no longer competes
   with the bundle choice above it or the buy button below. */
.pdp .sub-toggle{gap:9px;padding:8px 10px;border-radius:10px;border-width:1px;margin:10px 0 0}
.pdp .sub-toggle-box{width:18px;height:18px;border-width:1.5px;border-radius:5px}
.pdp .sub-toggle-box svg{width:11px;height:7px}
.pdp .sub-toggle-text strong{font-size:13px;font-weight:700;line-height:1.2}
.pdp .sub-toggle-text small{font-size:11px;line-height:1.3}
.pdp .sub-toggle-save{font-size:11px;padding:2px 8px}
@media(max-width:480px){
 .pdp .sub-toggle{flex-wrap:nowrap}
 /* Deliberately NOT hidden. This line carries the billing frequency and the
    fact that it can be cancelled — the terms of a recurring charge. Shrinking
    them is fair; hiding them on the screen where most people actually buy is
    not. */
 .pdp .sub-toggle-text small{font-size:10px;line-height:1.25}
 .pdp .sub-toggle-text strong{font-size:12.5px}
 .pdp .sub-toggle-save{margin-left:auto;font-size:10px;padding:2px 7px}
}

/* Header with the logo centred, as on the source site.
   Three tracks rather than flex: the outer two are equal, so the brand sits
   on the true centre of the page no matter how wide the menu or the cart
   counter gets. A flex layout would shift it every time the count changes. */
.header--centred{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.header--centred .header-left{display:flex;align-items:center;gap:14px;justify-self:start;min-width:0}
.header--centred .brand{justify-self:center}
.header--centred .header-right{display:flex;align-items:center;gap:14px;justify-self:end}
.header--centred .menu-button{display:none}
@media(max-width:860px){
 .header--centred .menu-button{display:inline-flex}
 .header--centred .header-left nav{display:none}
 .header--centred .header-left nav.is-open{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--line);padding:12px 20px;gap:10px;z-index:30}
 .header--centred{position:relative}
 .header--centred .currency{display:none}
}

/* On a phone the header gutter was 24px and the burger carried another 6px of
   its own padding, so the glyph sat 30px in while the logo stayed centred.
   Tightening the gutter moves the burger and the cart out together, which
   keeps the centred logo honest — nudging only the burger would leave the
   two sides visibly uneven. */
@media (max-width: 860px) {
  .header--centred { padding-left: 14px; padding-right: 14px; }
  .header--centred .menu-button { padding-left: 0; padding-right: 0; margin-left: -2px; }
}

/* Ingredient card images spilled out of their own box.
   The wrapper is 180px tall, the image inside was 239px, and the wrapper did
   not clip — so every photo hung 59px below its frame and covered the line of
   text underneath it. Dark text on a dark photo reads as missing text rather
   than as a layout fault, which is why it looked like the copy had vanished.
   Fitting the image to its box fixes the cause; the clip is a guard so a
   future image size cannot bring the overlap back. */
.nutrient-card__vs-row { overflow: hidden; }
.nutrient-card__vs-row img {
  width: 100%;
  max-height: 180px;
  object-fit: contain;
}

/* Accordion icons, drawn rather than imported.
   The source mixes one inline SVG with three PNGs from its CDN; a single
   drawn set stays consistent at any size and pulls in no foreign assets. */
.source-detail summary{display:flex;align-items:center;gap:11px}
.source-detail summary>span:not(.tab-icon):not(.product_tab-chevron){flex:1}
.tab-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--soft);color:var(--dark)}
.tab-icon svg{width:15px;height:15px}
.source-detail .product_tab-chevron{flex:none;margin-left:auto}

/* Header: less air above and below the logo. The announcement bar is gone on
   product pages, so the header is now the first thing on the page and the old
   spacing left it floating. */
.header--centred{padding-top:10px;padding-bottom:10px;min-height:0}
.header--centred .brand{line-height:1}
@media(max-width:860px){
 .header--centred{padding-top:8px;padding-bottom:8px}
}

/* Announcement strip, slimmed to Perivie's proportions: there it is an 18px
   line of 12px/600 text with no vertical padding, not a 40px block. Ours was
   pinned to min-height 40px on the homepage, which is what made it heavy. */
.home-page .announcement,
.announcement{
 min-height:0;height:auto;padding:5px 12px;
 font-size:11.5px;font-weight:600;line-height:1.45;letter-spacing:.01em}
.announcement a{margin-left:6px}
@media(max-width:600px){
 .home-page .announcement,
 .announcement{height:auto;min-height:0;padding:5px 10px;font-size:10.5px;white-space:normal}
}

/* The old header hid the burger on the homepage below 600px, which was fine
   when the nav links were visible beside the logo. With the centred logo the
   nav is in the burger, so that rule left the homepage with no navigation at
   all on a phone. Same three-class weight as the rule it has to beat. */
@media (max-width: 600px) {
  .home-page .header.header--centred .menu-button { display: inline-flex; }
}

/* The open nav panel is white, but on the homepage the header's links inherit
   white text so they sat invisibly on it. The panel needs its own colour,
   independent of whatever the header is sitting on. */
.header--centred .header-left nav.is-open a{color:var(--ink)}
.header--centred .header-left nav.is-open{box-shadow:0 10px 24px -16px rgba(19,45,37,.4)}

/* Payment marks in the footer, same uniform tiles as the checkout so the two
   rows read as one system rather than two different badge sets. */
.footer-payments{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;padding:18px 0 4px}
.footer-payments img{width:38px;height:24px;object-fit:contain;background:#fff;border:1px solid #e3e3e3;border-radius:3px;padding:2px;box-sizing:border-box}

/* Ingredient cards on a phone, matched to the source.
   Measured at 375px there: card 345x424 with no padding and a 150px image.
   Ours was 517 tall — 22px of padding on every side plus a 180px image — so
   six cards ran to 3218px instead of 2600. Same class of problem as the
   symptom cards: a desktop card shrunk by width only, never by height. */
@media (max-width: 760px) {
  .original-product .nutrient-card { padding: 14px; }
  .original-product .nutrient-card__vs-row { height: 150px; }
  .original-product .nutrient-card__vs-row img { max-height: 150px; }
  .original-product .nutrient-card__stat { font-size: 16px; }
  .original-product .nutrient-card__list { font-size: 15px; line-height: 1.45; }
}

/* The photo has to fill the card's width, not float in the middle of it.
   `contain` scales the image to fit its height, and because these photos are
   roughly square that left a narrow picture with white on both sides — which
   is what makes the card look broken rather than merely tall. The source fills
   the width (341x150 in a 345 card) and crops vertically instead. */
.original-product .nutrient-card__vs-row{overflow:hidden;border-radius:10px}
.original-product .nutrient-card__vs-row img{
 width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
@media (max-width: 760px) {
  .original-product .nutrient-card__vs-row { height: 150px; }
}

/* ---- Ingredient cards, matched to the source -------------------------
   Measured at 312px there: 282x454, a 2px #184d54 border, 14px radius and
   NO padding — the photo runs to the card's own edge and only the text is
   inset. Ours had a 1px grey border and 14px of padding all round, which
   both softened the card and made it 67px taller. */
.original-product .nutrient-card{
 padding:0;border:2px solid #184d54;border-radius:14px;overflow:hidden;background:#fff;box-shadow:none}

/* Padding moves off the card and onto the text, so the image can go
   edge to edge the way it does on the source. */
.original-product .nutrient-card__header{padding:14px 16px 0}
.original-product .nutrient-card__stat{padding:0 16px 12px}
.original-product .nutrient-card__list{padding:0 16px 14px 34px;margin-top:12px}
.original-product .nutrient-card__vs-row{
 margin:14px 0 0;border-radius:0;height:160px}
.original-product .nutrient-card__vs-row img{
 width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}

@media (max-width: 760px){
 .original-product .nutrient-card__vs-row{height:150px}
}

/* ---- The percentage figures ------------------------------------------
   64px at weight 500 on the source; ours were 52px at 700, which reads as
   a smaller, heavier number rather than the airy statistic it is meant
   to be. */
.original-product .product_why-bloat-cell-inn > *:first-child,
.original-product .product_why-bloat-number{
 font-size:64px !important;font-weight:500;line-height:1.05;letter-spacing:-.02em}

/* The symptom cards sat off-centre: .symptoms-grid carries a negative right
   margin from when this row scrolled sideways, so on a phone there was a
   gutter on the left and none on the right. It is a vertical stack now, so
   the bleed has no purpose. .asr-track and .asr-tabs share that rule and are
   still scrollers, which is why only the grid is reset here. */
@media (max-width: 540px) {
  .symptoms-grid { margin-right: 0; justify-content: center; }
  .symptoms-grid > .symptoms-card { width: 100%; max-width: none; }
}

/* Homepage header: brand left, menu right.
   The rest of the site keeps the centred lockup, so this overrides only under
   .home-page. Two tracks are enough here, with the brand pulled into the
   first by order. .header-right is taken out of the grid rather than just
   emptied: it holds only the currency, which the homepage already hides, and
   an empty third cell would reserve space and pull the menu off the right
   edge. */
.home-page .header--centred { grid-template-columns: auto 1fr; }
.home-page .header--centred .brand { order: -1; justify-self: start; }
.home-page .header--centred .header-left { justify-self: end; }
.home-page .header--centred .header-right { display: none; }

/* The hero badges were capped at 430px for the pair against a native 555px
   and 620px, so the rating and the clinician endorsement rendered at about a
   third of their size. The two stay on one row at every width.
   flex:1 1 auto shrinks them in proportion to their natural widths, and since
   both are 87px tall that proportion is their aspect ratio: the row is filled
   edge to edge and the two come out exactly the same height. An equal-width
   split cannot do that — it leaves the wider badge shorter than its
   neighbour, which is what made the pair look uneven before.
   On a phone the row is 350px, so side by side the pair tops out near 25px:
   that is geometry, not a cap that can be lifted. Stacking them would allow
   40px and more. */
.home-page .hero-badges { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; max-width: min(100%, 620px); }
/* The AVIF pass wraps each badge in a <picture>, so the flex items are those
   wrappers rather than the images: sizing the <img> alone never reaches the
   element being laid out. The <img> inside then simply fills its wrapper. */
.home-page .hero-badges > picture, .home-page .hero-badges > img { flex: 1 1 auto; min-width: 0; }
.home-page .hero-badges > picture { display: block; }
.home-page .hero-badges img { width: 100%; height: auto; max-width: none; }
