/* BirdieMoments product system. Shared by classic/photo towels, seats and pouches.
   Change tokens here; product adapters only supply fields, images and content. */
.bm-product{--p-ink:#222;--p-muted:#666;--p-line:#dedede;--p-surface:#f1f1f1;--p-gap:36px;--p-control:50px;--p-font:Archivo,Arial,sans-serif}
.bm-product .product-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr);gap:var(--p-gap);align-items:start;min-height:0}
.bm-product .product-visual,.bm-product .product-summary{position:static!important;top:auto!important;min-width:0;min-height:0!important;max-height:none!important;height:auto!important;overflow:visible!important;padding:0}
.bm-product .product-summary h1{font:700 34px/1.15 var(--p-font);letter-spacing:-.025em;text-transform:none;color:var(--p-ink);margin:0 0 24px}
.bm-product .product-price{font:600 22px/1.4 var(--p-font);color:var(--p-ink);margin:0 0 28px;display:block}
.bm-product .product-price :is(.price,.amount,bdi,ins){font:inherit;color:inherit;background:none;text-decoration:none}
.bm-product .product-price del{font-size:16px;color:#888;margin-right:12px;font-weight:500}
.bm-product .product-price del :is(.amount,bdi){font:inherit;color:inherit}
.bm-product .product-summary .product-price>.amount{font:inherit;color:inherit}
.bm-product .product-lead,.bm-product .product-lead p{font:400 16px/1.7 var(--p-font);color:var(--p-ink)}
.bm-product .product-lead{margin:0 0 30px}.bm-product .product-lead p{margin:0}
.bm-product .ff-product-sku{font:400 12px/1.6 var(--p-font);color:#777;margin:18px 0 0}

/* Fields: selectors bridge existing order adapters without changing their data. */
.bm-product :is(.ff-customizer,.bm5-customizer){padding:0;margin:0}
.bm-product :is(.ff-customizer,.bm5-customizer) fieldset,.bm-product .bm5-color-options{border:0;border-top:1px solid var(--p-line);padding:24px 0 0;margin:0 0 24px;min-width:0}
.bm-product :is(.ff-customizer,.bm5-customizer) legend,.bm-product .bm5-color-options legend{float:left;display:flex;align-items:center;gap:12px;width:100%;font:600 17px/1.5 var(--p-font);letter-spacing:0;color:var(--p-ink);margin:0 0 16px;padding:0;text-transform:none}
.bm-product :is(.ff-customizer,.bm5-customizer) legend+*,.bm-product .bm5-color-options legend+*{clear:both}
.bm-product .bm-customizer legend>span:first-child:not([id]){display:none}
.bm-product :is(.ff-customizer,.bm5-customizer) legend :is(small,span),.bm-product [data-bm5-color-label]{font:400 14px/1.5 var(--p-font);color:var(--p-muted);margin-left:auto}
.bm-product :is(.bm-form-intro,.bm5-form-help,.bm5-slot-guide){font:400 15px/1.6 var(--p-font);color:var(--p-muted);margin:0 0 16px!important}
.bm-product .bm5-slot-guide{font-size:13px}
.bm-product :is(.ff-customizer,.bm5-customizer) .field-label{display:block;font:500 15px/1.5 var(--p-font);color:var(--p-ink);margin:16px 0 8px}
.bm-product :is(.ff-customizer,.bm5-customizer) :is(input[type=text],select){box-sizing:border-box;width:100%;min-height:var(--p-control);padding:12px 14px;background:#fff;border:1px solid #ccc;border-radius:0;box-shadow:none;font:400 16px/1.5 var(--p-font);color:var(--p-ink)}
.bm-product :is(.ff-customizer,.bm5-customizer) input:focus-visible,.bm-product :is(.ff-customizer,.bm5-customizer) select:focus-visible{outline:2px solid #244436;outline-offset:2px}
.bm-product :is(.ff-customizer,.bm5-customizer) small{font:400 13px/1.6 var(--p-font);color:#777}
.bm-product .ff-customizer .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bm-product :is(.ff-status,.bm5-form-status){font:400 13px/1.6 var(--p-font);color:#666;margin:12px 0 20px}
.bm-product .bm5-form-status.is-error{color:#9b2929}
.bm-product .bm-customizer #ff-upload-status,.bm-product .preview-hint{display:none!important}
.bm-product [hidden]{display:none!important}

/* Upload controls and numbered thumbnails. */
.bm-product :is(.bm-upload-dropzone,.bm5-dropzone,.upload-box){box-sizing:border-box;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:112px;padding:20px;border:1px dashed #999;border-radius:0;background:#fafafa;text-align:center;cursor:pointer;font:600 16px/1.5 var(--p-font);color:var(--p-ink);margin:0}
.bm-product :is(.bm-upload-dropzone,.bm5-dropzone,.upload-box) strong{font:600 16px/1.5 var(--p-font)}
.bm-product :is(.bm-upload-dropzone,.bm5-dropzone)>span{font:400 13px/1.5 var(--p-font);color:#777;margin:0}
.bm-product :is(.bm-upload-dropzone,.bm5-dropzone,.upload-box) input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}
.bm-product :is(.bm-upload-dropzone,.bm5-dropzone,.upload-box):focus-within{outline:2px solid #244436;outline-offset:3px}
.bm-product :is(.bm-upload-dropzone,.bm5-dropzone,.upload-box):hover,.bm-product .bm5-dropzone.is-over{background:#f1f1f1;border-color:#222}
.bm-product :is(.bm-upload-meta,.bm5-upload-info){display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 14px;font:400 13px/1.6 var(--p-font);color:#777}
.bm-product :is(.bm-upload-meta,.bm5-upload-info) small{font:inherit}
.bm-product :is(.bm-upload-strip,.bm5-upload-strip){display:flex;gap:12px;list-style:none!important;padding:0!important;margin:14px 0!important;overflow-x:auto;scrollbar-width:thin}
.bm-product :is(.bm-upload-strip,.bm5-upload-strip):empty{display:none}
.bm-product :is(.bm-upload-item,.bm5-upload-strip>li){position:relative;flex:0 0 112px;min-width:0;padding:0;border:1px solid #ddd;background:#f4f4f4;border-radius:0}
.bm-product :is(.bm-upload-item,.bm5-upload-strip>li)>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;cursor:grab}
.bm-product :is(.bm-upload-number,.bm5-photo-number){position:absolute;top:5px;left:5px;display:grid;place-items:center;min-width:23px;width:23px;height:23px;background:#fff;color:#222;border-radius:0;font:500 12px/1 var(--p-font);pointer-events:none}
.bm-product .bm-upload-filename{display:none}
.bm-product :is(.bm-upload-actions,.bm5-photo-actions){display:flex;justify-content:space-around;gap:6px;padding:8px 4px;margin:0}
.bm-product :is(.bm-upload-actions,.bm5-photo-actions) button{font:400 12px/1.5 var(--p-font);border:0;background:none;color:#333;text-decoration:underline;text-underline-offset:3px;padding:5px 2px;cursor:pointer}
.bm-product :is(.bm-upload-help,.bm5-reorder-help){font:400 12px/1.7 var(--p-font);color:#777;margin:10px 0}
.bm-product .bm5-enhanced .bm5-native-uploads,.bm-product.bm5-enhanced .bm5-native-uploads{display:none}
.bm-product.bm5-enhanced .variations{display:none}
.bm-product .woocommerce-variation-price,.bm-product .woocommerce-variation-description{display:none}

/* Color adapter: all choices share spacing, type and selected borders. */
.bm-product .bm5-color-options [role=radiogroup]{display:flex;flex-wrap:wrap;gap:10px}
.bm-product .bm5-swatch{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 13px;border:1px solid #d9d9d9;background:#fff;color:#222;font:400 14px/1.4 var(--p-font);cursor:pointer}
.bm-product .bm5-swatch span{width:20px;height:20px;flex:none;border-radius:50%;border:1px solid #ccc;background:var(--bm5-swatch)}
.bm-product .bm5-swatch[aria-checked=true]{border-color:#222;box-shadow:inset 0 0 0 1px #222}
.bm-product .color-options{display:flex;gap:12px;flex-wrap:wrap}
.bm-product .color-choice{display:flex;align-items:center;gap:9px;width:auto;height:auto;min-height:44px;padding:10px 13px;border:1px solid #d9d9d9;border-radius:0;background:#fff;box-shadow:none;outline:none;color:#222;font:400 14px/1.4 var(--p-font);cursor:pointer}
.bm-product .color-choice[aria-pressed=true]{border-color:#222;box-shadow:inset 0 0 0 1px #222}
.bm-product .color-choice:after{display:none}
.bm-product .bm-choice-swatch{width:20px;height:20px;flex:none;border:1px solid #ccc;border-radius:50%;background:var(--p-choice-color)}

/* Purchase row. */
.bm-product .bm-purchase-row{display:flex;align-items:stretch;gap:14px;width:100%;margin-top:20px}
.bm-product .bm-purchase-row .quantity{display:flex;align-items:stretch;flex:0 0 118px;width:118px;height:54px;border:1px solid #ccc;background:#fff;margin:0!important;padding:0;float:none!important}
.bm-product .bm-purchase-row .qty{width:38px!important;min-width:0!important;max-width:none;height:52px!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;text-align:center;appearance:textfield;font:500 16px/1 var(--p-font);color:#222}
.bm-product .qty::-webkit-inner-spin-button,.bm-product .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.bm-product .bm-quantity-step{width:39px;min-width:39px;border:0;background:transparent;color:#333;font:400 21px/1 var(--p-font);padding:0;cursor:pointer}
.bm-product .bm-quantity-step:hover{background:#f0f0f0}
.bm-product .bm-purchase-row .single_add_to_cart_button{float:none!important;flex:1;min-width:0;width:auto!important;min-height:54px!important;margin:0!important;padding:15px 20px!important;border:1px solid #222!important;border-radius:0!important;background:#222!important;color:#fff!important;font:600 16px/1.4 var(--p-font)!important;letter-spacing:0}
.bm-product .single_add_to_cart_button:disabled{opacity:.4!important;cursor:not-allowed!important}

/* One details/reviews/recommendation structure for every category. */
.bm-product .product-visual>.bm-editorial-details{display:block;box-sizing:border-box;width:100%;padding:32px clamp(24px,3.4vw,48px) 0;margin:0;border:0}
.bm-product .bm-product-reasons,.bm-product .bm-editorial-information{max-width:590px;margin:0 auto}
.bm-product .bm-product-reasons{margin-bottom:26px}
.bm-product .bm-product-reasons h2{font:600 20px/1.3 var(--p-font);letter-spacing:.01em;margin:0 0 20px;color:#222}
.bm-product .bm-product-reasons ul{display:grid;gap:12px;list-style:none;padding:0;margin:0}
.bm-product .bm-product-reasons li{display:block;font:400 16px/1.6 var(--p-font);color:#222}
.bm-product .bm-detail-grid{display:block;margin:0;max-width:100%}
.bm-product .bm-detail-grid details{border-bottom:1px solid var(--p-line)}
.bm-product .bm-detail-grid summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0;list-style:none;cursor:pointer;text-transform:none;letter-spacing:0}
.bm-product .bm-detail-grid summary::-webkit-details-marker{display:none}
.bm-product .bm-detail-grid summary h3{font:600 18px/1.35 var(--p-font);letter-spacing:-.01em;margin:0;color:#222}
.bm-product .bm-accordion-sign{position:relative;display:block;flex:0 0 14px;width:14px;height:14px}
.bm-product .bm-accordion-sign:before,.bm-product .bm-accordion-sign:after{content:'';position:absolute;top:6px;left:0;width:14px;height:1px;background:#222}
.bm-product .bm-accordion-sign:after{transform:rotate(90deg)}
.bm-product details[open] .bm-accordion-sign:after{transform:none}
.bm-product .ff-product-description{padding:0 0 14px}
.bm-product .bm-detail-grid :is(p,li,table){font:400 15px/1.8 var(--p-font);color:#555}
.bm-product .bm-reviews,.bm-product .bm-recommendations{border-top:1px solid var(--p-line);padding:42px 0;margin-top:42px}
.bm-product :is(.bm-reviews,.bm-recommendations)>h2{font:700 29px/1.2 var(--p-font);text-transform:none;margin:0 0 28px}
.bm-product .bm-recommendations .product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.bm-product .bm-recommendations .card-image{aspect-ratio:1;background:var(--p-surface)}
.bm-product #reviews{margin-top:0}.bm-product .woocommerce-Reviews-title{display:none}
.bm-product .bm-reviews :is(input[type=text],input[type=email],textarea,select){box-sizing:border-box;border:1px solid #ccc;border-radius:0;background:#fff;min-height:46px;padding:12px;font:400 16px/1.5 var(--p-font);width:100%;max-width:720px}
.bm-product .bm-reviews textarea{height:130px}.bm-product .bm-reviews .cr-review-form-wrap{font-family:var(--p-font)}
.bm-product .bm-reviews :is(#submit,.cr-review-form-submit){background:#222!important;border:1px solid #222!important;border-radius:0!important;color:#fff!important;min-height:48px;font:600 15px/1.5 var(--p-font)!important;padding:14px 24px}
.bm-product :is(button,summary,a):focus-visible{outline:2px solid #244436;outline-offset:3px}

/* Gallery adapters: exact crop boxes and images remain product data. */
.bm-product .bm-two-gallery,.bm5-media-pair.has-lifestyle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;max-width:100%;max-height:none;margin:0}
.bm-product .bm-two-gallery figure{margin:0;aspect-ratio:var(--bm-media-ratio,.8);background:var(--p-surface);overflow:hidden}
.bm-product .bm-two-gallery figure a{position:relative;display:block;width:100%;height:100%}
.bm-product .bm-two-gallery figure img{display:block;width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box;mix-blend-mode:normal}
.bm-product .bm-two-gallery .bm-lifestyle-photo img{padding:0}
.bm-product .bm-two-gallery .bm-example-before{position:absolute;inset:0;opacity:0;animation:none;transition:opacity .35s}
.bm-product [data-bm-legacy-gallery][data-phase=before] .bm-example-before{opacity:1}
.bm5-gallery{display:block;min-width:0;margin:0}
.bm5-gallery.has-two-views{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bm5-frame{position:relative;aspect-ratio:var(--bm5-ratio);background:var(--p-surface);overflow:hidden;margin:0}
.bm5-frame a{display:block;position:absolute;inset:0}
.bm5-frame img{position:absolute;max-width:none!important;width:var(--bm5-img-width)!important;height:auto!important;left:var(--bm5-img-left);top:var(--bm5-img-top);padding:0;transition:opacity .35s}
.bm5-gallery[data-phase=after] img[data-state=before],.bm5-gallery[data-phase=before] img[data-state=after]{opacity:0;pointer-events:none}
.bm5-gallery[data-phase=after] img[data-state=after],.bm5-gallery[data-phase=before] img[data-state=before]{opacity:1}
.bm5-gallery.is-loading{opacity:.75}
.bm5-gallery.with-scene .bm5-frame{aspect-ratio:var(--bm5-scene-ratio,.8)}
.bm5-gallery.with-scene .bm5-frame a,.bm5-gallery.has-two-views .bm5-frame a{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--bm5-crop-width,100%);height:var(--bm5-crop-height,100%);overflow:hidden}
.bm5-lifestyle{margin:0;min-width:0}.bm5-lifestyle a{display:block;background:var(--p-surface)}
.bm5-lifestyle img{display:block;width:100%;height:auto;aspect-ratio:var(--bm5-scene-ratio,.8);object-fit:contain}
.bm5-lifestyle figcaption{text-align:right;font:400 11px/1.5 var(--p-font);color:#777;margin:7px 0 0}
.bm-product :is(.bm-comparison-controls,.bm5-comparison-tabs,.bm5-view-tabs){display:flex;justify-content:center;gap:24px;margin:16px 0 0}
.bm-product :is(.bm-comparison-controls,.bm5-comparison-tabs,.bm5-view-tabs) button{font:400 14px/1.5 var(--p-font);padding:8px 0;background:none;color:#666;border:0;border-bottom:1px solid transparent;cursor:pointer}
.bm-product :is(.bm-comparison-controls,.bm5-comparison-tabs,.bm5-view-tabs) button[aria-pressed=true]{color:#222;border-color:#222}
.bm-product .bm5-view-tabs{gap:18px;margin-top:8px}.bm-product .bm5-view-tabs button{font-size:12px;padding:6px 0}
.bm-photo-dialog,.bm5-photo-dialog{position:fixed;padding:52px 20px 20px;border:0;background:#f4f4f4;max-width:94vw;max-height:94vh;margin:auto}
.bm-photo-dialog::backdrop,.bm5-photo-dialog::backdrop{background:rgba(0,0,0,.7)}
.bm-photo-dialog img,.bm5-photo-dialog img{display:block;max-width:85vw;max-height:82vh;object-fit:contain;width:auto;height:auto;margin:auto}
.bm-photo-dialog button,.bm5-photo-dialog button{position:absolute;top:12px;right:15px;border:1px solid #ccc;background:white;color:#222;padding:8px 14px;font:500 13px/1.4 Archivo,Arial,sans-serif;cursor:pointer}
.bm5-catalog-card .card-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#f1f1f1}
.bm5-card-crop{display:block;position:relative;overflow:hidden}
.bm5-catalog-card .bm5-card-crop img{position:absolute!important;width:var(--bm5-img-width)!important;max-width:none!important;height:auto!important;left:var(--bm5-img-left);top:var(--bm5-img-top);object-fit:initial!important;transform:none!important}
.bm-product .bm-card-type,.bm5-card-type{display:block;color:#666;font-size:14px;margin:6px 0 8px}

@media(max-width:1200px) and (min-width:1001px){.bm-product .product-layout{grid-template-columns:minmax(0,1.3fr) minmax(340px,1fr);gap:28px}}
@media(max-width:1000px){.bm-product .product-layout{display:flex;flex-direction:column;gap:0}.bm-product .product-visual{display:contents}.bm-product .bm-product-media{order:0;width:100%}.bm-product .product-summary{order:1;width:100%;max-width:none;margin:28px 0 0}.bm-product .product-visual>.bm-editorial-details{order:2;padding:32px 24px 0}}
@media(max-width:760px){
 .bm-product .product-summary h1{font-size:30px;line-height:1.18}.bm-product .product-price{font-size:22px;margin-bottom:24px}
 .bm-product :is(.bm-two-gallery,.bm5-media-pair.has-lifestyle){display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:8px}
 .bm-product .bm-two-gallery>figure,.bm-product .bm5-media-pair.has-lifestyle>:is(.bm5-comparison-side,.bm5-lifestyle){flex:0 0 94%;scroll-snap-align:start}
 .bm-product .bm5-lifestyle figcaption{font-size:10px}.bm-product .bm5-view-tabs{gap:12px}.bm-product .bm5-view-tabs button{font-size:11px}
 .bm-product :is(.ff-customizer,.bm5-customizer) legend,.bm-product .bm5-color-options legend{font-size:17px}
 .bm-product :is(.bm-upload-item,.bm5-upload-strip>li){flex-basis:100px}
 .bm-product .bm-purchase-row{gap:10px}.bm-product .bm-purchase-row .quantity{flex-basis:106px;width:106px}.bm-product .bm-quantity-step{width:35px;min-width:35px}.bm-product .bm-purchase-row .qty{width:34px!important}
 .bm-product .product-visual>.bm-editorial-details{padding:32px 16px 0}.bm-product .bm-detail-grid summary h3{font-size:16px}.bm-product .bm-product-reasons h2{font-size:18px}
 .bm-product .bm-reviews,.bm-product .bm-recommendations{padding:30px 0;margin-top:30px}.bm-product :is(.bm-reviews,.bm-recommendations)>h2{font-size:25px}
 .bm-product .bm-recommendations .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
}
@media(prefers-reduced-motion:reduce){.bm5-frame img,.bm-product .bm-example-before{transition:none}}

/* Slot placement is communicated by numbered previews, without a duplicate guide. */
.bm-product .bm5-slot-guide{display:none!important}
