/* All rules require progressive-enhancement markers. Deactivation restores native UI. */
.icake-flow-product .icake-flow-extra { position:relative; margin:0 0 8px!important; padding:0!important; border:1px solid #ded3c8; border-radius:10px; background:#fff; overflow:visible; }
.icake-flow-product .icake-flow-extra-toggle { display:flex!important; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:58px; margin:0!important; padding:12px 14px!important; border:0!important; background:transparent!important; color:#332a25!important; text-transform:none; letter-spacing:0; line-height:1.35; text-align:left; box-shadow:none; }
.icake-flow-extra-copy { display:flex; flex-direction:column; gap:3px; min-width:0; }
.icake-flow-extra-copy strong { font-size:14px; font-weight:650; }
.icake-flow-extra-meta { color:#675345; font-size:12px; white-space:normal; font-weight:400; }
.icake-flow-extra-icon { font-size:22px; color:#88692f; flex:none; }
.icake-flow-product .icake-flow-extra-selected { border-color:#b48a3d; background:#fffaf0; }
.icake-flow-product .cpf-section:has(.icake-flow-extra) { padding:0!important; border:0!important; box-shadow:none!important; background:transparent!important; margin-bottom:2px!important; }
.icake-flow-product .icake-flow-extra-open > .icake-flow-extra-body { padding:0 14px 12px; }
.icake-flow-product .icake-flow-extra-body .tm-epo-element-label { display:none; }
.icake-flow-product .icake-flow-extra-body input,.icake-flow-product .icake-flow-extra-body select { margin-bottom:0; }
/* Keep native EPO controls layout-visible for its price engine, never disable or clone. */
.icake-flow-product .icake-flow-extra:not(.icake-flow-extra-open) > .icake-flow-extra-body,
.icake-flow-product .icake-flow-native-size,
.icake-flow-checkout .icake-flow-address:not(.icake-flow-address-editing) > .icake-flow-address-editor {
 position:absolute!important; width:calc(100% - 28px)!important; height:1px!important; min-height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:normal; margin:0!important; padding:0!important; pointer-events:none;
}
.icake-flow-product.icake-flow-all-extras .icake-qs-extras-toggle { display:none!important; }
.icake-flow-sizes { display:grid; grid-template-columns:repeat(auto-fit,minmax(105px,1fr)); gap:8px; width:100%; }
.icake-flow-product .icake-flow-size { margin:0!important; padding:12px 8px; min-height:68px; display:flex; flex-direction:column; justify-content:center; border:1px solid #d8cbbd!important; border-radius:9px; background:#fff!important; color:#30251e!important; text-transform:none; line-height:1.4; letter-spacing:0; white-space:normal; }
.icake-flow-product .icake-flow-size[aria-pressed="true"] { border:2px solid #8c642b!important; background:#fff5df!important; }
.icake-flow-size strong { font-size:14px; }.icake-flow-size small { font-size:12px; font-weight:400; }
.icake-flow-size:disabled { opacity:.4; text-decoration:line-through; }
.icake-flow-size-hint { display:block; margin:7px 0 12px; font-size:11px; color:#6c625b; }
.icake-flow-product .variations td.value { position:relative; }
.icake-flow-product .icake-flow-subtotal { clear:both; width:100%; padding:14px 0; border-top:1px solid #e8ded2; margin:12px 0; line-height:1.4; }
.icake-flow-subtotal > span { font-size:13px; }.icake-flow-subtotal > strong { display:block; font-size:22px; color:#342720; }
.icake-flow-subtotal > small { display:block; font-size:11px; color:#675e57; }
.icake-flow-selected-extras { font-size:12px; color:#57473b; margin:5px 0 8px; overflow-wrap:anywhere; }
.icake-flow-product .single_add_to_cart_button:not(.icake-qs-direct),body:has(.icake-flow-product) .icake-qs-dock-add { background:#fff!important; color:#5c482e!important; border:1px solid #b79b6f!important; box-shadow:none!important; }
.icake-flow-product .icake-qs-direct,body:has(.icake-flow-product) .icake-qs-dock-checkout { background:#8d6327!important; color:#fff!important; border:1px solid #8d6327!important; font-weight:700; }
.icake-flow-product button:focus-visible,.icake-flow-checkout button:focus-visible,.icake-flow-checkout summary:focus-visible { outline:3px solid #6655a8; outline-offset:3px; }
.icake-flow-checkout .icake-flow-address { position:relative; clear:both; width:100%; margin:15px 0 0; padding-top:16px; border-top:1px solid #e1d7cb; }
.icake-flow-address-heading { font-size:17px; margin:0 0 5px; color:#33291f; }
.icake-flow-address-hint,.icake-flow-note-hint { font-size:12px; color:#625345; line-height:1.55; margin:0 0 14px; }
.icake-flow-address-summary { padding:13px 14px; background:#faf5ec; border:1px solid #dfcdb2; border-radius:9px; }
.icake-flow-address-summary p { font-size:14px; color:#382d22; margin:0 0 7px; overflow-wrap:anywhere; }
.icake-flow-checkout button.icake-flow-link { border:0; background:transparent; box-shadow:none; padding:4px 0; margin:0 0 8px; text-transform:none; letter-spacing:0; min-height:30px; color:#76501d; font-size:13px; text-decoration:underline; line-height:1.4; }
.icake-flow-address-search-help { display:block; font-size:11px; line-height:1.5; color:#655b52; margin:7px 0; }
.icake-flow-checkout .icake-flow-address-done { clear:both; display:block; margin:6px 0 14px; border:1px solid #ab8b5c; border-radius:6px; color:#593e1c; background:#fff8eb; text-transform:none; letter-spacing:0; }
.icake-flow-checkout .icake-flow-map { margin:10px 0; clear:both; }
.icake-flow-map summary,.icake-flow-notes summary { cursor:pointer; font-size:13px; color:#5a452e; min-height:40px; padding:9px 2px; }
.icake-flow-map[hidden] { display:none!important; }
.icake-flow-map [id^="gac_autocomplete_"] { max-width:100%; }
.icake-flow-notes { padding:0 12px; background:#faf7f2; border:1px solid #e3dbd0; border-radius:8px; }
.icake-flow-notes .icake-flow-note-hint { margin-top:6px; }
.icake-flow-checkout .icake-flow-legacy-notes-heading,.icake-flow-checkout .icake-flow-empty-section { display:none!important; }
.icake-flow-field-error { display:block; color:#a32020; font-size:12px; line-height:1.4; margin-top:5px; }
body:has(.icake-flow-checkout) .woocommerce-form-coupon-toggle { font-size:12px; margin-bottom:12px; }
/* Respect WooCommerce's own collapse state despite legacy theme display:block!important. */
body:has(.icake-flow-checkout) form.checkout_coupon[style*="display:none"],
body:has(.icake-flow-checkout) form.checkout_coupon[style*="display: none"] { display:none!important; }
html.icake-checkout-ready .icake-flow-checkout #wc-stripe-express-checkout-element { border:1px solid #c6a570; border-radius:10px; padding:12px; background:#fffaf0; }
.icake-flow-checkout #icake-checkout-gate { border-radius:9px; font-size:13px; }
@media(max-width:849px) {
 .icake-ui-purchase-panel:has(> .icake-flow-product) { padding:12px 0!important; border:0!important; box-shadow:none!important; background:transparent!important; }
 .icake-flow-product .variations,.icake-flow-product .variations tbody,.icake-flow-product .variations tr,.icake-flow-product .variations th,.icake-flow-product .variations td { display:block!important; width:100%!important; }
 .icake-flow-product .variations th,.icake-flow-product .variations td { padding:3px 0!important; }
 .icake-flow-product .variations tr { margin-bottom:10px; }
 .icake-flow-product .icake-flow-sizes { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .icake-flow-product .icake-flow-size { padding:9px 5px!important; }
 .icake-flow-product .icake-flow-size strong { font-size:12px; }.icake-flow-product .icake-flow-size small { font-size:11px; }
 .icake-flow-product .icake-flow-size { min-height:62px; }.icake-flow-extra-toggle { min-height:55px; }
 .icake-flow-product .icake-flow-subtotal { margin:8px 0; padding:10px 0; }
 .icake-flow-checkout .woocommerce-billing-fields { padding:16px!important; }
 .icake-flow-address-heading { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .icake-flow-product *,.icake-flow-checkout * { scroll-behavior:auto!important; } }
