/* Behavior and content additions to the original Nirvana product layout. */
.product-page [hidden]{display:none!important}
.product-page :focus-visible{outline:2px solid var(--cta);outline-offset:4px}
.product-page button:disabled{cursor:not-allowed;opacity:.5}
.product-page .main-media>img#nm-main-product-image,.product-page .thumbs img{object-fit:contain!important}
.product-page .stock.is-empty{color:var(--danger)}
.product-page .stock:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.product-page #product-variant{display:block;width:100%;padding:12px;margin:0 0 14px;border:1px solid var(--gray-300);border-radius:var(--radius);background:#fff;font:inherit}
.product-page .option-label{display:block}
.product-page .price-block .storefront-vat-note{display:block}
.product-page .pd-form-status,.product-shipping-note,.product-wishlist-status{font-size:12px;line-height:1.5}
.product-page .pd-form-status:not(:empty){margin:10px 0;color:#983b2e}
.product-wishlist-status:not(:empty){grid-column:1/-1}
.product-page .desc-specs{margin:0}
.product-page .desc-specs>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px}
.product-page .desc-specs dt{font-weight:600}
.product-page .desc-specs dd{margin:0;overflow-wrap:anywhere}
.product-page .spec-grid>div{display:grid;grid-template-columns:1fr 1fr;padding:16px 20px;border-bottom:1px solid var(--line);gap:16px}
.product-page .spec-grid dt{font-weight:600}.product-page .spec-grid dd{margin:0;overflow-wrap:anywhere}
.product-page .tab-content h2{font-size:clamp(21px,2.4vw,27px);font-weight:650;letter-spacing:-.02em;margin:0;color:var(--anthracite)}
.pd-lines{white-space:pre-line}
.pd-feedback-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
.product-page .tab-content label{display:block;font-weight:600;margin:10px 0 6px}
.product-page .tab-content select,.product-page .tab-content textarea{width:100%;padding:10px;border:1px solid var(--line);font:inherit;background:#fff;display:block;margin-bottom:14px}
.product-page .tab-content textarea{resize:vertical}
.product-page .reco .tab-content__head{margin-bottom:22px}.product-page .reco h2{font-size:clamp(23px,2.4vw,32px);font-weight:650;margin:0}
.product-page .nm-richtext{overflow-wrap:anywhere}.product-page .nm-richtext table{display:block;max-width:100%;overflow:auto}
.pd-document{display:inline-block;padding:12px 18px;border:1px solid var(--line);border-radius:var(--radius)}
.product-usage{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
body.pd-gallery-open{overflow:hidden}
.pd-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:70px 60px 30px;border:0;background:#22241fec;color:#fff}
.pd-lightbox::backdrop{background:#222}
.pd-lightbox-stage{height:100%;width:100%;overflow:auto;display:grid;place-items:center;touch-action:pan-y}
.pd-lightbox-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.pd-lightbox-stage.is-zoomed{display:block;place-items:normal;touch-action:pan-x pan-y}
.pd-lightbox-stage.is-zoomed img{max-width:none;max-height:none;width:180%;height:auto}
.pd-lightbox button{border:1px solid #ffffff40;background:#ffffff14;color:white;border-radius:4px;min-width:44px;min-height:44px;cursor:pointer}
.pd-lightbox [data-product-lightbox-close]{position:absolute;right:20px;top:15px}
.pd-lightbox-tools{position:absolute;top:15px;left:60px;display:flex;gap:20px;align-items:center;font-size:13px}
.pd-lightbox [data-product-lightbox-prev],.pd-lightbox [data-product-lightbox-next]{position:absolute;top:48%;font-size:26px}
.pd-lightbox [data-product-lightbox-prev]{left:10px}.pd-lightbox [data-product-lightbox-next]{right:10px}
@media(max-width:760px){.pd-feedback-grid{grid-template-columns:1fr}.product-page .spec-grid>div{padding:12px;gap:12px}.pd-lightbox{padding:75px 42px 30px}.pd-lightbox-tools{left:16px}.pd-lightbox-tools button{padding:0 12px}.pd-lightbox [data-product-lightbox-close]{right:15px}}
@media(prefers-reduced-motion:reduce){.product-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Product information: readable copy, compact context and native mobile disclosures. */
.product-page .buybox { --purchase-control-height:52px; --purchase-control-radius:4px; align-self:start; }
.product-page .buybox h1 { font-size:clamp(26px,2.3vw,33px); line-height:1.22; letter-spacing:-.025em; margin-bottom:12px; }
.product-page .product-eyebrow { font-size:11px; line-height:1.5; letter-spacing:.08em; }
.product-page .product-rating { font-size:13px; color:#535b55; }
.product-page .meta-row { font-size:13px; line-height:1.6; gap:6px 10px; color:#535b55; overflow-wrap:anywhere; }
.product-page .price-block { padding:16px 0; }
.product-page .price-block .price { font-size:clamp(30px,2.6vw,36px); }
.product-page .price-block .storefront-vat-note { font-size:13px; line-height:1.55; color:#535b55; margin-top:4px; letter-spacing:0; }
.product-page .price-block .storefront-vat-note strong { color:var(--anthracite); font-weight:650; }
.product-page .price-block .product-gross-price strong { font-size:clamp(30px,2.6vw,36px); font-weight:750; letter-spacing:-.035em; }
.product-page .price-caption,.product-page .option-label { font-size:12px; letter-spacing:.04em; color:#535b55; }
.product-page .qty-row { grid-template-columns:132px minmax(0,1fr); gap:10px; margin-bottom:10px; }
.product-page .qty { height:var(--purchase-control-height); grid-template-columns:40px minmax(0,1fr) 40px; border-radius:var(--purchase-control-radius); }
.product-page .qty input { min-width:0; font-size:16px; padding:0; appearance:textfield; }
.product-page .qty input::-webkit-inner-spin-button,.product-page .qty input::-webkit-outer-spin-button { appearance:none; margin:0; }
.product-page .qty button { font-size:18px; }
.product-page .buybox .qty-row .add,.product-page .buy-actions .btn,.product-page .buy-actions .icon-square { min-height:var(--purchase-control-height); height:var(--purchase-control-height); border-radius:var(--purchase-control-radius); }
.product-page .buybox .btn { padding:0 16px; font-size:13px; letter-spacing:.03em; }
.product-page .buy-actions { grid-template-columns:minmax(0,1fr) var(--purchase-control-height); gap:10px; }
.product-page .buy-actions .product-favorite { width:var(--purchase-control-height); color:#d32f45; }
.product-page .product-favorite svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.product-page .product-favorite:hover { color:#b42339; background:#fff1f3; border-color:#e8bac2; }
.product-page .product-favorite.is-saved svg { fill:currentColor; }
.product-page .product-includes p,.product-page .purchase-benefit__desc,.product-page .product-shipping-note,.product-page .product-wishlist-status { font-size:13px; line-height:1.6; }
.product-page .pd-form-status:empty { margin:0; }

.product-page .purchase-benefits { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:14px; border-radius:4px; }
.product-page .purchase-benefit { --benefit-accent:#867465; --benefit-tint:#f4efea; --benefit-hover:#faf8f5; position:relative; display:flex; flex-direction:column; gap:0; padding:22px 10px 24px; color:var(--anthracite); text-decoration:none; text-align:center; transform:none; box-shadow:none; transition:background .3s ease; }
.product-page .purchase-benefit--truck { --benefit-accent:#557994; --benefit-tint:#edf3f8; --benefit-hover:#f7f9fc; }
.product-page .purchase-benefit--shield { --benefit-accent:#99713c; --benefit-tint:#faf2e6; --benefit-hover:#fcfaf6; }
.product-page .purchase-benefit--chat { --benefit-accent:#877199; --benefit-tint:#f3eef8; --benefit-hover:#faf8fc; }
.product-page .purchase-benefit::after { content:''; position:absolute; inset:auto 0 0; height:3px; background:var(--benefit-accent); opacity:0; transform:scaleX(.35); transition:transform .35s ease,opacity .3s ease; }
.product-page .purchase-benefit__icon { width:46px; height:46px; margin:0 auto 13px; flex-shrink:0; color:var(--benefit-accent); background:var(--benefit-tint); transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s ease,color .3s ease; }
.product-page .purchase-benefit svg { width:21px; height:21px; stroke-linecap:round; stroke-linejoin:round; }
.product-page .purchase-benefit b { margin:0; font-size:13px; font-weight:650; line-height:1.45; }
.product-page .purchase-benefit__desc { margin-top:0; padding-top:7px; font-size:12px; line-height:1.55; color:#69716c; overflow-wrap:anywhere; }
.product-page .purchase-benefit:is(:hover,:focus-visible) { background:var(--benefit-hover); transform:none; box-shadow:none; }
.product-page .purchase-benefit:focus-visible { outline:2px solid var(--benefit-accent); outline-offset:-3px; }
.product-page .purchase-benefit:is(:hover,:focus-visible)::after { opacity:.65; transform:scaleX(1); }
.product-page .purchase-benefit:is(:hover,:focus-visible) .purchase-benefit__icon { background:var(--benefit-accent); color:#fff; transform:translateY(-2px) scale(1.07) rotate(-5deg); }
.product-page .purchase-benefit--package { grid-column:1/-1; display:grid; grid-template-columns:46px minmax(0,1fr); column-gap:14px; padding:16px 20px; text-align:left; }
.product-page .purchase-benefit--package .purchase-benefit__icon { grid-row:1/3; margin:0; }
@media(max-width:560px) {
  .product-page .purchase-benefit { padding:18px 7px 20px; }
  .product-page .purchase-benefit__icon { width:40px; height:40px; margin-bottom:10px; }
  .product-page .purchase-benefit b { font-size:11px; }
  .product-page .purchase-benefit__desc { font-size:11px; padding-top:5px; }
  .product-page .purchase-benefit--package { padding:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .product-page .purchase-benefit,.product-page .purchase-benefit::after,.product-page .purchase-benefit__icon { transition:none; }
  .product-page .purchase-benefit:is(:hover,:focus-visible) .purchase-benefit__icon { transform:none; }
}

.product-page .tabs-panel { border:0; border-radius:0; box-shadow:none; overflow:visible; }
.product-page .tabs { display:none; padding:0 0 12px; gap:6px; background:transparent; }
.product-page .tab { font-size:12px; letter-spacing:.03em; color:#535b55; }
.product-page .tab-content { padding:28px 0; color:#454d47; font-size:15px; line-height:1.75; }
.product-page .pd-detail-section > .tab-content { display:block; animation:none; }
.product-page .tab-content__head { margin-bottom:22px; }
.product-page .tab-content__head h2 { font-size:24px; line-height:1.3; }
.product-page #desc { padding:clamp(24px,3vw,36px); border:1px solid var(--line); border-radius:var(--radius); background:var(--white); box-shadow:0 26px 60px -48px rgba(20,24,21,.45); font-size:14px; }
.product-page #desc .tab-content__head h2 { font-size:clamp(21px,2.4vw,27px); }
.product-page .desc-grid { grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); align-items:stretch; gap:14px; margin-bottom:14px; }
.product-page .pd-feedback-grid { align-items:start; }
.product-page .pd-feedback-grid > .desc-card { border:0; background:#f4f6f3; }
.product-page .pd-feedback-grid > .desc-card:hover { transform:none; box-shadow:none; }
.product-page .pd-feedback-grid .desc-card h3 { font-size:18px; margin-bottom:10px; }
.product-page .pd-feedback-grid .desc-card p { font-size:14px; }
.product-page .faq-item { border:0; border-bottom:1px solid var(--line); border-radius:0; }
.product-page .faq-item:hover { box-shadow:none; }
.product-page .faq-item summary { padding:16px 0; font-size:15px; }
.product-page .faq-item p { padding:14px 0 18px; color:#454d47; font-size:14px; }
.product-page .faq-item[open] summary { background:none; border-bottom:0; }

.pd-detail-section { border-bottom:1px solid var(--line); }
.pd-detail-section > summary { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:56px; padding:16px 0; color:var(--anthracite); cursor:pointer; list-style:none; }
.pd-detail-section > summary::-webkit-details-marker { display:none; }
.pd-detail-section > summary h2 { margin:0; font-size:16px; font-weight:650; line-height:1.4; }
.pd-detail-section > summary::after { content:'+'; flex:0 0 24px; font-size:24px; font-weight:400; text-align:center; }
.pd-detail-section[open] > summary::after { content:'−'; }
.pd-section-count { margin-left:6px; color:#535b55; font-size:13px; font-weight:400; }
.pd-detail-section > summary,.product-page .tabs-panel { scroll-margin-top:20px; }
@media(min-width:761px) {
  .product-page .tabs-panel.is-enhanced > .tabs { display:flex; }
  .tabs-panel.is-enhanced > .pd-detail-section { border:0; }
  .tabs-panel.is-enhanced > .pd-detail-section > summary { display:none; }
}
@media(max-width:900px) {
  .product-page .desc-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:760px) {
  .product-page .breadcrumb { display:flex; gap:6px; padding:10px 0; font-size:11px; line-height:1.5; white-space:normal; overflow:visible; }
  .product-page .breadcrumb > a { flex-shrink:0; }
  .product-page .breadcrumb > a:not(:first-child) { flex-shrink:1; min-width:0; }
  .product-page .breadcrumb > [aria-current],.product-page .breadcrumb > span[aria-hidden]:has(+ [aria-current]) { display:none; }
  .product-page .pdp { gap:14px; padding-bottom:22px; }
  .product-page .buybox { padding:16px; width:100%; }
  .product-page .buybox h1 { font-size:24px; line-height:1.22; margin-bottom:10px; }
  .product-page .product-eyebrow { display:block; font-size:10px; line-height:1.45; letter-spacing:.06em; margin-bottom:6px; }
  .product-page .product-eyebrow::before { display:none; }
  .product-page .product-rating { margin-bottom:8px; }
  .product-page .meta-row { gap:4px 8px; padding-bottom:10px; }
  .product-page .price-block { padding:10px 0 12px; margin-bottom:12px; }
  .product-page .option-label { margin-bottom:8px; }
  .product-page .tab-content { padding:4px 0 22px; }
  .product-page .tab-content > .tab-content__head { display:none; }
  .product-page #desc { padding:22px 18px; }
  .product-page #desc > .tab-content__head { display:block; }
  .product-page .pd-feedback-grid { gap:20px; }
  .product-page .pd-feedback-grid > .desc-card { padding:18px; }
  .product-page .spec-grid { max-width:none; margin:0; }
  .product-page .spec-grid > div { padding:12px 0; font-size:14px; }
}
@media(max-width:380px) {
  .product-page .qty-row { grid-template-columns:116px minmax(0,1fr); }
  .product-page .qty { grid-template-columns:36px minmax(0,1fr) 36px; }
  .product-page .buybox .btn { padding-inline:10px; font-size:12px; }
}
.pd-quantity-summary { display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; margin:0 0 16px; padding:8px 12px; border-left:2px solid var(--cta); background:#f3f6f2; font-size:12px; line-height:1.6; color:#435246; }
.pd-quantity-highlights { display:flex; flex-wrap:wrap; gap:4px 14px; }
.pd-quantity-highlights .is-applied { color:#304b37; text-decoration:underline; text-underline-offset:3px; }
.pd-quantity-details-toggle { border:0; padding:6px 0; background:transparent; color:#435246; text-decoration:underline; text-underline-offset:3px; font:inherit; font-weight:600; cursor:pointer; }
.pd-quantity-status { margin:0 0 12px; color:#435246; font-size:12px; line-height:1.6; font-weight:600; }
.pd-quantity-status:empty { display:none; }
body.pd-quantity-open { overflow:hidden; }
.pd-quantity-dialog { width:520px; max-width:calc(100vw - 32px); max-height:80dvh; margin:auto; padding:0; border:1px solid #dce2dd; border-radius:6px; background:#fff; color:var(--anthracite); box-shadow:0 20px 80px #17251f30; }
.pd-quantity-dialog::backdrop { background:#17251f66; }
.pd-quantity-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 16px 12px 24px; border-bottom:1px solid var(--line); }
.product-page .pd-quantity-dialog h2 { margin:0; font-size:19px; line-height:1.4; letter-spacing:-.02em; }
.pd-quantity-dialog-head button { flex-shrink:0; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:4px; color:var(--anthracite); background:#f7f8f6; font:inherit; font-size:26px; cursor:pointer; }
.pd-quantity-dialog-content { padding:8px 24px 24px; overflow:auto; max-height:calc(80dvh - 80px); }
.pd-quantity-dialog table { width:100%; border-collapse:collapse; font-size:13px; }
.pd-quantity-dialog th,.pd-quantity-dialog td { padding:12px 6px; border-bottom:1px solid #dde2de; text-align:left; }
.pd-quantity-dialog th:last-child,.pd-quantity-dialog td:last-child { text-align:right; white-space:nowrap; }
.pd-quantity-dialog thead { color:#58625b; }
.pd-quantity-dialog tr.is-applied { background:#e1ebe2; color:#304b37; }
.pd-tier-applied { display:block; margin-top:3px; font-size:10px; font-weight:500; }
.pd-quantity-dialog p { margin:16px 0 0; font-size:12px; line-height:1.7; color:#515e55; }
.pd-purchase-information { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:16px; margin:0 0 28px; }
.product-page .pd-purchase-information .product-includes { margin:0; padding:18px 20px; align-items:center; }
.product-page .pd-purchase-information .product-includes p { margin:0; }
.product-page .pd-purchase-information .purchase-benefits { margin:0; }
.product-page .pd-purchase-information .purchase-benefits:only-child { grid-column:1/-1; }
.product-page .pd-purchase-information .purchase-benefit { padding:18px 12px; }
.product-page .pd-purchase-information .purchase-benefit__icon { width:38px; height:38px; margin-bottom:8px; }
@media(max-width:760px) {
  .pd-purchase-information { grid-template-columns:minmax(0,1fr); gap:12px; margin-bottom:22px; }
  .product-page .pd-purchase-information .product-includes { padding:16px; }
  .product-page .pd-purchase-information .purchase-benefit { padding:16px 7px; }
  .pd-quantity-dialog { width:100%; max-width:100%; margin:auto 0 0; border-radius:12px 12px 0 0; }
  .pd-quantity-dialog-head { padding-left:18px; }
  .pd-quantity-dialog-content { padding:8px 18px max(20px,env(safe-area-inset-bottom)); }
  .product-page .pd-quantity-dialog h2 { font-size:18px; }
}
.product-page [data-product-compare][hidden],.product-page [data-product-discount][hidden] { display:none; }
