/* Zush modern product UI (scoped to .zpo-modern on <body>). */
.zpo-modern{--zpo-ink:#111;--zpo-muted:#6b6b6b;--zpo-line:#e4e4e4;--zpo-soft:#f6f6f6;--zpo-radius:10px;--zpo-ok-bg:#e8f5ec;--zpo-ok:#1f7a3d}

/* ---------- Variation buttons ---------- */
.zpo-modern table.variations select.zpo-native{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;overflow:hidden}
.zpo-modern table.variations th.label label{font-weight:600;font-size:14px;color:var(--zpo-ink)}
.zpo-modern table.variations label:after{content:none!important;margin:0!important}
.zpo-modern table.variations .zpo-picked{font-weight:400;color:var(--zpo-muted);margin-left:0}
.zpo-modern .zpo-swatches{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 2px}
.zpo-modern .zpo-swatch{min-width:48px;height:42px;padding:0 14px;border:1px solid var(--zpo-line);border-radius:var(--zpo-radius);background:#fff;color:var(--zpo-ink);font-size:14px;font-weight:500;line-height:40px;cursor:pointer;transition:border-color .15s,background .15s,color .15s;text-transform:none}
.zpo-modern .zpo-swatch:hover{border-color:var(--zpo-ink)}
.zpo-modern .zpo-swatch.is-active{background:var(--zpo-ink);border-color:var(--zpo-ink);color:#fff}
.zpo-modern .zpo-swatch.is-unavailable{color:#b5b5b5;background:var(--zpo-soft);text-decoration:line-through;cursor:not-allowed;border-color:var(--zpo-line)}
.zpo-modern .zpo-swatch:focus-visible{outline:2px solid var(--zpo-ink);outline-offset:2px}
.zpo-modern table.variations .reset_variations{font-size:13px;color:var(--zpo-muted)}

/* ---------- Add-on form ---------- */
.zpo-modern #yith-wapo-container{margin-top:8px}
.zpo-modern .yith-wapo-addon{background:transparent!important}
.zpo-modern .yith-wapo-addon .wapo-addon-title{font-size:14px;font-weight:600;color:var(--zpo-ink);margin:0 0 6px;text-transform:none;letter-spacing:0}
.zpo-modern .yith-wapo-addon input[type=text],.zpo-modern .yith-wapo-addon input[type=number],.zpo-modern .yith-wapo-addon select,.zpo-modern .yith-wapo-addon textarea{width:100%!important;min-width:0!important;height:44px;border:1px solid var(--zpo-line)!important;border-radius:var(--zpo-radius)!important;padding:0 12px!important;background:#fff!important;font-size:15px;box-shadow:none!important;transition:border-color .15s}
.zpo-modern .yith-wapo-addon input:focus,.zpo-modern .yith-wapo-addon select:focus{border-color:var(--zpo-ink)!important;outline:none}

/* Toggle card */
.zpo-modern .zpo-card{border:1px solid var(--zpo-line);border-radius:14px;padding:14px;margin:14px 0;background:#fff}
.zpo-modern .zpo-card-head{display:flex;align-items:center;gap:12px;cursor:pointer}
.zpo-modern .zpo-card-text{flex:1;min-width:0}
.zpo-modern .zpo-card-title{display:block;font-weight:600;font-size:15px;color:var(--zpo-ink);line-height:1.3}
.zpo-modern .zpo-card-sub{display:block;font-size:13px;color:var(--zpo-muted)}
.zpo-modern .zpo-badge{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--zpo-ok-bg);color:var(--zpo-ok)}
.zpo-modern .zpo-switch{position:relative;width:44px;height:26px;flex:none}
.zpo-modern .zpo-switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:2;width:100%;height:100%}
.zpo-modern .zpo-switch span{position:absolute;inset:0;border-radius:13px;background:#cfcfcf;transition:background .2s}
.zpo-modern .zpo-switch span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.zpo-modern .zpo-switch input:checked+span{background:var(--zpo-ink)}
.zpo-modern .zpo-switch input:checked+span:after{transform:translateX(18px)}
.zpo-modern .zpo-switch input:focus-visible+span{outline:2px solid var(--zpo-ink);outline-offset:2px}
.zpo-modern .zpo-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;margin:0!important;padding:0!important}
.zpo-modern .zpo-card-body{margin-top:14px;display:none}
.zpo-modern .zpo-card.is-on .zpo-card-body{display:block}

/* Name + number grid */
.zpo-modern .zpo-fields{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px;align-items:start}
.zpo-modern .zpo-fields .yith-wapo-addon{margin:0!important;padding:0!important}
.zpo-modern .zpo-fields .wapo-addon-description,.zpo-modern .zpo-fields .tooltip{display:none!important}
.zpo-modern .zpo-fields .yith-wapo-option{width:100%!important;max-width:100%!important;margin:0!important;float:none!important}
.zpo-modern .zpo-fields .options{width:100%}
.zpo-modern .zpo-fields .clear{display:none}
.zpo-modern .zpo-fields .wapo-addon-title{font-size:13px;font-weight:500;color:var(--zpo-muted);margin-bottom:6px}
.zpo-modern .zpo-fields .zpo-count{font-weight:400;color:#a0a0a0;margin-left:4px}
.zpo-modern .zpo-name-input{text-transform:uppercase;letter-spacing:.5px}
.zpo-modern .zpo-num-input{text-align:center;-moz-appearance:textfield}
.zpo-modern .zpo-num-input::-webkit-outer-spin-button,.zpo-modern .zpo-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.zpo-modern .zpo-helper{font-size:12px;color:#8a8a8a;margin:8px 0 0}

/* Jersey preview */
.zpo-modern .zpo-preview{display:flex;justify-content:center;margin:0 0 12px;padding:10px 0;background:var(--zpo-soft);border-radius:12px}
.zpo-modern .zpo-preview svg{width:170px;height:auto;display:block}

/* Compact total */
.zpo-modern #wapo-total-price-table{margin:14px 0 4px}
.zpo-modern #wapo-total-price-table table{width:100%;border:0;margin:0}
.zpo-modern #wapo-total-price-table tr{display:none}
.zpo-modern #wapo-total-price-table tr.zpo-show{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--zpo-line);padding-top:12px}
.zpo-modern #wapo-total-price-table th{font-size:14px;font-weight:500;color:var(--zpo-muted);padding:0;border:0;background:none}
.zpo-modern #wapo-total-price-table td{font-size:20px;font-weight:700;color:var(--zpo-ink);padding:0;border:0;background:none}

.zpo-modern .zpo-preview-flag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3px;padding:2px 8px;border-radius:999px;background:#fff4d6;color:#7a5600;margin-bottom:8px}

/* ---------- Add to cart / Buy now (product page) ---------- */
.zpo-modern form.cart .single_add_to_cart_button,.zpo-modern form.cart .wd-buy-now-btn{height:48px;min-height:48px;padding:0 28px!important;font-size:14px;font-weight:600;letter-spacing:.3px;text-transform:none;transition:background .15s,color .15s,border-color .15s}
.zpo-modern form.cart .single_add_to_cart_button{background:#fff!important;color:#0f0f0f!important;border:1.5px solid #0f0f0f!important}
.zpo-modern form.cart .single_add_to_cart_button:hover{background:#f2f2f2!important}
.zpo-modern form.cart .wd-buy-now-btn{margin-left:8px}
@media (max-width:480px){.zpo-modern form.cart .single_add_to_cart_button,.zpo-modern form.cart .wd-buy-now-btn{flex:1 1 0;padding:0 12px!important}}
/* Name + number: identical height and baseline (WoodMart styles number fields as "quantity"). */
.zpo-modern .zpo-fields{align-items:end}
.zpo-modern .zpo-fields .wapo-addon-title{line-height:20px;min-height:20px;margin:0 0 6px!important;padding:0!important}
.zpo-modern .zpo-fields .yith-wapo-option .label{display:none!important}
.zpo-modern .zpo-fields .yith-wapo-option.quantity{display:block!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:none!important}
.zpo-modern .zpo-fields .yith-wapo-option input{display:block!important;height:44px!important;min-height:44px!important;line-height:44px!important;margin:0!important;vertical-align:top!important;box-sizing:border-box!important}
.zpo-modern .zpo-fields .yith-wapo-option input:focus{border-color:#17181C!important}
/* ---------- Summary: total + cashback card ---------- */
.zpo-modern #wapo-total-price-table,.zpo-modern #wapo-total-price-table *{font-family:inherit!important}
.zpo-modern #wapo-total-price-table tr.zpo-show{border-top:1px solid var(--zpo-line);padding-top:14px;align-items:center}
.zpo-modern #wapo-total-price-table th{font-size:15px!important;font-weight:500!important;color:#17181C!important;text-transform:none!important;letter-spacing:0!important}
.zpo-modern #wapo-total-price-table td,.zpo-modern #wapo-total-price-table td .amount{font-size:20px!important;font-weight:700!important;color:#0f0f0f!important}
.zpo-modern .zpo-summary{margin:10px 0 16px}
.zpo-modern .zpo-summary .yith-par-message,.zpo-modern .zpo-summary .yith-par-message-variation{display:flex!important;align-items:center;gap:12px;margin:0!important;padding:12px!important;border-radius:12px!important;background:#DFF7E8!important;color:#0F6E56!important;border:0!important;font-size:14px;line-height:1.35}
.zpo-modern .zpo-summary .yith-par-message-variation{display:none!important}
.zpo-modern .zpo-summary .yith-par-message.hide{display:flex!important}
.zpo-modern .zpo-summary .yith-par-message.zpo-off{display:none!important}
.zpo-modern .zpo-cb-icon{width:38px;height:38px;flex:none;border-radius:30%;background:#fff;display:grid;place-items:center;color:#1f7a3d}
.zpo-modern .zpo-cb-icon svg{width:22px;height:22px;display:block}
.zpo-modern .zpo-cb-title{display:block;font-weight:600;color:#0F6E56}
.zpo-modern .zpo-cb-title .amount,.zpo-modern .zpo-cb-title .product_point{color:#0F6E56;font-weight:700}
.zpo-modern .zpo-cb-sub{display:block;font-size:12px;color:#0F6E56;opacity:.85}
.zpo-modern .zpo-cb-sub a{color:#0F6E56;text-decoration:underline}
/* Full-width button row: Add to cart + Buy now share the row 50/50. */
.zpo-modern form.cart .woocommerce-variation-add-to-cart,.zpo-modern form.cart:not(.variations_form):not(.grouped_form){display:flex!important;flex-wrap:wrap;align-items:stretch;gap:10px;width:100%}
.zpo-modern form.cart .woocommerce-variation-add-to-cart>.single_add_to_cart_button,.zpo-modern form.cart .woocommerce-variation-add-to-cart>.wd-buy-now-btn,.zpo-modern form.cart:not(.variations_form)>.single_add_to_cart_button,.zpo-modern form.cart:not(.variations_form)>.wd-buy-now-btn{flex:1 1 0!important;width:auto!important;min-width:0;margin:0!important;padding:0 12px!important;justify-content:center;text-align:center}
.zpo-modern form.cart .zpo-summary{flex-basis:100%}
/* Button icons: bag on Add to bag, bolt on Buy now (inherit the text colour). */
.zpo-modern form.cart .single_add_to_cart_button,.zpo-modern form.cart .wd-buy-now-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px}
.zpo-modern form.cart .single_add_to_cart_button:before,.zpo-modern form.cart .wd-buy-now-btn:before{content:"";flex:none;width:18px;height:18px;background-color:currentColor;-webkit-mask:var(--zpo-ico) center/contain no-repeat;mask:var(--zpo-ico) center/contain no-repeat;position:static!important;border:0!important}
.zpo-modern form.cart .single_add_to_cart_button{--zpo-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 7.5h11l1 12.5h-13z'/%3E%3Cpath d='M9 9.5V7a3 3 0 0 1 6 0v2.5'/%3E%3C/svg%3E")}
.zpo-modern form.cart .wd-buy-now-btn{--zpo-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 3 5 13.5h6L10 21l8-10.5h-6z'/%3E%3C/svg%3E")}
/* ---------- Add to bag loading / added states ---------- */
@keyframes zpo-spin{to{transform:rotate(360deg)}}
@keyframes zpo-sweep{0%{background-position:-160% 0}100%{background-position:260% 0}}
.zpo-modern form.cart .single_add_to_cart_button:focus,.zpo-modern form.cart .wd-buy-now-btn:focus{outline:none!important}
.zpo-modern form.cart .single_add_to_cart_button:focus-visible,.zpo-modern form.cart .wd-buy-now-btn:focus-visible{outline:2px solid #0f0f0f!important;outline-offset:2px}
.zpo-modern form.cart .single_add_to_cart_button.loading:after,.zpo-modern form.cart .wd-buy-now-btn.zpo-busy:after{display:none!important}
.zpo-modern form.cart .single_add_to_cart_button.loading,.zpo-modern form.cart .wd-buy-now-btn.zpo-busy{pointer-events:none;color:#0f0f0f!important;background-color:#f2f2f2!important;border-color:#d6d6d6!important;background-image:linear-gradient(100deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.85) 50%,rgba(255,255,255,0) 80%)!important;background-size:60% 100%!important;background-repeat:no-repeat!important;animation:zpo-sweep 1.1s ease-in-out infinite}
.zpo-modern form.cart .single_add_to_cart_button.loading:before,.zpo-modern form.cart .wd-buy-now-btn.zpo-busy:before{--zpo-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 3a9 9 0 1 0 9 9'/%3E%3C/svg%3E");animation:zpo-spin .7s linear infinite!important;transform-origin:center}
.zpo-modern form.cart .single_add_to_cart_button.zpo-added{background:#DFF7E8!important;border-color:#1f7a3d!important;color:#0F6E56!important;animation:none}
.zpo-modern form.cart .single_add_to_cart_button.zpo-added:before{--zpo-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion:reduce){.zpo-modern form.cart .single_add_to_cart_button.loading,.zpo-modern form.cart .wd-buy-now-btn.zpo-busy{animation:none}}
/* Icons only while animating: text-only at rest, spinner while busy, tick when added. */
/* Icon hidden at rest, slides in smoothly on hover; always shown while busy/added. */
.zpo-modern form.cart .single_add_to_cart_button,.zpo-modern form.cart .wd-buy-now-btn{gap:0!important}
.zpo-modern form.cart .single_add_to_cart_button:before,.zpo-modern form.cart .wd-buy-now-btn:before{width:0;margin-right:0;opacity:0;transform:translateX(-6px);transition:width .25s ease,margin-right .25s ease,opacity .2s ease,transform .25s ease}
.zpo-modern form.cart .single_add_to_cart_button:hover:before,.zpo-modern form.cart .wd-buy-now-btn:hover:before,.zpo-modern form.cart .single_add_to_cart_button.loading:before,.zpo-modern form.cart .single_add_to_cart_button.zpo-added:before,.zpo-modern form.cart .wd-buy-now-btn.zpo-busy:before{width:18px;margin-right:8px;opacity:1;transform:translateX(0)}
.zpo-modern form.cart .single_add_to_cart_button.loading:before,.zpo-modern form.cart .wd-buy-now-btn.zpo-busy:before{transition:none;animation:zpo-spin .7s linear infinite!important}
@media (hover:none){.zpo-modern form.cart .single_add_to_cart_button:hover:not(.loading):not(.zpo-added):before,.zpo-modern form.cart .wd-buy-now-btn:hover:not(.zpo-busy):before{width:0;margin-right:0;opacity:0}}
/* Placeholders: clearly dimmed, and gone as soon as the field is focused. */
.zpo-modern .zpo-fields input::placeholder{color:#b8b8b8!important;opacity:1!important;font-weight:400;letter-spacing:.5px;transition:color .15s}
.zpo-modern .zpo-fields input::-webkit-input-placeholder{color:#b8b8b8!important;opacity:1!important}
.zpo-modern .zpo-fields input:focus::placeholder{color:transparent!important}
.zpo-modern .zpo-fields input:focus::-webkit-input-placeholder{color:transparent!important}
/* ---------- Missing size / option nudge (replaces the browser alert) ---------- */
@keyframes zpo-wobble{0%,100%{transform:translateX(0)}15%{transform:translateX(-7px)}30%{transform:translateX(6px)}45%{transform:translateX(-5px)}60%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
.zpo-modern .zpo-swatches.zpo-wobble{animation:zpo-wobble .45s ease}
.zpo-modern .zpo-swatches.zpo-need .zpo-swatch:not(.is-unavailable){border-color:#d93025}
.zpo-modern .zpo-need-msg{display:flex;align-items:center;gap:6px;color:#d93025;font-size:13px;font-weight:500;margin:6px 0 2px}
.zpo-modern .zpo-need-msg:before{content:"";width:15px;height:15px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01'/%3E%3C/svg%3E") center/contain no-repeat}
@media (prefers-reduced-motion:reduce){.zpo-modern .zpo-swatches.zpo-wobble{animation:none}}
