/* Product-only structural styles: server-rendered hooks and one responsive gallery. */
/* Keep stock markup for the notification provider, without shifting the CTA. */
.ecsf.ecsf-product-page .summary .stock.out-of-stock,
.ecsf.ecsf-product-page .summary .woocommerce-variation-availability:has(>.stock.out-of-stock:only-child){display:none!important}
.ecsf-product-page .ecsf-content{padding-top:28px}
.ecsf-pdp-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);gap:42px;align-items:start}
.ecsf .ecsf-pdp-layout::before,.ecsf .ecsf-pdp-layout::after{display:none}
.ecsf.woocommerce div.product .ecsf-pdp-layout>.summary{float:none;width:auto;margin:0;min-width:0;position:relative}
.ecsf .ecsf-pdp-layout .product_title{font-family:var(--ecsf-font-product,var(--ecsf-font-body));font-size:clamp(24px,2.5vw,36px);font-weight:500;line-height:1.2;margin:0 0 16px}
.ecsf.woocommerce div.product .ecsf-pdp-layout .summary .price{color:var(--ecsf-text);font-size:20px;margin:0 0 20px}
.ecsf .ecsf-pdp-layout .woocommerce-product-details__short-description{font-size:15px;margin:24px 0}
.ecsf .ecsf-product-media-single{float:none;width:100%;padding:0;margin:0}
.ecsf .ecsf-product-media-single .ecsf-media-frame{aspect-ratio:auto;overflow:visible;touch-action:auto;background:transparent}
.ecsf .ecsf-product-media-single .ecsf-media-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;height:auto}
@media(min-width:900px){.ecsf .ecsf-product-media-single .ecsf-media-track{transform:none!important}}
.ecsf .ecsf-product-media-single .ecsf-media-slide{height:auto;aspect-ratio:4/5;grid-column:span 3;order:2;overflow:hidden}
.ecsf .ecsf-product-media-single .ecsf-media-slide:first-child{grid-column:1/-1;order:1}
.ecsf .ecsf-product-media-single .ecsf-media-slide:nth-child(n+2):nth-child(-n+4){grid-column:span 2;order:0}
.ecsf .ecsf-product-media-single .ecsf-media-controls,.ecsf .ecsf-pdp-counter,.ecsf .ecsf-pdp-progress{display:none}
.ecsf .ecsf-pdp-layout table.variations{width:100%;border:0;border-collapse:collapse;margin-bottom:20px}
.ecsf .ecsf-pdp-layout table.variations tr,.ecsf .ecsf-pdp-layout table.variations th,.ecsf .ecsf-pdp-layout table.variations td{display:block;text-align:left;border:0;padding:0}
.ecsf .ecsf-pdp-layout table.variations th{margin:20px 0 8px;text-transform:capitalize;font-weight:500}
.ecsf .ecsf-enhanced-select{position:absolute!important;width:1px;height:1px;opacity:0;clip-path:inset(50%);pointer-events:none}
.ecsf-options{display:none;flex-wrap:wrap;gap:8px}
.ecsf-options-live .ecsf-options{display:flex}
.ecsf-options-live .ecsf .ecsf-option-field>select{display:none}
.ecsf-options button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--ecsf-line);background:none;color:var(--ecsf-text);font-size:14px}
.ecsf-options button:has(.ecsf-color-chip),.ecsf-options button:has(.ecsf-swatch-image){border-color:transparent;border-radius:50%;padding:7px}
.ecsf-options button[aria-pressed=true]{border-color:var(--ecsf-text)}
.ecsf-options button:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.ecsf-option-name{display:none;color:var(--ecsf-muted);font-size:13px;min-height:21px;margin-top:4px}
.ecsf-options-live .ecsf-option-name{display:block}
.ecsf-size-guide{padding:0;min-height:44px;border:0;background:none;color:var(--ecsf-text);text-decoration:underline;font-size:13px}
/* Original ring controls, scoped to the product page; card swatches stay unchanged. */
.ecsf .ecsf-options{gap:10px;align-items:center}
.ecsf .ecsf-options button{position:relative;margin:0;min-height:44px;height:44px;min-width:54px;padding:0 16px;border:1px solid color-mix(in srgb,var(--ecsf-text) 24%,transparent);border-radius:5px;background:color-mix(in srgb,var(--ecsf-text) 7%,transparent);font-size:14px;font-weight:500;line-height:1.2}
.ecsf .ecsf-options button[aria-pressed=true]{border-color:var(--ecsf-text);box-shadow:inset 0 0 0 1px var(--ecsf-text);background:transparent}
.ecsf .ecsf-options button:has(.ecsf-color-chip),.ecsf .ecsf-options button:has(.ecsf-swatch-image){width:44px;min-width:44px;height:44px;padding:4px;border-color:transparent;border-radius:50%;background:transparent;box-shadow:none}
.ecsf .ecsf-options :is(.ecsf-color-chip,.ecsf-swatch-image){width:32px;height:32px;border:1px solid var(--ecsf-text)}
.ecsf .ecsf-options button:has(.ecsf-color-chip)::after,.ecsf .ecsf-options button:has(.ecsf-swatch-image)::after{content:'';position:absolute;inset:0;border:2px solid transparent;border-radius:50%;pointer-events:none}
.ecsf .ecsf-options button[aria-pressed=true]:has(.ecsf-color-chip)::after,.ecsf .ecsf-options button[aria-pressed=true]:has(.ecsf-swatch-image)::after{border-color:color-mix(in srgb,var(--ecsf-text) 88%,transparent)}
.ecsf .ecsf-pdp-layout table.variations :is(.ecsf-option-row-color,.ecsf-option-row-size)>th,.ecsf-options-live .ecsf .ecsf-pdp-layout table.variations tr:has(:is(.ecsf-option-field--color,.ecsf-option-field--size))>th{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%)}
.ecsf .ecsf-option-row-size,.ecsf-options-live .ecsf .ecsf-pdp-layout table.variations tr:has(.ecsf-option-field--size){margin-top:22px}
.ecsf .ecsf-option-field--color>.ecsf-option-name{font-size:13px;font-weight:500;line-height:1.2;min-height:18px;margin:0 0 9px;color:var(--ecsf-text)}
.ecsf .ecsf-option-field--size>.ecsf-option-name{display:none}
.ecsf .ecsf-options-ready .reset_variations,.ecsf-options-live .ecsf .variations_form .reset_variations{display:none!important}
.ecsf .ecsf-size-guide{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:3px 0 0;padding:0 4px 0 0;border:0;border-radius:7px;background:none;color:var(--ecsf-muted);font-size:14px;font-weight:500;line-height:1.2;text-decoration:none}
.ecsf .ecsf-size-guide svg{width:17px;height:17px;flex:none}
.ecsf .ecsf-product-tagline{font-size:15px;font-weight:500;line-height:1.4;letter-spacing:.3px;margin:0 0 40px;color:var(--ecsf-text)}
@media(max-width:899px){.ecsf .ecsf-option-field--size .ecsf-options button{min-width:55px}}
.ecsf.woocommerce div.product .ecsf-pdp-layout .summary .single_add_to_cart_button,.ecsf.woocommerce div.product .ecsf-pdp-layout .summary .ec-notify-me-button{width:100%;min-height:50px;border:1px solid var(--ecsf-text);background:var(--ecsf-text);color:var(--ecsf-bg);font-weight:500;font-size:15px;padding:14px;border-radius:0}
.ecsf .ecsf-pdp-layout .quantity{margin-bottom:14px}.ecsf .ecsf-pdp-layout .quantity input{width:70px;padding:10px;background:var(--ecsf-bg);color:var(--ecsf-text);border:1px solid var(--ecsf-line)}
/* Keep the native quantity input and constraints; remove only its presentation.
   Grouped-product quantities remain visible because they choose which items to buy. */
