﻿.product-breadcrumb{display:flex;align-items:center;gap:10px;padding-top:24px;font-size:12px;color:#847366;flex-wrap:wrap}.product-breadcrumb a{color:#452c22;font-weight:700}.product-breadcrumb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65vw}
.product-detail-page .detail-section{padding:24px 0 64px}.product-detail-page .pufy-detail{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.product-detail-page .product-gallery{position:sticky;top:110px}.product-detail-page .gallery-stage{height:auto;aspect-ratio:1;min-height:0;max-height:580px;padding:28px;background:radial-gradient(ellipse at center,#fff 25%,#f6f0e8);border-radius:24px;border-color:#eae0d5}.product-detail-page .gallery-stage-image{height:100%;position:absolute;inset:0;padding:30px}.product-detail-page .gallery-stage-video{position:absolute;inset:0;height:100%}
.product-detail-page .gallery-thumbs{gap:10px;padding-top:14px}.product-detail-page .gallery-thumb{width:76px;height:76px;border-radius:12px;background:#fff;border-color:#eee6dd}.product-detail-page .gallery-thumb.active{border-color:#7c2839;box-shadow:0 0 0 2px #7c283914}.product-detail-page .gallery-zoom-hint{font-size:11px;background:#fff;right:18px;bottom:18px;color:#51382b}
.product-detail-page .detail-copy .eyebrow{font-size:10px;letter-spacing:.12em;color:#96754e}.product-detail-page .detail-copy h1{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.045em;margin:12px 0 14px;color:#36251e}.product-detail-page .detail-description{font-size:14px;line-height:1.7;margin:0 0 22px;color:#74665c}
.detail-purchase{padding:22px;border:1px solid #e9dfd3;border-radius:20px;background:#fff;box-shadow:0 8px 30px #4c302308}.detail-stock{display:inline-flex;align-items:center;gap:7px;color:#387047;font-size:11px;font-weight:700}.detail-stock::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.detail-stock.is-unavailable{color:#a04b43}.product-detail-page .detail-price{font-size:36px;letter-spacing:-.045em;line-height:1.15;margin:12px 0;color:#38231a}.product-detail-page .detail-purchase .price-note{font-size:11px;line-height:1.5;margin:0;color:#877366}.product-detail-page .detail-cart{display:flex;align-items:end;flex-wrap:nowrap;gap:14px;margin:20px 0 14px}.product-detail-page .detail-quantity{flex:none;font-size:11px;gap:8px}.quantity-stepper{display:flex;align-items:center;height:50px;border:1px solid #dfd4c8;border-radius:10px;background:#fff;overflow:hidden}.product-detail-page .quantity-stepper button{width:34px;height:48px;padding:0;border:0;background:#fff;color:#51382b;font-size:21px;cursor:pointer}.product-detail-page .quantity-stepper input{width:36px;height:48px;padding:0;border:0;border-radius:0;text-align:center;font-size:14px;font-weight:800;appearance:textfield}.quantity-stepper input::-webkit-inner-spin-button{appearance:none}.product-detail-page .detail-cart>.button{flex:1;min-height:50px;border-radius:10px;background:linear-gradient(120deg,#8e2b3c,#631c30);box-shadow:0 6px 14px #74213820;color:#fff;font-size:14px;letter-spacing:0}.detail-cart-link{display:block;text-align:center;font-size:11px;color:#7b6150;font-weight:700}.detail-cart-link span{margin-left:6px}
.product-detail-page .detail-features{margin:22px 0 0;padding-top:18px}.product-detail-page .detail-features ul{list-style:none;padding:0;display:grid;gap:5px}.product-detail-page .detail-features li{position:relative;padding:4px 0 4px 22px;color:#6b5b4e;font-size:12px}.product-detail-page .detail-features li::before{content:"✓";position:absolute;left:0;color:#93703e;font-weight:800}.product-detail-page .detail-features h3{font-size:14px;color:#443025}.product-detail-page .product-facts{margin-top:22px;padding-top:18px}.product-detail-page .product-facts-heading>span,.product-detail-page .product-fact-number,.product-detail-page .product-facts-list summary small{display:none}.product-detail-page .product-facts-heading h3{font-size:16px;letter-spacing:-.02em}.product-detail-page .product-facts-list{gap:0}.product-detail-page .product-facts-list details{border:0;border-bottom:1px solid #e9dfd4;border-radius:0;background:transparent;box-shadow:none}.product-detail-page .product-facts-list summary{min-height:50px;padding:12px 0}.product-detail-page .product-facts-list details p{padding:0 0 16px}.detail-identifiers{margin-top:18px;border-top:1px solid #e9dfd4;padding-top:14px;color:#7c6a5b;font-size:11px}.detail-identifiers summary{cursor:pointer;font-weight:700}.detail-identifiers dl{margin:12px 0 0;display:grid;gap:8px}.detail-identifiers dl div{display:flex;justify-content:space-between;gap:10px}.detail-identifiers dd{margin:0;overflow-wrap:anywhere}
.product-lightbox{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(760px,calc(100vw - 48px));max-width:760px;height:min(650px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);padding:0;border:1px solid #eee3d5;border-radius:22px;background:#fffdf9;overflow:hidden;color:#452d23}.product-lightbox[open]{display:flex;flex-direction:column;gap:0}.product-lightbox::backdrop{background:#211810a8;backdrop-filter:blur(7px)}.lightbox-header{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #eee5db}.lightbox-header strong{display:block;font-size:14px;line-height:1.4}.lightbox-header small{display:block;margin-top:4px;font-size:11px;color:#90796a}.product-lightbox .lightbox-close{position:static;flex:none;width:36px;height:36px;background:#f3ece3;color:#452d23}.lightbox-media{flex:1;min-height:0;position:relative;overflow:auto;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(ellipse,#fff,#f7f2eb);overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.product-lightbox .lightbox-media img,.product-lightbox .lightbox-media video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.product-lightbox .lightbox-media [hidden]{display:none}.lightbox-media.is-zoomed{display:block}.product-lightbox .lightbox-media.is-zoomed img{width:200%;height:200%;max-width:none;max-height:none;cursor:zoom-out}.lightbox-toolbar{display:flex;justify-content:center;align-items:center;gap:18px;padding:12px 18px;border-top:1px solid #eee5db}.product-lightbox .lightbox-arrow{width:38px;height:38px;background:#f0e7da;color:#452d23}.lightbox-zoom{min-width:112px;height:38px;border:1px solid #ddcdbb;border-radius:8px;background:#fff;color:#452d23;font-size:12px;font-weight:700}.lightbox-zoom[aria-pressed=true]{background:#452d23;color:#fff}.lightbox-zoom[hidden]{display:none}.product-lightbox button:focus-visible,.quantity-stepper button:focus-visible{outline:3px solid #aa7e47;outline-offset:-3px}html.product-media-open{overflow:hidden}
@media(hover:hover) and (pointer:fine){.product-detail-page .gallery-stage:hover img{transform:scale(1.65)}.product-detail-page .gallery-stage:hover{border-color:#cfb392}.quantity-stepper button:hover{background:#f6eee4}}
@media(max-width:820px){.product-detail-page .pufy-detail{grid-template-columns:1fr;gap:24px}.product-detail-page .product-gallery{position:static;max-width:560px;width:100%;margin:auto}.product-detail-page .detail-copy{max-width:620px;width:100%;margin:auto}.product-detail-page .gallery-stage{max-height:480px}.product-breadcrumb{padding-top:18px}.product-detail-page .detail-section{padding-top:18px}}
@media(max-width:570px){.product-detail-page .gallery-stage{border-radius:18px;aspect-ratio:1.08}.product-detail-page .gallery-stage-image{padding:20px}.product-detail-page .gallery-thumb{width:64px;height:64px}.detail-purchase{padding:18px;border-radius:16px}.product-detail-page .detail-price{font-size:32px}.product-detail-page .detail-cart{gap:10px}.product-detail-page .detail-cart>.button{font-size:12px;padding:12px 14px}.product-lightbox{width:calc(100vw - 24px);height:min(540px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);border-radius:17px}.lightbox-header{padding:13px 14px}.lightbox-header strong{font-size:12px}.lightbox-media{padding:14px}.product-detail-page .detail-section{padding-bottom:40px}.product-detail-page .detail-copy h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){.product-detail-page .gallery-stage img{transition:none}}
/* Shop listing: bring the collection and purchase actions into view sooner. */
.catalog-page .catalog-hero-inner{min-height:240px;padding-block:28px;grid-template-columns:minmax(0,1fr) 30%;gap:30px}.catalog-page .catalog-hero-copy h1{font-size:clamp(28px,3.3vw,44px)}.catalog-page .catalog-hero-photo{height:210px;min-height:0}.catalog-page .catalog-hero-photo img{height:100%;object-fit:cover}.catalog-page .catalog-hero-link,.catalog-page .catalog-photo-note{display:none}.catalog-page .catalog-curation{margin-bottom:20px}.catalog-page .catalog-curation h2{font-size:27px}.catalog-page .catalog-section{padding-top:28px}.catalog-page .product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:none}.catalog-page .product-grid>.pufy-product{width:100%;border-radius:16px}.catalog-page .product-picture{height:280px}.catalog-page .product-copy{padding:18px}.catalog-page .product-copy .product-buy{display:grid;grid-template-columns:1fr;gap:13px;padding-top:18px}.catalog-page .product-copy .product-buy strong{font-size:25px}.catalog-page .product-buy form{width:100%}.catalog-page .product-add{width:100%;min-height:44px;border-radius:9px;border-color:#762238;background:#762238;font-size:12px}.catalog-page .product-add:hover:not(:disabled){background:#5d192b}.catalog-page .product-copy h3{min-height:0;font-size:20px}.catalog-page .product-grid:has(>article:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
@media(max-width:820px){.catalog-page .catalog-hero-inner{grid-template-columns:1fr 30%;min-height:200px;gap:20px}.catalog-page .catalog-hero-photo{height:170px}.catalog-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.catalog-page .catalog-hero-inner{grid-template-columns:1fr;min-height:0;padding-block:26px}.catalog-page .catalog-hero-photo{display:none}.catalog-page .catalog-hero-copy h1{font-size:30px}.catalog-page .catalog-hero-copy p{font-size:12px;margin-bottom:0}.catalog-page .product-grid,.catalog-page .product-grid:has(>article:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-page .product-picture{height:185px}.catalog-page .product-copy{padding:12px}.catalog-page .product-copy h3{font-size:15px;min-height:40px}.catalog-page .product-copy p{font-size:11px;min-height:36px}.catalog-page .product-copy .product-buy strong{font-size:21px}.catalog-page .product-meta{font-size:8px;letter-spacing:.04em;flex-wrap:wrap}.catalog-page .product-add{font-size:10px;padding-inline:6px;gap:5px}.catalog-page .product-picture-arrow{width:27px;height:27px;top:9px;right:9px}.catalog-page .product-picture .gallery-count-badge{left:8px;bottom:8px;font-size:8px;padding:4px 7px}}
@media(max-width:350px){.catalog-page .product-grid,.catalog-page .product-grid:has(>article:nth-child(2):last-child){grid-template-columns:1fr}.catalog-page .product-picture{height:250px}}
/* Compact viewer: constrain the image, stretch the header, keep controls light. */
body .product-lightbox{width:min(520px,calc(100vw - 32px));max-width:520px;height:min(560px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);border-radius:18px;background:#fff;border:1px solid #ffffffaa;box-shadow:0 18px 70px #21160f38}
body .product-lightbox[open]{display:flex;align-items:stretch;justify-content:flex-start;gap:0}
body .product-lightbox::backdrop{background:#221c186b;backdrop-filter:blur(4px)}
body .product-lightbox .lightbox-header{flex:none;min-width:0;align-items:center;padding:15px 18px;border:0;gap:16px}
body .product-lightbox .lightbox-header>div{min-width:0;flex:1}
body .product-lightbox .lightbox-header strong{font-size:12px;font-weight:600;color:#51453d;letter-spacing:-.01em;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body .product-lightbox .lightbox-header small{font-size:10px;color:#a09186;margin-top:3px;font-variant-numeric:tabular-nums}
body .product-lightbox .lightbox-close{display:grid;place-items:center;width:32px;height:32px;border:1px solid #ece7e1;border-radius:50%;background:#fff;color:#6c5d52;cursor:pointer}
body .product-lightbox button svg{width:17px;height:17px;display:block;flex:none}
body .product-lightbox .lightbox-media{flex:1;min-height:0;width:100%;box-sizing:border-box;margin:0;padding:12px 26px;background:#fff;overflow:auto;border:0;border-radius:0;scrollbar-width:thin}
body .product-lightbox .lightbox-media img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:0;user-select:none}
body .product-lightbox .lightbox-media video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#181411}
body .product-lightbox .lightbox-media.is-zoomed{display:block;cursor:grab}
body .product-lightbox .lightbox-media.is-zoomed img{width:200%;height:200%;max-width:none;max-height:none;cursor:inherit;object-fit:contain}
body .product-lightbox .lightbox-media.is-dragging{cursor:grabbing}
body .product-lightbox .lightbox-toolbar{flex:none;gap:12px;padding:12px 18px 16px;border:0;background:#fff}
body .product-lightbox .lightbox-arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid #eae3dc;border-radius:50%;background:#fff;color:#736254;cursor:pointer}
body .product-lightbox .lightbox-zoom{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:76px;height:34px;padding:0 12px;border:1px solid #eae3dc;border-radius:99px;background:#faf7f3;color:#736254;font-size:11px;font-weight:600;cursor:pointer}
body .product-lightbox .lightbox-zoom[aria-pressed=true]{background:#4c3428;border-color:#4c3428;color:#fff}
body .product-lightbox .lightbox-zoom[aria-pressed=true] .zoom-plus{display:none}
body .product-lightbox .lightbox-zoom[hidden]{display:none}
body .product-lightbox button:hover:not(:disabled){border-color:#bea58c;background:#f3ede5;color:#4c3428}
body .product-lightbox button:disabled{opacity:.3;cursor:default}
@media(max-width:570px){body .product-lightbox{width:calc(100vw - 32px);max-width:440px;height:min(470px,calc(100dvh - 72px));border-radius:16px}body .product-lightbox .lightbox-header{padding:13px 14px}body .product-lightbox .lightbox-media{padding:8px 18px}body .product-lightbox .lightbox-toolbar{padding:10px 14px 14px}body .product-lightbox .lightbox-arrow,body .product-lightbox .lightbox-zoom,body .product-lightbox .lightbox-close{min-height:40px}body .product-lightbox .lightbox-arrow,body .product-lightbox .lightbox-close{width:40px}}
/* Exact red sampled from the Pufy logo; interactions keep the same hue. */
:root{--pufy-logo-red:#e61e29}
.product-detail-page .detail-cart>.button,.catalog-page .product-add,.catalog-page .product-add:hover:not(:disabled){background:var(--pufy-logo-red);border-color:var(--pufy-logo-red);color:#fff;box-shadow:none}
body .product-lightbox .lightbox-arrow,body .product-lightbox .lightbox-close,body .product-lightbox .lightbox-zoom,body .product-lightbox .lightbox-zoom[aria-pressed=true],body .product-lightbox button:hover:not(:disabled){background:var(--pufy-logo-red);border-color:var(--pufy-logo-red);color:#fff}
body .product-lightbox button:hover:not(:disabled){box-shadow:0 0 0 3px #e61e2926}
body .product-lightbox button:focus-visible,.quantity-stepper button:focus-visible{outline-color:var(--pufy-logo-red)}
.product-detail-page .quantity-stepper button{color:var(--pufy-logo-red)}
.product-detail-page .gallery-thumb.active{border-color:var(--pufy-logo-red);box-shadow:0 0 0 2px #e61e291a}
.shop-breadcrumb{background:#edf4ee;color:#365b40;border-block:1px solid #dfe9e0;padding:0}
.shop-breadcrumb ol.container{display:flex;align-items:center;flex-wrap:wrap;gap:6px 0;list-style:none;margin:0 auto;padding:13px 0;min-height:46px;font-size:12px;line-height:1.5}
.shop-breadcrumb li{display:flex;align-items:center;gap:10px;min-width:0}
.shop-breadcrumb li+li{margin-inline-start:10px}
.shop-breadcrumb a,.shop-breadcrumb span{color:#365b40;overflow-wrap:anywhere}
.shop-breadcrumb li:first-child a{font-weight:800}
.shop-breadcrumb a{text-decoration:none;font-weight:500}
.shop-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.shop-breadcrumb [aria-current=page]{font-weight:700}
.shop-breadcrumb svg{width:13px;height:13px;flex:none;color:#7a9680}
.shop-breadcrumb a:focus-visible{outline:2px solid #347343;outline-offset:3px;border-radius:2px}
@media(max-width:570px){.shop-breadcrumb ol.container{font-size:11px;padding:11px 0;gap:5px 0}.shop-breadcrumb li{gap:6px}.shop-breadcrumb li+li{margin-inline-start:6px}.shop-breadcrumb svg{width:11px;height:11px}}
.product-detail-page .detail-purchase .detail-cart-link{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:11px 15px;margin-top:4px;border:1px solid #e61e29;border-radius:10px;background:#fff;color:#e61e29;text-decoration:none;font-size:13px;font-weight:800;line-height:1.4;box-sizing:border-box;transition:box-shadow .18s}
.product-detail-page .detail-cart-link span{margin:0}
.product-detail-page .detail-cart-link svg{width:19px;height:19px;flex:none}
.product-detail-page .detail-cart-link .cart-link-arrow{width:16px;height:16px}
.product-detail-page .detail-cart-link:hover{box-shadow:0 0 0 3px #e61e291a}
.product-detail-page .detail-cart-link:focus-visible{outline:3px solid #e61e29;outline-offset:3px}
@media(max-width:570px){.product-detail-page .detail-purchase .detail-cart-link{min-height:48px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.product-detail-page .detail-purchase .detail-cart-link{transition:none}}
/* Keep the product gallery in normal flow, including short desktop windows. */
body .product-detail-page .product-gallery{position:static;top:auto;align-self:start}
body .product-detail-page .gallery-stage{overflow:hidden;touch-action:pan-y;box-sizing:border-box}
body .product-detail-page .gallery-stage img,body .product-detail-page .gallery-stage:hover img{transform:none}
body .product-detail-page .gallery-stage .gallery-zoom-hint,body .product-detail-page .gallery-stage:hover .gallery-zoom-hint{opacity:1}
@media(hover:hover) and (pointer:fine){body .product-detail-page .gallery-stage.is-zooming img{transform:scale(1.55)}body .product-detail-page .gallery-stage.is-zooming .gallery-zoom-hint{opacity:0}}
@media(prefers-reduced-motion:reduce){body .product-detail-page .gallery-stage img{transition:none}}
/* Four products per desktop row in the shop catalog. */
@media(min-width:1001px){body .catalog-page .product-grid,body .catalog-page .product-grid:has(>article:nth-child(2):last-child){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:none;width:100%;margin-inline:0}body .catalog-page .product-grid>.pufy-product{min-width:0;width:100%}body .catalog-page .product-picture{height:auto;aspect-ratio:1.08}body .catalog-page .product-copy{padding:16px}body .catalog-page .product-copy h3{font-size:17px;line-height:1.4}body .catalog-page .product-meta{flex-wrap:wrap;gap:5px}body .catalog-page .product-copy .product-buy strong{font-size:23px}}
@media(min-width:571px) and (max-width:1000px){body .catalog-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
