/* FITRICH App product detail — native in-app product journey. */
.app-product{cursor:pointer;position:relative}
.app-product:focus-visible{outline:3px solid var(--fitrich-sage-deep);outline-offset:3px}
.app-product-copy h3,.app-product-art{transition:color .2s,transform .25s var(--ease)}
.app-product:hover .app-product-art{transform:translateY(-2px)}
.app-product-view{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-top:14px!important;padding-top:11px;border-top:1px solid rgba(11,13,12,.14);color:var(--fitrich-sage-deep);font:800 5.5px Space Grotesk;letter-spacing:.13em}
.app-product-view b{font-size:13px;color:var(--fitrich-black)}

.app-product-detail{width:min(1180px,calc(100% - 34px));height:min(860px,calc(100dvh - 34px));max-width:none;max-height:none;padding:0;border:1px solid rgba(11,13,12,.55);background:var(--fitrich-canvas);color:var(--ink);box-shadow:0 35px 120px rgba(11,13,12,.38);overflow:auto}
.app-product-detail::backdrop{background:rgba(11,13,12,.78);backdrop-filter:blur(12px)}
.product-detail-close{position:sticky;top:0;z-index:10;width:100%;height:55px;padding:0 25px;border:0;border-bottom:1px solid #303431;background:var(--fitrich-black);color:#fff;display:flex;align-items:center;gap:14px;text-align:left}
.product-detail-close span{color:var(--fitrich-sage);font-size:20px}
.product-detail-close b{font:700 6px Space Grotesk;letter-spacing:.15em}
.product-detail-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);min-height:570px;border-bottom:1px solid rgba(11,13,12,.42)}
.product-detail-visual{position:relative;min-height:570px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(191,213,201,.9),transparent 36%),linear-gradient(145deg,#fafaf7,#dee1dc)}
.product-detail-visual:after{content:"";position:absolute;inset:22px;border:1px solid rgba(11,13,12,.18);pointer-events:none}
.product-detail-index{position:absolute;z-index:2;left:40px;top:35px;color:var(--fitrich-sage-deep);font:800 6px Space Grotesk;letter-spacing:.17em}
.product-detail-object{position:relative;z-index:1;width:180px;height:300px;border:1px solid #424a46;border-radius:16px;background:linear-gradient(145deg,#242b28,#070908);box-shadow:0 38px 70px rgba(11,13,12,.25);display:grid;place-items:center;align-content:center;text-align:center;color:#fff;transition:transform .4s var(--ease)}
.product-detail-visual:hover .product-detail-object{transform:translateY(-7px) rotate(-1deg)}
.product-detail-object.jar{width:275px;height:165px;border-radius:26px}
.product-detail-object.bottle,.product-detail-object.pump{width:150px;height:340px}
.product-detail-object.spray{width:112px;height:350px}
.product-detail-object.tube{width:155px;height:330px;border-radius:20px 20px 9px 9px}
.product-detail-object.light{color:#111;background:linear-gradient(145deg,#f4f6f4,#aeb9b5);border-color:#fff}
.product-detail-object span{font:800 9px Space Grotesk;letter-spacing:.2em}
.product-detail-object b{max-width:80%;margin:22px 0 35px;font:600 18px/1.05 Space Grotesk;letter-spacing:.05em}
.product-detail-object small{font:600 7px Space Grotesk;letter-spacing:.16em;opacity:.72}
.product-detail-visual-note{position:absolute;left:40px;right:40px;bottom:34px;display:flex;justify-content:space-between;color:#5e6863;font:700 5.5px Space Grotesk;letter-spacing:.14em}
.product-detail-copy{padding:46px clamp(34px,5vw,70px);background:var(--fitrich-paper);display:flex;flex-direction:column;justify-content:center}
.product-detail-kicker{margin:0;color:var(--fitrich-sage-deep);font:800 6px Space Grotesk;letter-spacing:.18em}
.product-detail-copy h2{margin:18px 0 6px;font:500 clamp(37px,4.6vw,70px)/.91 Space Grotesk;letter-spacing:-.065em}
.product-detail-promise{margin:10px 0 15px;font:600 14px/1.25 Space Grotesk}
.product-detail-description{max-width:560px;margin:0;color:var(--muted);font-size:10px;line-height:1.78}
.product-detail-modes{display:flex;flex-wrap:wrap;gap:6px;margin:25px 0 28px}
.product-detail-modes span{padding:8px 11px;border:1px solid #929995;background:#fff;color:#444c48;font:700 5.5px Space Grotesk;letter-spacing:.14em}
.product-detail-commerce{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;padding-top:23px;border-top:1px solid rgba(11,13,12,.2)}
.product-detail-price small,.product-detail-status small{display:block;color:#6b746f;font:700 5px Space Grotesk;letter-spacing:.15em}
.product-detail-price strong{display:block;margin-top:7px;font:600 24px Space Grotesk}
.product-detail-status{text-align:right}.product-detail-status strong{display:block;margin-top:7px;color:var(--fitrich-sage-deep);font:800 6px Space Grotesk;letter-spacing:.12em}
.product-detail-add{width:100%;min-height:55px;margin-top:18px;padding:0 20px;border:1px solid var(--fitrich-black);background:var(--fitrich-black);color:#fff;display:flex;align-items:center;justify-content:space-between;font:800 7px Space Grotesk;letter-spacing:.15em}
.product-detail-add b{color:var(--fitrich-sage);font-size:18px}.product-detail-add:hover:not(:disabled),.product-detail-add:focus-visible{background:var(--fitrich-sage);color:var(--fitrich-black)}
.product-detail-add:hover:not(:disabled) b,.product-detail-add:focus-visible b{color:var(--fitrich-black)}
.product-detail-add:disabled{border-color:#c2c7c2;background:#e2e4e0;color:#777f7a;cursor:not-allowed}.product-detail-add:disabled b{color:#777f7a}
.native-share-product{display:none;width:100%;min-height:48px;margin-top:8px;padding:0 20px;border:1px solid #929995;background:#fff;color:var(--fitrich-black);align-items:center;justify-content:space-between;font:800 6px Space Grotesk;letter-spacing:.14em}
.is-native-app .native-share-product{display:flex}
.native-share-product b{color:var(--fitrich-sage-deep);font-size:15px}.native-share-product:focus-visible,.native-share-product:hover{border-color:var(--fitrich-sage-deep);background:var(--fitrich-sage)}
.product-detail-feedback{min-height:18px;margin:10px 0 0;color:var(--fitrich-sage-deep);font:800 5.5px Space Grotesk;letter-spacing:.1em}
.product-detail-assurance{display:flex;flex-wrap:wrap;gap:13px;margin-top:19px;color:#626b66;font:700 5px Space Grotesk;letter-spacing:.11em}
.product-detail-assurance span:before{content:"✓";margin-right:6px;color:var(--fitrich-sage-deep)}

.product-detail-benefits{padding:52px clamp(25px,5vw,70px);background:var(--fitrich-sage);border-bottom:1px solid rgba(11,13,12,.4)}
.product-detail-section-head span{color:var(--fitrich-sage-deep);font:800 6px Space Grotesk;letter-spacing:.17em}
.product-detail-section-head h3{margin:13px 0 31px;font:500 clamp(30px,4vw,52px)/.95 Space Grotesk;letter-spacing:-.05em}
.product-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.product-benefit-grid article{min-height:148px;padding:23px;border:1px solid rgba(11,13,12,.27);background:rgba(251,251,248,.42)}
.product-benefit-grid span{color:var(--fitrich-sage-deep);font:800 6px Space Grotesk}
.product-benefit-grid h4{margin:35px 0 7px;font:600 14px Space Grotesk}
.product-benefit-grid p{margin:0;color:#56615b;font-size:8px;line-height:1.55}
.product-detail-information{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding:52px clamp(25px,5vw,70px) 70px;background:var(--fitrich-paper)}
.product-detail-information>div:first-child p{color:var(--muted);font-size:9px;line-height:1.7}
.product-detail-accordion details{border-top:1px solid rgba(11,13,12,.3)}
.product-detail-accordion details:last-child{border-bottom:1px solid rgba(11,13,12,.3)}
.product-detail-accordion summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font:800 6.5px Space Grotesk;letter-spacing:.13em}
.product-detail-accordion summary::-webkit-details-marker{display:none}
.product-detail-accordion summary b{color:var(--fitrich-sage-deep);font-size:15px}.product-detail-accordion details[open] summary b{transform:rotate(45deg)}
.product-detail-accordion p,.product-detail-accordion ol{margin:0;padding:0 0 22px;color:var(--muted);font-size:9px;line-height:1.7}
.product-detail-accordion ol{padding-left:20px}.product-detail-accordion li+li{margin-top:7px}

/* Large, unmistakable cart confirmation inside the app product modal. */
.product-detail-confirmation{position:fixed;z-index:40;inset:0;padding:24px;background:rgba(11,13,12,.76);backdrop-filter:blur(12px);display:grid;place-items:center}
.product-detail-confirmation[hidden]{display:none}
.product-confirmation-card{width:min(680px,100%);border:1px solid rgba(11,13,12,.72);background:var(--fitrich-paper);color:var(--ink);box-shadow:0 34px 100px rgba(0,0,0,.35)}
.product-confirmation-card>header{height:54px;padding:0 20px;background:var(--fitrich-black);color:#fff;display:flex;align-items:center;justify-content:space-between}
.product-confirmation-card>header span{color:var(--fitrich-sage);font:800 6px Space Grotesk;letter-spacing:.17em}
.product-confirmation-card>header button{width:34px;height:34px;border:0;background:transparent;color:#fff;font-size:23px}
.product-confirmation-body{display:grid;grid-template-columns:190px 1fr;gap:34px;align-items:center;padding:34px}
.product-confirmation-object{width:110px;height:185px;margin:auto;border:1px solid #424a46;border-radius:11px;background:linear-gradient(145deg,#242b28,#070908);box-shadow:0 24px 46px rgba(11,13,12,.22);display:grid;place-items:center;align-content:center;text-align:center;color:#fff}
.product-confirmation-object.jar{width:160px;height:96px;border-radius:17px}.product-confirmation-object.bottle,.product-confirmation-object.pump{width:92px;height:205px}.product-confirmation-object.spray{width:70px;height:215px}.product-confirmation-object.tube{width:94px;height:202px;border-radius:13px 13px 6px 6px}
.product-confirmation-object.light{color:#111;background:linear-gradient(145deg,#f4f6f4,#aeb9b5);border-color:#fff}
.product-confirmation-object span{font:800 6px Space Grotesk;letter-spacing:.18em}.product-confirmation-object b{max-width:82%;margin:14px 0 21px;font:700 11px/1.05 Space Grotesk;letter-spacing:.06em}.product-confirmation-object small{font:600 5px Space Grotesk;letter-spacing:.14em;opacity:.72}
.product-confirmation-copy i{width:52px;height:52px;border-radius:50%;background:var(--fitrich-sage);display:grid;place-items:center;color:var(--fitrich-black);font:800 19px Space Grotesk;font-style:normal}
.product-confirmation-copy>p{margin:18px 0 8px;color:var(--fitrich-sage-deep);font:800 6px Space Grotesk;letter-spacing:.17em}
.product-confirmation-copy h3{margin:0 0 13px;font:500 clamp(28px,4vw,42px)/.95 Space Grotesk;letter-spacing:-.055em}
.product-confirmation-copy>strong{display:block;font:700 11px Space Grotesk}.product-confirmation-copy>small{display:block;margin-top:9px;color:var(--muted);font-size:8px}.product-confirmation-copy>small b{color:var(--fitrich-black);font-size:10px}
.product-confirmation-total{min-height:55px;padding:0 34px;border-top:1px solid rgba(11,13,12,.22);display:flex;align-items:center;justify-content:space-between}
.product-confirmation-total span{color:var(--muted);font:800 5.5px Space Grotesk;letter-spacing:.14em}.product-confirmation-total b{width:28px;height:28px;border-radius:50%;background:var(--fitrich-sage);display:grid;place-items:center;font:800 8px Space Grotesk}
.product-confirmation-actions{display:grid;grid-template-columns:1.15fr .85fr;border-top:1px solid var(--fitrich-black)}
.product-confirmation-actions button{min-height:62px;padding:0 22px;border:0;display:flex;align-items:center;justify-content:space-between;font:800 7px Space Grotesk;letter-spacing:.13em}
.product-confirmation-actions [data-confirmation-bag]{background:var(--fitrich-black);color:#fff}.product-confirmation-actions [data-confirmation-bag] b{color:var(--fitrich-sage);font-size:17px}
.product-confirmation-actions [data-close-confirmation]{background:var(--fitrich-sage);color:var(--fitrich-black)}.product-confirmation-actions [data-close-confirmation] b{font-size:16px}
.product-confirmation-actions [data-confirmation-bag]:hover,.product-confirmation-actions [data-confirmation-bag]:focus-visible{background:#202522}.product-confirmation-actions [data-close-confirmation]:hover,.product-confirmation-actions [data-close-confirmation]:focus-visible{background:#d1e1d8}

@media(max-width:760px){
  .app-product-view{font-size:5px}
  .app-product-detail{width:100%;height:100dvh;margin:0;border:0}
  .product-detail-close{height:60px;padding:0 18px}
  .product-detail-hero{display:block;min-height:0}
  .product-detail-visual{min-height:430px}
  .product-detail-visual:after{inset:13px}
  .product-detail-index{left:25px;top:24px}
  .product-detail-object{transform:scale(.78)}
  .product-detail-visual:hover .product-detail-object{transform:scale(.78) translateY(-4px)}
  .product-detail-visual-note{left:24px;right:24px;bottom:23px}
  .product-detail-copy{padding:34px 22px 39px}
  .product-detail-copy h2{font-size:43px}
  .product-detail-description{font-size:9px}
  .product-detail-commerce{gap:10px}.product-detail-price strong{font-size:21px}
  .product-detail-benefits{padding:40px 18px}.product-benefit-grid{grid-template-columns:1fr}.product-benefit-grid article{min-height:118px}.product-benefit-grid h4{margin-top:25px}
  .product-detail-information{display:block;padding:40px 18px 58px}.product-detail-accordion{margin-top:30px}
  .product-detail-confirmation{padding:12px;align-items:end}
  .product-confirmation-card{width:100%}
  .product-confirmation-body{grid-template-columns:112px 1fr;gap:18px;padding:25px 20px}
  .product-confirmation-object{transform:scale(.72);margin:-22px auto}
  .product-confirmation-copy i{width:42px;height:42px;font-size:16px}.product-confirmation-copy>p{margin-top:14px}.product-confirmation-copy h3{font-size:29px}
  .product-confirmation-total{padding:0 20px}
  .product-confirmation-actions{grid-template-columns:1fr}.product-confirmation-actions button{min-height:57px;padding:0 20px}
}

@media(max-width:390px){
  .product-detail-visual{min-height:390px}.product-detail-copy h2{font-size:37px}.product-detail-status{max-width:110px}
  .product-confirmation-body{grid-template-columns:92px 1fr;gap:12px}.product-confirmation-copy h3{font-size:25px}.product-confirmation-object{transform:scale(.62)}
}