.ecsf.ecsf-product-quantity-hidden .ecsf-pdp-layout .summary :is(form.cart>.quantity,.woocommerce-variation-add-to-cart>.quantity){display:none!important}
.ecsf .ecsf-pdp-layout .product_meta{display:none}
.ecsf-product-detail{border-bottom:1px solid var(--ecsf-line);padding:13px 0;font-size:15px}
.ecsf-product-page dialog.size-guide-modal{width:min(740px,calc(100vw - 32px));max-height:85svh;overflow:auto;padding:24px;border:1px solid var(--ecsf-line);background:var(--ecsf-bg);color:var(--ecsf-text)}
.ecsf-product-page dialog.size-guide-modal::backdrop{background:rgb(0 0 0/.5)}.ecsf-product-page .size-guide-modal table{width:100%;border-collapse:collapse;font-size:14px}.ecsf-product-page .size-guide-modal td,.ecsf-product-page .size-guide-modal th{padding:8px;border:1px solid var(--ecsf-line)}
.ecsf-product-page .size-guide-modal .ec-sg-modal-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.ecsf-product-page .size-guide-modal .ec-sg-modal--button_close{width:44px;height:44px;border:0;background:none;color:inherit}.ecsf-product-page .size-guide-modal .ec-sg-modal--button_close svg{width:24px;height:24px}
.ecsf-product-page[data-mode=dark] .ecsf-product-detail [style]{color:inherit!important}
.ecsf-product-detail summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-weight:500;min-height:28px}.ecsf-product-detail summary::-webkit-details-marker{display:none}.ecsf-product-detail summary::after{content:'+'}.ecsf-product-detail[open] summary::after{content:'−'}.ecsf-product-detail>div{padding-top:16px}
/* Legacy snippet chevron backgrounds must not combine with the native disclosure icon. */
body.ecsf.ecsf-product-page .summary .ecsf-product-detail>summary::before{content:none!important;display:none!important}
body.ecsf.ecsf-product-page .summary .ecsf-product-detail>summary::after{content:''!important;display:block!important;position:static!important;inset:auto!important;flex:0 0 12px!important;width:12px!important;height:12px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;opacity:.7!important;transform:none!important;transition:none!important;mask:none!important;clip-path:none!important;box-shadow:none!important;background:linear-gradient(currentColor,currentColor) center/10.5px 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 10.5px no-repeat!important}
body.ecsf.ecsf-product-page .summary .ecsf-product-detail[open]>summary::after{background:linear-gradient(currentColor,currentColor) center/10.5px 1px no-repeat!important}
.ecsf-product-description{clear:both;margin:80px 0 0}.ecsf-product-reviews{background:var(--ecsf-bg);padding:40px 0}.ecsf-product-reviews table{width:100%}
.ecsf-product-no-reviews{margin:0;text-align:center;color:var(--ecsf-muted)}
.ecsf .ecsf-media-model-info{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ecsf .ecsf-media-caption-desktop{position:absolute;bottom:12px;left:12px;right:12px;font-size:13px;line-height:1.4;font-weight:400;pointer-events:none;color:#fff;text-shadow:0 1px 3px rgb(0 0 0/.5)}
.ecsf .ecsf-media-caption-desktop.is-black{color:#111;text-shadow:0 1px 3px rgb(255 255 255/.5)}
/* A permanent two-line slot prevents caption changes from moving the purchase panel. */
@media(max-width:899px){.ecsf .ecsf-media-caption-desktop{display:none}.ecsf .ecsf-media-model-info{position:static;display:block;box-sizing:border-box;width:auto;height:calc(8px + 2.8em);padding:8px 24px 0;overflow:auto;overflow-wrap:anywhere;clip-path:none;font-family:var(--ecsf-font-body);font-size:12.5px;font-weight:400;line-height:1.4;color:var(--ecsf-muted)}}
@media(max-width:899px){
 .ecsf .ecsf-option-field--size .ecsf-options button{min-width:55px}
 .ecsf.ecsf-product-page .ecsf-product-description :is(.cr-all-reviews-shortcode,.cr-reviews-grid){box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-inline:0!important;padding-inline:24px!important}
 .ecsf-product-page .ecsf-content{padding:0;max-width:none}.ecsf-pdp-layout{display:block}.ecsf.woocommerce div.product .ecsf-pdp-layout>.summary{position:static;padding:26px 24px 32px;width:100%}
 .ecsf-product-page .ecsf-header:not(.ecsf-sticky-active){position:absolute;top:0;left:0;right:0}.ecsf-product-page .ecsf-header:not(.ecsf-sticky-solid){background:transparent;border:0;color:#fff}
 .ecsf-product-page .ecsf-header:not(.ecsf-sticky-solid)>.ecsf-header-inner>.ecsf-brand img{filter:brightness(0) invert(1)}
 .ecsf-product-page .ecsf-header:not(.ecsf-sticky-solid)>.ecsf-header-inner>.ecsf-menu-toggle,.ecsf-product-page .ecsf-header:not(.ecsf-sticky-solid)>.ecsf-header-inner>.ecsf-actions{color:#fff}
 .ecsf .ecsf-product-media-single .ecsf-media-frame{aspect-ratio:4/5;overflow:hidden;touch-action:pan-y pinch-zoom}
 .ecsf .ecsf-product-media-single{padding-bottom:44px}
 .ecsf .ecsf-product-media-single:not([data-media-ready]) .ecsf-media-frame{overflow:auto;touch-action:auto;scroll-snap-type:x mandatory}
 .ecsf .ecsf-product-media-single:not([data-media-ready]) .ecsf-media-slide{scroll-snap-align:start}
 .ecsf .ecsf-product-media-single:not([data-media-ready]) .ecsf-pdp-counter,.ecsf .ecsf-product-media-single:not([data-media-ready]) .ecsf-pdp-progress{display:none}
 .ecsf .ecsf-product-media-single .ecsf-media-track{display:flex;gap:0;height:100%}
 .ecsf .ecsf-product-media-single .ecsf-media-slide{order:initial!important;height:100%;max-height:none;aspect-ratio:auto}
 .ecsf .ecsf-product-media-single .ecsf-media-controls{display:flex;position:absolute;justify-content:space-between;min-height:44px;padding:0 12px;bottom:0}
 .ecsf .ecsf-product-media-single .ecsf-media-dots{display:none}.ecsf .ecsf-product-media-single .ecsf-media-controls button{min-width:44px;min-height:44px}
 .ecsf .ecsf-pdp-counter{display:block;position:absolute;bottom:13px;left:50%;transform:translateX(-50%);font-size:12px;pointer-events:none}
 .ecsf .ecsf-pdp-progress{display:block;height:2px;background:var(--ecsf-line);position:absolute;bottom:0;left:16px;right:16px}.ecsf-pdp-progress>span{display:block;height:100%;background:var(--ecsf-text);transition:width 180ms ease}
 .ecsf-product-description{margin-top:0}.ecsf-product-reviews,.ecsf-product-page .related{padding:32px 24px}

}
/* Shared purchasing hierarchy, independent of product and visual profile. */
.ecsf-product-page{--ecsf-pdp-gap-small:6px;--ecsf-pdp-gap:14px;--ecsf-pdp-section:20px}
.ecsf-pdp-title-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:start;gap:8px}
.ecsf .ecsf-pdp-layout .product_title{flex:1;min-width:0;margin:0;font-weight:500;text-transform:none;letter-spacing:normal}
.ecsf-pdp-favorite{flex:none;display:grid;place-items:center;width:44px;height:44px;margin:-6px -10px 0 0;padding:10px;border:0;background:none;color:var(--ecsf-text)}
.ecsf-pdp-favorite[aria-pressed=true] svg{fill:currentColor}
.ecsf-pdp-favorite-heart{display:flex}.ecsf-pdp-favorite-thumb{display:none}.ecsf[data-mode=dark] .ecsf-pdp-favorite-heart{display:none}.ecsf[data-mode=dark] .ecsf-pdp-favorite-thumb{display:block}
@media(prefers-color-scheme:dark){.ecsf[data-mode=system] .ecsf-pdp-favorite-heart{display:none}.ecsf[data-mode=system] .ecsf-pdp-favorite-thumb{display:block}}
.ecsf.woocommerce div.product .ecsf-pdp-layout .summary .price{margin:var(--ecsf-pdp-gap-small) 0 0;line-height:1.4}
.ecsf .ecsf-pdp-layout .woocommerce-product-rating{margin:8px 0 0}.ecsf .ecsf-pdp-layout .ecsf-rating{margin:0}
.ecsf .ecsf-pdp-intro{margin:var(--ecsf-pdp-gap) 0;font-size:15px;line-height:1.5}.ecsf .ecsf-pdp-intro p{margin:0 0 8px}
.ecsf .ecsf-product-tagline{margin:var(--ecsf-pdp-gap) 0;font-size:15px;font-weight:400;letter-spacing:normal}
.ecsf .ecsf-option-field--color{border-top:1px solid transparent;padding-top:var(--ecsf-pdp-gap);margin-top:var(--ecsf-pdp-section)}
.ecsf .ecsf-option-field--color .ecsf-option-name{text-transform:capitalize}
.ecsf .ecsf-option-row-size{margin-top:var(--ecsf-pdp-gap);border-top:1px solid transparent!important;padding-top:6px!important}
.ecsf .ecsf-pdp-layout .ecsf-rating a.ecsf-rating-average{display:inline!important;text-decoration:none}
.ecsf-size-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;min-height:44px;margin-bottom:4px}
.ecsf .ecsf-size-guide{margin:0;font-size:12px;text-decoration:underline;border-radius:0}
.ecsf .ecsf-option-field--size .ecsf-options{display:flex;gap:10px}.ecsf .ecsf-option-field--size .ecsf-options button{flex:0 0 auto;min-width:54px;height:44px;padding:0 16px;border-radius:5px;line-height:42px;background:color-mix(in srgb,var(--ecsf-text) 7%,transparent)}
.ecsf .ecsf-option-field--size .ecsf-options button[aria-pressed=true]{background:transparent}
.ecsf .ecsf-pdp-layout table.variations{margin-bottom:var(--ecsf-pdp-gap)}
.ecsf.woocommerce div.product .ecsf-pdp-layout .summary :is(.single_add_to_cart_button,.ec-notify-me-button){min-height:52px;border-radius:4px}
.ecsf .ecsf-pdp-supporting{margin-top:var(--ecsf-pdp-section)}
.ecsf-pdp-badge{position:absolute;top:14px;left:14px;pointer-events:none;z-index:2}
.ecsf .ecsf-pdp-badge .ec-loop-availability-badge{display:inline-flex!important;position:static!important;max-width:100%;font-size:10px;letter-spacing:.08em;padding:6px 9px;border-radius:3px}
.ecsf-zoom-layer{display:block;position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.ecsf .ecsf-zoom-layer img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center center;max-width:none;will-change:transform}
.ecsf .ecsf-zoom-layer img[data-fit=contain]{object-fit:contain}
.ecsf .ecsf-product-media-single .ecsf-media-slide{position:relative}
.ecsf .ecsf-product-media-single .ecsf-media-frame.ecsf-zoom-active{touch-action:none;cursor:zoom-out}
.ecsf-pdp-viewer{box-sizing:border-box;max-width:95vw;max-height:95svh;padding:8px;border:1px solid var(--ecsf-line);background:var(--ecsf-bg);color:var(--ecsf-text);overflow:hidden}
.ecsf-pdp-viewer[open],.ecsf-pdp-viewer[open]::backdrop{animation:ecsf-viewer-in 160ms ease-out both}
.ecsf-pdp-viewer[open].is-closing,.ecsf-pdp-viewer[open].is-closing::backdrop{animation-name:ecsf-viewer-out;pointer-events:none}
.ecsf-pdp-viewer::backdrop{background:rgb(0 0 0/.65)}.ecsf-pdp-viewer>button{position:absolute;right:12px;top:12px;z-index:5;width:44px;height:44px;border:1px solid var(--ecsf-line);border-radius:50%;background:var(--ecsf-bg);color:var(--ecsf-text);font-size:26px;cursor:pointer}
.ecsf-pdp-viewer-stage{position:relative;width:min(80vw,calc((90svh - 18px) * var(--ecsf-viewer-ratio,.8)));aspect-ratio:var(--ecsf-viewer-ratio,.8);overflow:hidden;touch-action:none}
.ecsf .ecsf-pdp-viewer-stage img{display:block;margin:0;width:100%;height:100%;object-fit:contain}
body:has(.ecsf-pdp-viewer[open]){overflow:hidden}
@keyframes ecsf-viewer-in{from{opacity:0}to{opacity:1}}
@keyframes ecsf-viewer-out{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.ecsf-pdp-viewer[open],.ecsf-pdp-viewer[open]::backdrop{animation:none}}

@media(max-width:899px){
 .ecsf.woocommerce div.product .ecsf-pdp-layout>.summary{padding:20px 24px 28px}
 .ecsf .ecsf-pdp-layout .product_title{font-size:22px;line-height:1.25}
 .ecsf .ecsf-product-media-single{padding-bottom:32px;margin-bottom:0}
 .ecsf .ecsf-pdp-counter{bottom:8px;font-size:12px}
 .ecsf .ecsf-product-media-single .ecsf-media-controls{min-height:0;padding:0}
 .ecsf .ecsf-product-media-single .ecsf-media-controls>button{position:absolute;width:1px;height:1px;min-width:0;min-height:0;padding:0;overflow:hidden;clip-path:inset(50%)}
 .ecsf .ecsf-product-media-single .ecsf-media-controls>button:focus-visible{width:44px;height:44px;clip-path:none;bottom:0;background:var(--ecsf-bg)}
 .ecsf .ecsf-product-media-single [data-media-next]:focus-visible{right:0}
 .ecsf .ecsf-product-media-single[data-media-count="1"]{padding-bottom:0}
 .ecsf .ecsf-product-media-single[data-media-count="1"] :is(.ecsf-pdp-counter,.ecsf-pdp-progress){display:none}
 .ecsf-pdp-badge{top:calc(var(--ecsf-header-height-mobile,72px) + 12px);left:18px}
}
/* Narrow compatibility boundaries for retained merchant snippets and Core guidance. */
.ecsf.ecsf-product-page .summary .woocommerce-product-rating{display:block!important;float:none!important;position:static;clear:both;margin:8px 0 0}
.ecsf.ecsf-product-page .summary .ecsf-product-tagline{display:block;margin:14px 0;font-weight:400;line-height:1.5}
.ecsf.ecsf-product-page .summary [data-ecsf-guide-suppressed]{display:none!important}
.ecsf.ecsf-product-page .summary :is(.single_add_to_cart_button,.ec-notify-me-button,.ec-select-options-button,.ecsf-select-options-button){background:var(--ecsf-pdp-action-bg,var(--ecsf-text))!important;color:var(--ecsf-pdp-action-text,var(--ecsf-bg))!important;-webkit-text-fill-color:currentColor!important;border:1px solid var(--ecsf-text);border-radius:4px;min-height:52px;width:100%;font:var(--ecsf-weight-controls,500) 15px/1.5 var(--ecsf-font-controls,var(--ecsf-font-body));padding:14px}
/* One palette for the guidance and confirmed-purchase buttons in dark mode. */
.ecsf.ecsf-product-page[data-mode=dark]{--ecsf-pdp-action-bg:#000;--ecsf-pdp-action-text:#fff}
@media(prefers-color-scheme:dark){.ecsf.ecsf-product-page[data-mode=system]{--ecsf-pdp-action-bg:#000;--ecsf-pdp-action-text:#fff}}
/* CusRev's fixed pale panels should inherit the surrounding editorial surface. */
.ecsf.ecsf-product-page :is(.ecsf-product-description,.ecsf-product-reviews) :is(.cr-summaryBox-wrap,.cr-count-row){background:transparent!important}
/* CusRev controls follow the product's appearance instead of its fixed white/gray palette. */
.ecsf.ecsf-product-page :is(#reviews,.cr-all-reviews-shortcode) .cr-ajax-search input.cr-input-text{background:var(--ecsf-bg);color:var(--ecsf-text);border-color:var(--ecsf-line);box-shadow:none}
.ecsf.ecsf-product-page :is(#reviews,.cr-all-reviews-shortcode) .cr-ajax-search input.cr-input-text::placeholder{color:var(--ecsf-muted);opacity:1}
.ecsf.ecsf-product-page :is(#reviews,.cr-all-reviews-shortcode) .cr-button-search{background:var(--ecsf-surface);color:var(--ecsf-text);border-color:var(--ecsf-line);box-shadow:none}
.ecsf.ecsf-product-page :is(#reviews,.cr-all-reviews-shortcode) .cr-button-search:hover{background:var(--ecsf-bg);border-color:var(--ecsf-muted)}
.ecsf.ecsf-product-page :is(#reviews,.cr-all-reviews-shortcode) .cr-ajax-search :is(.cr-ajax-search-icon,.cr-clear-input svg){fill:var(--ecsf-muted)}
.ecsf.ecsf-product-page :is(#reviews,.cr-all-reviews-shortcode) :is(.cr-count-row,.cr-count-row a,.cr-ajax-reviews-sort){color:var(--ecsf-text)}
.ecsf.ecsf-product-page :is(#reviews,.cr-all-reviews-shortcode) .cr-ajax-reviews-sort option{background:var(--ecsf-bg);color:var(--ecsf-text)}
.ecsf.ecsf-product-page :is(#reviews,.cr-all-reviews-shortcode) :is(.cr-input-text,.cr-button-search,.cr-ajax-reviews-sort):focus-visible{outline:2px solid var(--ecsf-focus);outline-offset:2px;box-shadow:none}
.ecsf.ecsf-product-page .ecsf-option-row-size.ec-select-options-highlight{outline:none!important;box-shadow:none!important}
/* Individual option waves provide guidance on every platform. Never draw Core's
   fallback box around the whole row; keep keyboard focus on actual controls. */
.ecsf.ecsf-product-page form.variations_form .ec-select-options-highlight:has([data-ecsf-options]){outline:none!important;box-shadow:none!important}
.ecsf.ecsf-product-page form[data-ecsf-ios-guidance] [data-ecsf-options]{-webkit-tap-highlight-color:transparent}
.ecsf.ecsf-product-page .ecsf-select-options-button[hidden]{display:none!important}
.ecsf.ecsf-product-page .ecsf-guidance-incomplete{display:none!important}
.ecsf.ecsf-product-page :is(.woocommerce-notices-wrapper,.woocommerce-error,.woocommerce-message,.woocommerce-info){display:block!important;visibility:visible!important;height:auto!important}


.ecsf-product-shipping{font-size:13px;line-height:1.5;color:var(--ecsf-muted);margin:12px 0 0;overflow-wrap:anywhere}

/* Core supplies the optional message; the guide follows the size buttons. */
.ecsf .ecsf-size-message{margin:0 0 12px;color:var(--ecsf-muted);font-size:13px;line-height:1.5}
/* Halve the visible gap below sizes while retaining a 44px guide tap target. */
.ecsf .ecsf-option-field--size>.ecsf-size-guide{display:flex;box-sizing:border-box;width:fit-content;min-height:44px;margin:3px 0 0;padding-bottom:15px}
.ecsf .ecsf-size-guide[hidden]{display:none}

/* Keep failed color photos distinct from the previous color and offer a retry. */
.ecsf .ecsf-product-media-single.ecsf-media-load-error .ecsf-media-track{display:none}
.ecsf-media-load-error-panel{min-height:280px;aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:var(--ecsf-surface);color:var(--ecsf-text);text-align:center}
.ecsf-media-load-error-panel button{padding:12px 20px;border:1px solid currentColor;background:none;color:inherit;cursor:pointer}
.ecsf-media-load-error .ecsf-pdp-progress,.ecsf-media-load-error .ecsf-pdp-counter{display:none}

/* Optional compact mobile caption row: model information left, photo count right. */
@media(max-width:899px){
 .ecsf .ecsf-product-media-single[data-gallery-progress="0"]{display:grid;grid-template-columns:minmax(0,1fr) auto;padding-bottom:0}
 .ecsf .ecsf-product-media-single[data-gallery-progress="0"]>.ecsf-media-frame{grid-column:1/-1;min-width:0}
 .ecsf .ecsf-product-media-single[data-gallery-progress="0"]>.ecsf-media-model-info{grid-column:1;grid-row:2;min-width:0;height:auto;padding:8px 12px 0 24px;overflow:visible}
 .ecsf .ecsf-product-media-single[data-gallery-progress="0"]>.ecsf-pdp-counter{grid-column:2;grid-row:2;position:static;align-self:start;transform:none;padding:8px 24px 0 0;line-height:17.5px;white-space:nowrap}
 .ecsf .ecsf-product-media-single[data-gallery-progress="0"]>.ecsf-pdp-progress{display:none}
}
