/* Product detail chassis. CandyCeuticals register, using existing base roles. */
@font-face{font-family:"Andy's Doodles";src:url('/assets/cc-andys-doodles.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
h1,h2,.logo b,.flogo b{font-family:"Andy's Doodles",ui-rounded,var(--sans);font-weight:400;letter-spacing:0}
h3{font-family:var(--sans);font-weight:750;letter-spacing:0;text-transform:none}
.skip{position:fixed;left:16px;top:12px;transform:translateY(-180%);background:var(--yellow);color:var(--ink);padding:12px 18px;z-index:100;border-radius:12px;font-weight:700}
.skip:focus{transform:translateY(0)}
.navlinks a:not(.btn){font-family:var(--sans);font-size:15px;letter-spacing:0;text-transform:none;min-height:44px;display:inline-flex;align-items:center}
.nav .logo b{font-size:20px}
.breadcrumb{padding:26px 0 0;color:var(--mut);font-size:14px}
.breadcrumb ol{list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.breadcrumb li+li::before{content:'/';margin-right:10px;color:var(--mut)}
.breadcrumb a{color:var(--ink);text-underline-offset:4px}
.product-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,96px);align-items:center;padding:54px 0 72px}
.product-copy{min-width:0}
.product-copy h1{font-size:clamp(68px,8.4vw,112px);line-height:.97;max-width:9ch}
.product-kind{margin:22px 0 0;font-size:clamp(20px,2.5vw,27px);font-weight:750;line-height:1.3}
.product-flavor{display:inline-block;background:var(--yellow);color:var(--ink);font-size:16px;font-weight:700;padding:3px 10px;margin-top:15px;border-radius:3px}
.product-visual{display:grid;place-items:center;min-width:0;min-height:530px;border-radius:22px;background:var(--card);border:1px solid var(--line-soft);padding:28px}
.product-visual img{width:auto;max-width:100%;height:470px;object-fit:contain}
.product-facts{margin-top:34px;border-top:1px solid var(--line)}
.product-facts>div{display:grid;grid-template-columns:minmax(90px,.85fr) minmax(0,1.2fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.product-facts dt{color:var(--mut)}
.product-facts dd{font-weight:700}
.product-copy .ctarow{gap:10px}
.product-copy .btn{padding-inline:24px}
.btn-p{box-shadow:none}
.btn-quiet{background:var(--card);border:1px solid var(--line);color:var(--ink)}
.btn-quiet:hover{background:var(--yellow)}
.product-section{scroll-margin-top:88px;padding:64px 0 24px;border-top:1px solid var(--line)}
.product-section h2,.range-title{font-size:clamp(42px,5.5vw,72px);line-height:1.05;max-width:15ch}
.product-section .faq{max-width:850px}
.faq summary{font-family:var(--sans);font-weight:700;text-transform:none;letter-spacing:0;font-size:17px}
.faq .a{font-size:16px}
.label-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,84px);margin-top:34px;align-items:start}
.label-grid figure{background:var(--card);border-radius:18px;border:1px solid var(--line);padding:24px}
.label-grid figure img{width:100%;height:auto;max-width:460px;margin:auto}
.label-grid figcaption{font-size:14px;color:var(--mut);margin-top:16px;text-align:center}
.label-grid .product-facts{margin-top:0}
.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:700;text-underline-offset:5px}
.label-links{display:flex;gap:8px 24px;flex-wrap:wrap;margin-top:18px}
.other-candy{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:36px 0;border-top:1px solid var(--line);margin-top:68px}
.other-candy h2{font-size:clamp(30px,4vw,44px)}
.other-candy .text-link{white-space:nowrap}
.product-footer{margin-top:36px}
.product-footer .flogo b{font-size:22px;color:var(--paper)}
.product-footer .footer-links{display:flex;gap:12px 24px;flex-wrap:wrap}
.product-footer a{color:var(--paper);font-size:15px;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}
.range-intro{padding:50px 0 32px}
.range-title{max-width:14ch}
.range-products{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:16px 0 70px}
.range-product{color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:22px;background:var(--card);padding:28px;display:flex;flex-direction:column;align-items:flex-start}
.range-product:hover .range-link{text-decoration-color:var(--orange-cta)}
.range-product .range-art{width:100%;height:360px;flex:none;margin-bottom:22px}
.range-product img{height:inherit;width:100%;object-fit:contain}
.range-product h2{font-size:clamp(38px,5vw,56px)}
.range-product .product-kind{font-size:19px;margin-top:8px}
.range-product .product-flavor{margin-top:12px}
.range-link{margin-top:26px;font-weight:750;text-decoration:underline;text-underline-offset:5px}
.comparison{width:100%;border-collapse:collapse;margin:30px 0 20px;line-height:1.45}
.comparison th,.comparison td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:top}
.comparison th:first-child,.comparison td:first-child{padding-left:0}
.comparison th{font-weight:750}
.comparison thead{background:var(--yellow)}
.comparison thead th:first-child{padding-left:14px}
.comparison td a{color:var(--ink);font-weight:700;text-underline-offset:4px}
@media(max-width:720px){
 .wrap{padding-inline:20px}.navrow{gap:12px}.nav .logo b{font-size:18px}.navlinks{gap:16px}.navlinks a:not(.btn){font-size:14px}.navlinks .home-story{display:none!important}
 .product-hero{grid-template-columns:1fr;gap:26px;padding:34px 0 54px}.product-copy h1{font-size:clamp(58px,17vw,100px)}
 .product-visual{grid-row:2;min-height:420px;padding:24px}.product-visual img{height:370px}.product-facts{margin-top:26px}
 .product-section{padding:44px 0 20px}.label-grid{grid-template-columns:1fr;gap:26px}.label-grid figure{padding:20px}
 .other-candy{align-items:flex-start;flex-direction:column;gap:8px;margin-top:48px}
 .range-intro{padding-top:36px}.range-products{gap:16px}.range-product{padding:20px}.range-product .range-art{height:290px}.range-product h2{font-size:40px}.range-product .product-kind{font-size:16px}
 .comparison th,.comparison td{padding:14px 10px;font-size:15px}
}
@media(max-width:460px){
 .nav .logo b{display:none}.navlinks{gap:18px}.range-products{grid-template-columns:1fr;padding-bottom:46px}.range-product{padding:24px}.range-product .range-art{height:310px}.range-product h2{font-size:48px}
 .product-copy .ctarow{align-items:stretch}.product-copy .btn{height:48px;padding-inline:18px;font-size:14px}.product-kind{font-size:23px}
 .comparison th,.comparison td{font-size:14px;padding:12px 8px}.comparison td:first-child{max-width:85px}
}
