/* SHOP checkout UI v1.4 — cart, shipping, payment and confirmation */
body.shop-has-checkout-ui{background:#000}
body.shop-has-checkout-ui .shop-content-page{padding:0}
body.shop-has-checkout-ui .shop-content-page>.shop-wrap{max-width:none;width:100%;padding:0}
body.shop-has-checkout-ui .shop-page-entry{margin:0}
body.shop-has-checkout-ui .shop-entry-content{margin:0}
body.shop-has-checkout-ui .shop-divider-banner{display:none}

.shop-checkout-ui{
  --co-ink:#10141F;--co-navy:#151B33;--co-blue:#2436C9;--co-blue-deep:#1B2794;--co-blue-soft:#EEF0FF;
  --co-sand:#EFE8DA;--co-cream:#F8F4EC;--co-paper:#FBF8F2;--co-white:#fff;--co-soft:#625F57;
  --co-line:rgba(16,20,31,.12);--co-line-strong:rgba(16,20,31,.24);--co-success:#237A57;--co-success-soft:#E8F4EE;
  --co-shadow:0 18px 50px rgba(16,20,31,.08);
  width:min(calc(100% - 64px),1240px);margin:0 auto;padding:46px 0 90px;color:var(--co-ink);font-family:'Manrope',sans-serif
}
.shop-checkout-ui *{box-sizing:border-box}
.shop-checkout-ui h1,.shop-checkout-ui h2,.shop-checkout-ui h3{font-family:'Fraunces',serif}
.shop-checkout-ui a{text-decoration:none}
.shop-checkout-ui button,.shop-checkout-ui input,.shop-checkout-ui select,.shop-checkout-ui textarea{font:inherit}

.shop-checkout-head{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;margin-bottom:34px}
.shop-checkout-head h1{font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.08;margin:0}
.shop-checkout-head p{margin:10px 0 0;color:var(--co-soft);font-size:14px;line-height:1.65;max-width:660px}
.shop-secure-note{display:flex;align-items:center;gap:10px;color:var(--co-soft);font-size:12px;border:1px solid var(--co-line);background:rgba(255,255,255,.55);padding:10px 14px;border-radius:999px;white-space:nowrap}
.shop-secure-note svg,.shop-secure-note>span{color:var(--co-success)}

.shop-progress{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin-bottom:44px}
.shop-progress::before{content:"";position:absolute;left:7%;right:7%;top:17px;height:1px;background:var(--co-line-strong);z-index:0}
.shop-progress-step{appearance:none;border:0;background:none;color:inherit;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:0;cursor:default}
a.shop-progress-step,button.shop-progress-step{cursor:pointer}
.shop-progress-step>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--co-paper);border:1px solid var(--co-line-strong);font:500 11px 'IBM Plex Mono',monospace;color:var(--co-soft)}
.shop-progress-step>small{font-size:12px;color:#817D73;letter-spacing:.02em}
.shop-progress-step.is-current>span{background:var(--co-ink);color:var(--co-cream);border-color:var(--co-ink)}
.shop-progress-step.is-current>small{color:var(--co-ink);font-weight:700}
.shop-progress-step.is-done>span{background:var(--co-success);border-color:var(--co-success);color:#fff}
.shop-progress-step.is-done>small{color:var(--co-success)}

.shop-checkout-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.72fr);gap:34px;align-items:start}
.shop-checkout-main-stack{display:flex;flex-direction:column;gap:18px;min-width:0}
.shop-checkout-panel{background:var(--co-white);border:1px solid var(--co-line);border-radius:4px;box-shadow:0 1px 0 rgba(16,20,31,.02)}
.shop-panel-pad{padding:30px}
.shop-panel-title-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.shop-panel-title-row h2{margin:0;font-size:25px;font-weight:400}
.shop-panel-title-row p{margin:7px 0 0;color:var(--co-soft);font-size:13px;line-height:1.6}
.shop-small-link{font-size:12px;text-decoration:underline!important;text-underline-offset:3px;color:var(--co-soft)}

/* cart */
.shop-cart-list{display:flex;flex-direction:column}
.shop-cart-item{display:grid;grid-template-columns:138px minmax(0,1fr) auto;gap:24px;padding:24px 0;border-top:1px solid var(--co-line);align-items:center}
.shop-cart-item:first-child{border-top:0;padding-top:0}
.shop-cart-media{aspect-ratio:1/1;border-radius:3px;background:linear-gradient(155deg,#D8CDB8,#C7B99C);padding:14px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.shop-cart-media img{width:100%;height:100%;object-fit:contain}
.shop-item-kicker{font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--co-blue);margin-bottom:7px}
.shop-cart-copy h3{font-size:20px;margin:0 0 7px;font-weight:400}
.shop-item-meta{font-size:12.5px;color:var(--co-soft);line-height:1.5}
.shop-item-meta dl{margin:4px 0 0}.shop-item-meta dt,.shop-item-meta dd{display:inline;margin:0}.shop-item-meta dd:after{content:" · ";}.shop-item-meta dd:last-child:after{display:none}
.shop-item-controls{display:flex;align-items:center;gap:16px;margin-top:17px;flex-wrap:wrap}
.shop-qty-control{display:inline-flex;align-items:center;border:1px solid var(--co-line-strong);border-radius:2px;background:var(--co-paper);height:38px}
.shop-qty-control>button{width:34px;height:36px;border:0;background:transparent;color:var(--co-ink);font-size:17px}
.shop-qty-control .quantity{margin:0!important;float:none!important}
.shop-qty-control .qty{width:42px!important;height:36px!important;min-height:0!important;border:0!important;background:transparent!important;text-align:center!important;padding:0!important;font:500 12px 'IBM Plex Mono',monospace!important;box-shadow:none!important;-moz-appearance:textfield}
.shop-qty-control .qty::-webkit-outer-spin-button,.shop-qty-control .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.shop-remove-link{color:#7C776D!important;font-size:12px;text-decoration:underline!important;text-underline-offset:3px}
.shop-item-price{text-align:right;align-self:start;padding-top:10px;white-space:nowrap}
.shop-item-price strong{display:block;font:500 15px 'IBM Plex Mono',monospace}.shop-item-price small{display:block;margin-top:4px;color:#989287;font:400 10px 'IBM Plex Mono',monospace}
.shop-cart-actions{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid var(--co-line);padding-top:20px;margin-top:6px;flex-wrap:wrap}
.shop-coupon-field{display:flex;min-width:min(100%,340px)}
.shop-coupon-field input{min-width:0;flex:1;border:1px solid var(--co-line-strong);background:#fff;padding:11px 12px;border-radius:2px 0 0 2px}
.shop-coupon-field button,.shop-cart-update{border:1px solid var(--co-ink)!important;background:var(--co-ink)!important;color:#fff!important;padding:11px 16px!important;border-radius:0 2px 2px 0!important;font-size:11px!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.shop-cart-update{border-radius:2px!important;background:#fff!important;color:var(--co-ink)!important;margin-left:auto!important}
.shop-inline-alert{display:flex;gap:13px;align-items:flex-start;border:1px solid #C7CEF6;background:#F1F3FF;color:#2D3B78;padding:16px 18px;border-radius:3px;font-size:12px;line-height:1.55;margin-top:24px}
.shop-inline-alert svg{flex:0 0 auto;margin-top:1px}

/* summary */
.shop-cart-summary-card,.shop-checkout-summary-card{position:sticky;top:112px;background:var(--co-ink);color:var(--co-cream);border-radius:4px;padding:28px;box-shadow:var(--co-shadow)}
.shop-cart-summary-card h2,.shop-checkout-summary-card h2{font-size:24px;font-weight:400;margin:0 0 22px}
.shop-summary-products{display:flex;flex-direction:column;gap:12px;padding-bottom:18px;border-bottom:1px solid rgba(248,244,236,.14);margin-bottom:18px}
.shop-summary-product{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:rgba(248,244,236,.75)}
.shop-summary-product strong{color:var(--co-cream);font-weight:600;text-align:right;white-space:nowrap}
.shop-summary-line{display:flex;justify-content:space-between;gap:20px;font-size:13px;color:rgba(248,244,236,.68);margin:0 0 13px}
.shop-summary-line strong{color:var(--co-cream);font-weight:600;text-align:right}.shop-summary-line strong .woocommerce-Price-amount{color:inherit}
.shop-summary-line.total{padding-top:18px;margin-top:18px;border-top:1px solid rgba(248,244,236,.18);font-size:16px;color:var(--co-cream);align-items:end}
.shop-summary-line.total strong{font:500 22px 'IBM Plex Mono',monospace}
.shop-summary-vat{margin-top:7px;color:rgba(248,244,236,.45);font-size:10.5px;line-height:1.45}
.shop-summary-button{width:100%;margin-top:24px;background:var(--co-cream);color:var(--co-ink)!important;padding:16px 20px;text-transform:uppercase;letter-spacing:.07em;font-size:12px;font-weight:700;border-radius:2px;transition:.2s ease;display:flex;align-items:center;justify-content:center;gap:10px}
.shop-summary-button:hover{background:#fff;transform:translateY(-1px)}
.shop-summary-help{margin-top:16px;display:flex;gap:9px;align-items:flex-start;color:rgba(248,244,236,.58);font-size:10.5px;line-height:1.55}

/* attention bands and service logos */
.shop-attention-band{background:linear-gradient(120deg,var(--co-blue-deep),var(--co-navy) 72%);color:var(--co-cream);border-radius:4px;padding:27px 30px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);gap:28px;align-items:start;overflow:hidden;position:relative}
.shop-attention-band:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(248,244,236,.08);border-radius:50%;right:-112px;top:-110px;pointer-events:none}
.shop-attention-kicker{font:500 9px 'IBM Plex Mono',monospace;letter-spacing:.15em;text-transform:uppercase;color:#AEB9FF;margin-bottom:7px}
.shop-attention-band h2{margin:0;font-size:22px;font-weight:400;line-height:1.2}.shop-attention-band p{margin:8px 0 0;color:rgba(248,244,236,.68);font-size:11.5px;line-height:1.6;max-width:600px}
.shop-service-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;z-index:1}.shop-service-label{display:block;font:500 9px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:rgba(248,244,236,.5);margin-bottom:8px}.shop-service-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.shop-service-logo{height:33px;min-width:58px;padding:0 10px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--co-ink);box-shadow:inset 0 0 0 1px rgba(16,20,31,.1);font-size:10px;font-weight:800;white-space:nowrap;user-select:none}.shop-service-logo.inpost{background:#ffdd00;color:#111}.shop-service-logo.dpd{color:#d71920}.shop-service-logo.dhl{background:#ffcc00;color:#d40511;font-style:italic}.shop-service-logo.visa{color:#1434CB;font-style:italic;font-size:12px}.shop-service-logo.mc{gap:0;padding:0 8px}.shop-service-logo.mc i{width:14px;height:14px;border-radius:50%;background:#EB001B;margin-right:-5px}.shop-service-logo.mc i:nth-child(2){background:#F79E1B;opacity:.92}.shop-service-logo.mc b{font-size:7px;margin-left:8px}.shop-service-logo.blik{font-size:12px}.shop-service-logo.blik span{color:#e60012;font-size:18px;line-height:0;margin-left:2px}.shop-service-logo.p24{color:#d71920;font-size:8px}.shop-attention-foot{grid-column:1/-1;border-top:1px solid rgba(248,244,236,.13);padding-top:14px;display:flex;gap:18px;flex-wrap:wrap;color:rgba(248,244,236,.58);font-size:9.5px}.shop-attention-foot span:before{content:"✓";color:#AEB9FF;margin-right:6px}
.shop-compact-attention{grid-template-columns:1fr auto;align-items:center}.shop-attention-shield{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(248,244,236,.12);border:1px solid rgba(248,244,236,.18);font-size:18px;color:#AEB9FF;position:relative;z-index:2}

/* checkout stages */
.shop-checkout-stage{display:none}.shop-checkout-stage.is-active{display:flex;flex-direction:column;gap:18px}
.shop-section-block{padding-top:30px;margin-top:30px;border-top:1px solid var(--co-line)}.shop-section-block.first{padding-top:0;margin-top:0;border-top:0}
.shop-section-kicker{font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--co-blue);margin-bottom:8px}.shop-section-block h2{font-size:23px;font-weight:400;margin:0 0 7px}.shop-section-block>p{font-size:12.5px;color:var(--co-soft);line-height:1.55;margin:0 0 20px}
.shop-wc-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.shop-wc-field-grid .form-row{width:auto!important;float:none!important;margin:0!important;padding:0!important}.shop-wc-field-grid .form-row-wide,.shop-wc-field-grid #shipping_country_field,.shop-wc-field-grid #shipping_address_1_field,.shop-wc-field-grid #shipping_address_2_field,.shop-wc-field-grid #billing_address_1_field,.shop-wc-field-grid #billing_address_2_field,.shop-wc-field-grid #order_comments_field{grid-column:1/-1}
.shop-checkout-ui .form-row label{display:block;font-size:12px;font-weight:700;color:#393A40;margin-bottom:7px;line-height:1.3}.shop-checkout-ui .form-row .required{color:#B14949}.shop-checkout-ui .woocommerce-input-wrapper{display:block;width:100%}.shop-checkout-ui .input-text,.shop-checkout-ui select,.shop-checkout-ui textarea,.shop-checkout-ui .select2-container .select2-selection--single{width:100%!important;min-height:46px;border:1px solid #CBC8C0!important;background:#fff!important;color:var(--co-ink)!important;border-radius:2px!important;padding:12px 14px!important;outline:none!important;box-shadow:none!important;font-size:14px!important}.shop-checkout-ui textarea.input-text{min-height:100px!important;resize:vertical}.shop-checkout-ui .input-text:focus,.shop-checkout-ui select:focus{border-color:var(--co-blue)!important;box-shadow:0 0 0 3px rgba(36,54,201,.09)!important}.shop-checkout-ui .select2-container .select2-selection--single{padding:0 14px!important;display:flex!important;align-items:center}.shop-checkout-ui .select2-selection__rendered{padding:0!important;color:var(--co-ink)!important}.shop-checkout-ui .select2-selection__arrow{height:44px!important;right:8px!important}

.shop-same-data-toggle{display:flex;align-items:center;gap:11px;padding:15px 16px;border:1px solid var(--co-line);background:#FAF8F3;border-radius:3px;cursor:pointer;margin-bottom:20px}.shop-same-data-toggle input{position:absolute;opacity:0;pointer-events:none}.shop-same-data-toggle>span{width:20px;height:20px;border-radius:3px;border:1px solid var(--co-line-strong);background:#fff;position:relative}.shop-same-data-toggle input:checked+span{background:var(--co-ink);border-color:var(--co-ink)}.shop-same-data-toggle input:checked+span:after{content:"✓";position:absolute;color:#fff;left:4px;top:0;font-size:13px}.shop-same-data-toggle strong{font-size:12px}
.shop-billing-fields.is-collapsed{display:none}

/* shipping */
.shop-shipping-packages{display:flex;flex-direction:column;gap:12px}.shop-shipping-package{display:flex;flex-direction:column;gap:10px}.shop-shipping-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--co-line-strong);background:#fff;border-radius:3px;padding:17px 18px;cursor:pointer;transition:.18s ease}.shop-shipping-card:hover{border-color:var(--co-blue)}.shop-shipping-card.is-selected{border-color:var(--co-blue);box-shadow:0 0 0 2px rgba(36,54,201,.08)}.shop-option-radio{width:18px;height:18px;border:1.5px solid #9A968D;border-radius:50%;display:grid;place-items:center;position:relative}.shop-option-radio input{position:absolute;opacity:0}.shop-option-radio span{width:8px;height:8px;border-radius:50%;background:transparent}.shop-shipping-card.is-selected .shop-option-radio{border-color:var(--co-blue)}.shop-shipping-card.is-selected .shop-option-radio span{background:var(--co-blue)}.shop-shipping-copy strong{display:block;font-size:13px}.shop-shipping-copy small{display:block;color:#817D73;font-size:10.5px;line-height:1.45;margin-top:4px}.shop-shipping-price{font:600 12px 'IBM Plex Mono',monospace;text-align:right}.shop-shipping-price .woocommerce-Price-amount{font:inherit}.shop-checkout-empty-note{border:1px dashed var(--co-line-strong);background:#FAF8F3;padding:18px;border-radius:3px;color:#6E6A61;font-size:12px;line-height:1.6}
/* plugin output placed after a shipping rate */
.shop-shipping-package .easypack-widget,.shop-shipping-package [class*="inpost"],.shop-shipping-package [id*="inpost"]{max-width:100%}

/* checkout navigation */
.shop-checkout-navigation{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:26px;margin-top:30px;border-top:1px solid var(--co-line)}.shop-primary-button,.shop-secondary-button{min-height:48px;border-radius:2px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.shop-primary-button{border:1px solid var(--co-ink);background:var(--co-ink);color:#fff}.shop-primary-button:hover{background:#000}.shop-secondary-button{border:1px solid var(--co-line-strong);background:#fff;color:var(--co-ink)}.shop-secondary-button:hover{border-color:var(--co-ink)}

/* payment */
.shop-payment-provider-strip{border:1px solid var(--co-line);background:#FAF8F3;border-radius:3px;padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}.shop-provider-lock{display:flex;align-items:center;gap:10px}.shop-provider-lock>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--co-success-soft);color:var(--co-success);font-weight:700}.shop-provider-lock strong{display:block;font-size:10.5px}.shop-provider-lock small{display:block;font-size:8.5px;color:#918C82;margin-top:2px}
.shop-payment-choice-note{border:1px solid #D9DEF9;background:linear-gradient(180deg,#F5F7FF 0%,#FBFCFF 100%);border-radius:3px;padding:16px 18px;margin:0 0 16px}.shop-payment-choice-note[data-payment-kind="blik"]{border-color:#d9d3f5;background:linear-gradient(180deg,#FBFAFF 0%,#FFFFFF 100%)}.shop-payment-choice-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.shop-payment-choice-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#10141F;color:#fff;font:700 12px/1 'IBM Plex Mono',monospace;flex:0 0 auto}.shop-payment-choice-kicker{display:block;font:500 9px 'IBM Plex Mono',monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--co-blue);margin-bottom:4px}.shop-payment-choice-head strong{display:block;font-size:14px;line-height:1.35}.shop-payment-choice-note p{margin:0;color:#5f5b54;font-size:12px;line-height:1.62}.shop-payment-note-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.shop-payment-note-points span{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(16,20,31,.12);background:#fff;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:700;color:var(--co-ink)}.shop-payment-note-points span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--co-blue)}
.shop-payment-host .woocommerce-checkout-payment{background:transparent!important;border:0!important}.shop-payment-host ul.wc_payment_methods{list-style:none!important;margin:0!important;padding:0!important;border:0!important;display:flex;flex-direction:column;gap:12px}.shop-payment-host li.wc_payment_method{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;border:1px solid var(--co-line-strong);background:#fff;border-radius:3px;padding:0!important;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;cursor:pointer}.shop-payment-host li.wc_payment_method:hover{border-color:var(--co-blue)}.shop-payment-host li.wc_payment_method.is-selected{border-color:var(--co-blue);box-shadow:0 0 0 2px rgba(36,54,201,.08)}.shop-payment-host li.wc_payment_method>input{grid-column:1;grid-row:1;margin:0!important;position:relative;z-index:2;justify-self:center;align-self:center}.shop-payment-host li.wc_payment_method>label{grid-column:2;grid-row:1;display:flex!important;align-items:center;gap:10px;min-height:68px;width:100%!important;padding:0 16px 0 0!important;font-size:13px;font-weight:700;cursor:pointer;max-width:none;position:relative;z-index:2}.shop-payment-host li.wc_payment_method>label img{max-height:28px!important;max-width:140px!important;margin-left:10px!important;width:auto!important}.shop-payment-host li.wc_payment_method>label:before{display:inline-flex;align-items:center;justify-content:center;min-width:60px;height:30px;border-radius:999px;padding:0 10px;background:#F5F4F1;border:1px solid rgba(16,20,31,.08);font:700 10px/1 'IBM Plex Mono',monospace;letter-spacing:.03em;color:#10141F;content:"PŁATNOŚĆ"}.shop-payment-host li.shop-gateway-blik>label:before{content:"BLIK";background:#10141F;color:#fff;border-color:#10141F}.shop-payment-host li.shop-gateway-card>label:before{display:none!important;content:none!important}.shop-payment-host li.shop-gateway-wallet>label:before{content:"PAY"}.shop-payment-host li.shop-gateway-bank>label:before{content:"BANK"}.shop-payment-host .payment_box{grid-column:1/-1;margin:0!important;border-top:1px solid var(--co-line)!important;background:#FAF8F3!important;padding:16px 18px!important;font-size:12px!important;color:#666!important}.shop-payment-host .payment_box:before{display:none!important}.shop-payment-host .payment_box p{font-size:12px;line-height:1.65}.shop-payment-host .payment_box p:last-child{margin-bottom:0}.shop-payment-host .form-row.place-order{padding:22px 0 0!important;margin:22px 0 0!important;border-top:1px solid var(--co-line);float:none!important;width:100%!important}.shop-payment-host #place_order{width:100%!important;min-height:56px!important;background:var(--co-ink)!important;color:#fff!important;border:0!important;border-radius:2px!important;text-transform:uppercase!important;letter-spacing:.07em!important;font-size:12px!important;font-weight:700!important}.shop-payment-host #place_order:hover{background:#000!important}.shop-payment-host .woocommerce-terms-and-conditions-wrapper{font-size:11px;line-height:1.55;color:#706C63}.shop-payment-host .woocommerce-privacy-policy-text p{margin:0 0 12px}.shop-payment-host .woocommerce-terms-and-conditions-checkbox-text{font-size:11px}
.shop-native-review-marker{display:none!important}

/* notices */
body.shop-has-checkout-ui .woocommerce-notices-wrapper{width:min(calc(100% - 64px),1240px);margin:24px auto 0}.shop-checkout-ui .woocommerce-error,.shop-checkout-ui .woocommerce-message,.shop-checkout-ui .woocommerce-info,body.shop-has-checkout-ui>.woocommerce-error{border:1px solid var(--co-line)!important;border-top:3px solid var(--co-blue)!important;background:#fff!important;border-radius:3px!important;box-shadow:none!important;color:var(--co-ink)!important;padding:16px 18px 16px 44px!important;font-size:12px!important;line-height:1.5!important}

/* thank you */
.shop-confirm-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.72fr);gap:34px;align-items:start}.shop-confirm-title{font-size:30px;font-weight:400;margin:0 0 8px}.shop-confirm-lede{font-size:13px;color:var(--co-soft);line-height:1.6;margin:0 0 26px}.shop-confirm-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:26px}.shop-confirm-meta-grid>div{background:#FAF8F3;border:1px solid var(--co-line);border-radius:3px;padding:14px}.shop-confirm-meta-grid span,.shop-confirm-addresses span{display:block;font:500 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:#8A857A;margin-bottom:6px}.shop-confirm-meta-grid strong{font-size:12px}.shop-confirm-items{border-top:1px solid var(--co-line);border-bottom:1px solid var(--co-line);padding:8px 0;margin-bottom:24px}.shop-confirm-item{display:flex;justify-content:space-between;gap:20px;padding:13px 0}.shop-confirm-item strong{display:block;font-size:13px}.shop-confirm-item small{display:block;color:#8A857A;margin-top:4px}.shop-confirm-item>span{font:600 12px 'IBM Plex Mono',monospace;white-space:nowrap}.shop-confirm-addresses{display:grid;grid-template-columns:1fr 1fr;gap:24px}.shop-confirm-addresses strong{display:block;font-size:12px;line-height:1.6;font-weight:600}.shop-confirm-summary{position:sticky}.shop-next-steps-band{margin-top:18px;grid-template-columns:.75fr 1.25fr}.shop-next-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;position:relative;z-index:2}.shop-next-steps>div{border:1px solid rgba(248,244,236,.16);padding:15px;border-radius:3px;background:rgba(255,255,255,.04)}.shop-next-steps span{display:block;font:500 9px 'IBM Plex Mono',monospace;color:#AEB9FF;margin-bottom:16px}.shop-next-steps strong{display:block;font-size:11px}.shop-next-steps small{display:block;color:rgba(248,244,236,.55);font-size:9.5px;line-height:1.45;margin-top:5px}.shop-confirm-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

/* compact footer on transactional pages */
.shop-footer-checkout{padding:42px 0 26px!important}.shop-footer-checkout .shop-footer-product-brand{margin-bottom:15px}

@media(max-width:1020px){
  .shop-checkout-grid,.shop-confirm-grid{grid-template-columns:1fr}.shop-cart-summary-card,.shop-checkout-summary-card{position:static}.shop-attention-band{grid-template-columns:1fr}.shop-service-groups{grid-template-columns:1fr 1fr}.shop-next-steps-band{grid-template-columns:1fr}.shop-next-steps{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .shop-checkout-ui{width:min(calc(100% - 36px),1240px);padding:32px 0 64px}.shop-checkout-head{grid-template-columns:1fr;align-items:start;margin-bottom:28px}.shop-secure-note{justify-self:start}.shop-progress{margin-bottom:32px}.shop-progress::before{left:10%;right:10%}.shop-progress-step>small{font-size:10px}.shop-panel-pad{padding:22px}.shop-cart-item{grid-template-columns:92px minmax(0,1fr);gap:16px}.shop-item-price{grid-column:2;text-align:left;padding:0}.shop-cart-actions{align-items:stretch;flex-direction:column}.shop-coupon-field{min-width:0;width:100%}.shop-cart-update{width:100%;margin:0!important}.shop-wc-field-grid{grid-template-columns:1fr}.shop-wc-field-grid .form-row{grid-column:1!important}.shop-shipping-card{grid-template-columns:auto 1fr}.shop-shipping-price{grid-column:2;text-align:left}.shop-checkout-navigation{align-items:stretch;flex-direction:column-reverse}.shop-primary-button,.shop-secondary-button{width:100%}.shop-service-groups{grid-template-columns:1fr}.shop-attention-foot{flex-direction:column;gap:8px}.shop-payment-provider-strip{align-items:flex-start;flex-direction:column}.shop-payment-choice-head{align-items:flex-start}.shop-payment-host li.wc_payment_method>label{min-height:62px;gap:8px}.shop-payment-host li.wc_payment_method>label:before{min-width:52px}.shop-confirm-meta-grid,.shop-confirm-addresses{grid-template-columns:1fr}.shop-next-steps{grid-template-columns:1fr}.shop-summary-product{font-size:11px}
}
@media(max-width:480px){
  .shop-progress-step>small{max-width:75px}.shop-progress-step>span{width:30px;height:30px}.shop-progress::before{top:15px}.shop-cart-item{grid-template-columns:78px 1fr}.shop-cart-media{padding:8px}.shop-service-logo{min-width:52px;height:30px;padding:0 7px}.shop-attention-band{padding:22px}.shop-attention-band h2{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.shop-checkout-ui *{scroll-behavior:auto!important;transition-duration:.001ms!important}}

/* v1.7 - BLIK modal */
.shop-payment-host li.shop-gateway-blik .payment_box{display:none!important}
.shop-payment-modal[hidden]{display:none!important}
.shop-payment-modal{position:fixed;inset:0;z-index:9999}
.shop-payment-modal__overlay{position:absolute;inset:0;background:rgba(16,20,31,.42);backdrop-filter:blur(2px)}
.shop-payment-modal__dialog{position:relative;z-index:1;width:min(92vw,480px);margin:8vh auto 0;background:#fff;border-radius:8px;box-shadow:0 28px 70px rgba(16,20,31,.24);padding:26px 24px 20px}
.shop-payment-modal__close{position:absolute;top:16px;right:16px;width:42px;height:42px;border:0;border-radius:50%;background:#F1F0EC;color:#10141F;font-size:30px;line-height:1;cursor:pointer}
.shop-payment-modal__brand{display:flex;justify-content:center;margin-bottom:18px}
.shop-payment-modal__logo{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:36px;padding:0 18px;border-radius:6px;background:#10141F;color:#fff;font:800 28px/1 Arial,sans-serif;letter-spacing:-.03em;text-transform:lowercase;position:relative}
.shop-payment-modal__logo:before{content:"";position:absolute;top:5px;left:31px;width:10px;height:10px;border-radius:50%;background:#e83030}
.shop-payment-modal__dialog h3{margin:0 0 8px;text-align:center;font-size:26px;line-height:1.18;color:#10141F}
.shop-payment-modal__lead{margin:0 0 18px;text-align:center;color:#6A655D;font-size:13px}
.shop-payment-modal__body{background:#FBFAF7;border:1px solid var(--co-line);border-radius:6px;padding:16px 16px 8px;margin-bottom:18px}
.shop-payment-modal__body .payment_box{display:block!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important;color:#10141F!important}
.shop-payment-modal__body .payment_box>p:first-child{display:none!important}
.shop-payment-modal__body .form-row{margin:0 0 12px!important;padding:0!important}
.shop-payment-modal__body label{display:block!important;font-size:13px!important;font-weight:700!important;color:#10141F!important;margin-bottom:8px!important}
.shop-payment-modal__body input.input-text,.shop-payment-modal__body input[type="text"],.shop-payment-modal__body input[type="tel"],.shop-payment-modal__body input[type="number"]{width:100%!important;height:56px!important;border:1px solid #D9D5CD!important;border-radius:4px!important;background:#fff!important;font:700 26px/1 'IBM Plex Mono',monospace!important;letter-spacing:.18em!important;text-align:center!important;padding:0 16px!important;box-shadow:none!important}
.shop-payment-modal__body .wc-stripe-blik-messaging,.shop-payment-modal__body .woocommerce-info,.shop-payment-modal__body .stripe-source-errors,.shop-payment-modal__body .payment_method_stripe_blik p,.shop-payment-modal__body p{font-size:12px!important;line-height:1.6!important;color:#6A655D!important;margin:0 0 12px!important}
.shop-payment-modal__actions{display:flex;flex-direction:column;gap:10px}
.shop-primary-button--full{width:100%!important;justify-content:center}
.shop-payment-modal__ghost{width:100%;height:48px;border:0;border-radius:4px;background:#F1F0EC;color:#10141F;font-size:14px;font-weight:700;cursor:pointer}
.shop-payment-modal__foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--co-line);text-align:center;color:#6A655D;font-size:12px}
body.shop-blik-modal-open{overflow:hidden}
@media (max-width: 640px){
  .shop-payment-modal__dialog{width:min(94vw,420px);margin:4vh auto 0;padding:24px 18px 18px}
  .shop-payment-modal__dialog h3{font-size:22px}
}


/* v1.8 BLIK modal + custom logo support */
.shop-service-logo.blik{padding:0 10px;background:#fff}
.shop-service-logo__blik{display:block;max-height:18px;width:auto}
.shop-blik-fallback-logo{display:inline-flex;align-items:center;justify-content:center;min-width:74px;height:28px;padding:0 12px;border-radius:6px;background:#10141F;color:#fff;font:800 18px/1 Arial,sans-serif;letter-spacing:-.03em;text-transform:uppercase;position:relative}
.shop-blik-fallback-logo:before{content:"";position:absolute;top:4px;left:24px;width:8px;height:8px;border-radius:50%;background:#e83030}
.shop-payment-host li.shop-gateway-blik>label{padding-right:16px!important;justify-content:flex-start;align-items:center!important}
.shop-payment-host li.shop-gateway-blik>label:before{display:none!important}
.shop-payment-host li.shop-gateway-blik>label .shop-blik-option-inline{display:inline-flex;align-items:center;gap:12px;min-height:28px}
.shop-payment-host li.shop-gateway-blik>label img.shop-blik-option-logo,.shop-payment-host li.shop-gateway-blik>label .shop-blik-option-logo{max-height:28px!important;max-width:120px!important;margin:0!important;width:auto!important;display:block;vertical-align:middle;flex:0 0 auto}
.shop-payment-host li.shop-gateway-blik>label .shop-blik-option-text{display:inline-block;font-size:13px;font-weight:700;line-height:1.2;color:#10141F}
.shop-payment-host li.shop-gateway-card>label img{margin-left:auto!important}

.shop-payment-modal__brand img.shop-payment-modal__logo-image,.shop-payment-modal__brand .shop-payment-modal__logo-image{display:block;max-height:40px;width:auto;max-width:180px}
.shop-payment-modal__body .form-row .shop-blik-code-visual{position:relative;display:block;width:100%;height:60px;margin:0 0 14px;border:1px solid #D9D5CD;border-radius:4px;background:#fff;cursor:text}
.shop-payment-modal__body .form-row .shop-blik-code-native{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:.01!important;z-index:2!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:transparent!important;caret-color:#10141F!important;letter-spacing:0!important}
.shop-payment-modal__body .shop-blik-code-slots{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);align-items:center;justify-items:center;padding:0 18px;pointer-events:none;z-index:1}
.shop-payment-modal__body .shop-blik-code-slot{font:700 28px/1 'IBM Plex Mono',monospace;color:#8E887F;position:relative;min-width:22px;text-align:center}
.shop-payment-modal__body .shop-blik-code-slot.is-filled{color:#10141F}
.shop-payment-modal__body .shop-blik-code-slot.is-active::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-6px;width:12px;height:2px;background:#10141F;border-radius:2px}
.shop-payment-modal__body .shop-blik-code-visual.is-complete .shop-blik-code-slot.is-active::after{display:none}
.shop-payment-modal__body label[for*="blik"]{margin-bottom:8px!important}
.shop-payment-modal__body .shop-blik-code-native:focus{outline:none!important}
.shop-primary-button[disabled],.shop-primary-button[aria-disabled="true"]{opacity:.45;cursor:not-allowed;pointer-events:none}
.shop-payment-modal__body .payment_method_stripe_blik p{font-size:12px!important;line-height:1.6!important;color:#6A655D!important;margin:0!important}


/* v2.1 — native Stripe Express Checkout placed inside the payment methods section */
.shop-stripe-express-target{display:none;margin:0 0 12px;padding:0}
.shop-stripe-express-target.has-stripe-express{display:block}
.shop-stripe-express-target #wc-stripe-express-checkout-element{width:100%!important;margin:0!important;clear:none!important}
.shop-stripe-express-target #wc-stripe-express-checkout-button-separator{display:none!important}
.shop-stripe-express-target #wc-stripe-express-checkout__order-attribution-inputs{display:none!important}
#wc-stripe-express-checkout-button-separator{display:none!important}
/* Keep BLIK radio and content on one horizontal axis. */
.shop-payment-host li.shop-gateway-blik{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;column-gap:14px!important;align-items:center!important;min-height:72px!important;padding:0 18px!important}
.shop-payment-host li.shop-gateway-blik>input[type="radio"]{position:static!important;float:none!important;margin:0!important;align-self:center!important;justify-self:center!important;transform:none!important}
.shop-payment-host li.shop-gateway-blik>label{min-height:72px!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important;display:flex!important;align-items:center!important;justify-content:flex-start!important}
.shop-payment-host li.shop-gateway-blik>label .shop-blik-option-inline{display:flex!important;align-items:center!important;gap:14px!important;min-height:28px!important}
.shop-payment-host li.shop-gateway-blik .payment_box{grid-column:1/-1!important}

/* v2.6 — mobile-only floating order summary. Desktop remains exactly as v2.4. */
.shop-mobile-float,
.shop-mobile-main-summary{display:none}

@media(max-width:720px){
  body.shop-mobile-summary-enhanced .shop-checkout-grid>.shop-cart-summary-card,
  body.shop-mobile-summary-enhanced .shop-checkout-grid>.shop-checkout-summary-card{display:none!important}

  body.shop-mobile-summary-enhanced .shop-mobile-main-summary:not([hidden]){display:block}
  body.shop-mobile-summary-enhanced .shop-mobile-float:not([hidden]){display:block}

  /* Floating card — never changes positioning, so it cannot jump over the page/header. */
  .shop-mobile-float{
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(10px + env(safe-area-inset-bottom,0px));
    z-index:78;
    background:#F1E8D9;
    color:#10141F;
    border:1px solid rgba(16,20,31,.06);
    border-radius:24px;
    padding:15px 16px 17px;
    box-shadow:0 18px 46px rgba(16,20,31,.22);
    overflow:hidden;
    transform:translate3d(0,0,0) scale(1);
    opacity:1;
    visibility:visible;
    transition:opacity .28s ease,transform .42s cubic-bezier(.22,.61,.36,1),visibility 0s linear 0s;
    will-change:transform,opacity;
  }
  .shop-mobile-float.is-handing-off{
    opacity:0;
    transform:translate3d(0,26px,0) scale(.965);
    visibility:hidden;
    pointer-events:none;
    transition:opacity .28s ease,transform .42s cubic-bezier(.22,.61,.36,1),visibility 0s linear .42s;
  }
  body.shop-mobile-keyboard-open .shop-mobile-float,
  body.shop-blik-modal-open .shop-mobile-float{
    opacity:0!important;
    transform:translate3d(0,24px,0) scale(.98)!important;
    pointer-events:none!important;
  }

  .shop-mobile-float__product{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center}
  .shop-mobile-float__thumb{width:48px;height:48px;border-radius:10px;overflow:hidden;background:#DED4C0;display:flex;align-items:center;justify-content:center}
  .shop-mobile-float__thumb img{width:100%;height:100%;object-fit:cover}
  .shop-mobile-float__product-copy{min-width:0}
  .shop-mobile-float__product-copy strong{display:block;font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#10141F}
  .shop-mobile-float__product-copy small{display:block;margin-top:3px;font-size:10px;color:#9A9286}
  .shop-mobile-float__product-price{font-size:12px;font-weight:700;white-space:nowrap;color:#10141F}
  .shop-mobile-float__divider{height:1px;background:rgba(16,20,31,.10);margin:12px 0 10px}
  .shop-mobile-float__meta{display:flex;align-items:center;gap:12px;min-height:28px;flex-wrap:wrap}
  .shop-mobile-float__meta-item{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:700;white-space:nowrap;color:#10141F}
  .shop-mobile-float__meta-item[hidden]{display:none!important}
  .shop-mobile-float__meta-icon{width:29px;height:29px;border-radius:50%;background:#fff;color:#2436C9;display:grid;place-items:center;flex:0 0 auto}
  .shop-mobile-float__meta-icon svg{width:16px;height:16px}
  .shop-mobile-float__total{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:10px}
  .shop-mobile-float__total>span{font-size:15px;line-height:1}
  .shop-mobile-float__total>strong{font:500 27px/1 'IBM Plex Mono',monospace;letter-spacing:-.035em;white-space:nowrap;color:#10141F}
  .shop-mobile-float__total>strong .woocommerce-Price-amount{font:inherit;color:inherit}
  .shop-mobile-float__cta{appearance:none;border:0;width:100%;min-height:54px;margin-top:15px;border-radius:999px;background:linear-gradient(96deg,#151B33 0%,#2436C9 100%);color:#fff!important;display:flex;align-items:center;justify-content:center;text-decoration:none!important;text-transform:uppercase;letter-spacing:.055em;font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 9px 24px rgba(36,54,201,.15)}

  /* The real final mobile summary. It is a separate element, so desktop summary HTML/CSS is untouched. */
  .shop-mobile-main-summary{
    background:#F1E8D9;
    color:#10141F;
    border-radius:28px;
    padding:28px 24px 26px;
    border:1px solid rgba(16,20,31,.05);
    box-shadow:0 18px 42px rgba(16,20,31,.10);
    opacity:1;
    transform:translateY(0) scale(1);
    transition:opacity .38s ease,transform .48s cubic-bezier(.22,.61,.36,1),box-shadow .48s ease;
  }
  .shop-mobile-main-summary.is-receiving{
    animation:shopMobileSummaryReceive .48s cubic-bezier(.22,.61,.36,1) both;
    box-shadow:0 22px 52px rgba(16,20,31,.13)
  }
  @keyframes shopMobileSummaryReceive{
    from{opacity:.66;transform:translateY(22px) scale(.975)}
    to{opacity:1;transform:translateY(0) scale(1)}
  }
  .shop-mobile-main-summary h2{font-family:'Fraunces',serif;font-size:29px;font-weight:400;line-height:1.08;margin:0 0 22px;color:#10141F}
  .shop-mobile-main__products{display:flex;flex-direction:column}
  .shop-mobile-main__product{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:13px;align-items:center;padding:8px 0 17px;border-bottom:1px solid rgba(16,20,31,.10)}
  .shop-mobile-main__product+.shop-mobile-main__product{padding-top:15px}
  .shop-mobile-main__thumb{width:56px;height:56px;border-radius:11px;overflow:hidden;background:#DED4C0;display:flex;align-items:center;justify-content:center}
  .shop-mobile-main__thumb img{width:100%;height:100%;object-fit:cover}
  .shop-mobile-main__product-copy{min-width:0}
  .shop-mobile-main__product-copy strong{display:block;font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#10141F}
  .shop-mobile-main__product-copy small{display:block;margin-top:4px;font-size:11px;color:#9A9286}
  .shop-mobile-main__product-price{font-size:13px;font-weight:700;white-space:nowrap;color:#10141F}
  .shop-mobile-main__methods{display:flex;flex-direction:column}
  .shop-mobile-main__method{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:67px;border-bottom:1px solid rgba(16,20,31,.10)}
  .shop-mobile-main__method[hidden]{display:none!important}
  .shop-mobile-main__method-icon{width:40px;height:40px;border-radius:50%;background:#fff;color:#2436C9;display:grid;place-items:center;flex:0 0 auto}
  .shop-mobile-main__method-icon svg{width:20px;height:20px}
  .shop-mobile-main__method strong{margin-left:auto;font-size:13px;line-height:1.3;text-align:right;color:#10141F}
  .shop-mobile-main__total{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:24px}
  .shop-mobile-main__total>span{font-size:17px;line-height:1}
  .shop-mobile-main__total>strong{font:500 31px/1 'IBM Plex Mono',monospace;letter-spacing:-.035em;white-space:nowrap;color:#10141F}
  .shop-mobile-main__total>strong .woocommerce-Price-amount{font:inherit;color:inherit}
  .shop-mobile-main__vat{margin:19px 0 0;color:#999185;font-size:12px;line-height:1.55}
  .shop-mobile-main__cta{appearance:none;border:0;width:100%;min-height:60px;margin-top:25px;border-radius:999px;background:linear-gradient(96deg,#151B33 0%,#2436C9 100%);color:#fff!important;display:flex;align-items:center;justify-content:center;text-decoration:none!important;text-transform:uppercase;letter-spacing:.055em;font-size:15px;font-weight:500;cursor:pointer;box-shadow:0 11px 28px rgba(36,54,201,.14)}
  .shop-mobile-main__help{display:flex;align-items:flex-start;gap:10px;margin-top:18px;color:#999185;font-size:11px;line-height:1.5}
  .shop-mobile-main__help-icon{width:22px;height:22px;color:#2436C9;flex:0 0 auto}
  .shop-mobile-main__help-icon svg{width:22px;height:22px}

  /* Gives the final fields room to scroll above the fixed card without changing desktop geometry. */
  body.shop-mobile-summary-enhanced .shop-checkout-main-stack{padding-bottom:18px}
}

@media(max-width:420px){
  .shop-mobile-float{left:9px;right:9px;bottom:calc(8px + env(safe-area-inset-bottom,0px));padding:13px 14px 15px;border-radius:21px}
  .shop-mobile-float__product{grid-template-columns:44px minmax(0,1fr) auto;gap:9px}
  .shop-mobile-float__thumb{width:44px;height:44px}
  .shop-mobile-float__product-copy strong{font-size:11.5px}
  .shop-mobile-float__product-price{font-size:11px}
  .shop-mobile-float__divider{margin:10px 0 9px}
  .shop-mobile-float__meta{gap:8px;min-height:27px}
  .shop-mobile-float__meta-item{font-size:9.5px}
  .shop-mobile-float__meta-icon{width:27px;height:27px}
  .shop-mobile-float__total{margin-top:9px}
  .shop-mobile-float__total>span{font-size:14px}
  .shop-mobile-float__total>strong{font-size:24px}
  .shop-mobile-float__cta{min-height:51px;margin-top:13px;font-size:13px}

  .shop-mobile-main-summary{padding:25px 20px 23px;border-radius:25px}
  .shop-mobile-main-summary h2{font-size:27px;margin-bottom:20px}
  .shop-mobile-main__product{grid-template-columns:52px minmax(0,1fr) auto;gap:11px}
  .shop-mobile-main__thumb{width:52px;height:52px}
  .shop-mobile-main__total>strong{font-size:28px}
  .shop-mobile-main__cta{min-height:57px;font-size:14px}
}

@media(max-width:720px) and (max-height:620px){
  .shop-mobile-float__product{display:none}
  .shop-mobile-float__divider{display:none}
  .shop-mobile-float__meta{margin-top:0}
  .shop-mobile-float{padding-top:13px}
}

@media(prefers-reduced-motion:reduce){
  .shop-mobile-float,.shop-mobile-main-summary{transition:none!important;animation:none!important}
}

/* =========================================================
   SHOP v2.8 — checkout visual system rebuilt from preview v4
   Keeps WooCommerce/Stripe mechanics from v2.4/v2.6 intact.
   ========================================================= */
body.woocommerce-cart,
body.woocommerce-checkout{
  overflow-x:hidden!important;
  max-width:100vw;
}
html{overflow-x:hidden}

.shop-checkout-ui{
  --co-ink:#10141F;
  --co-navy:#151B33;
  --co-blue:#2436C9;
  --co-blue-deep:#18258F;
  --co-blue-soft:#AEB9FF;
  --co-sand:#EFE8DA;
  --co-cream:#F8F4EC;
  --co-paper:#FBF8F2;
  --co-white:#fff;
  --co-soft:#7C786F;
  --co-line:rgba(16,20,31,.09);
  --co-line-strong:rgba(16,20,31,.13);
  --co-success:#237A57;
  --co-shadow:0 20px 52px rgba(16,20,31,.08),0 3px 12px rgba(16,20,31,.035);
  width:min(1120px,calc(100% - 48px));
  max-width:100%;
  padding:20px 0 86px;
}
.shop-checkout-ui,
.shop-checkout-ui *{min-width:0}
.shop-checkout-grid,
.shop-checkout-main-stack,
.shop-checkout-side-stack,
.shop-checkout-panel,
.shop-checkout-stage,
.shop-cart-form{max-width:100%}

/* Hero + progress */
.shop-checkout-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;margin:0 0 38px}
.shop-checkout-head{display:block;margin:0}
.shop-step-kicker{font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--co-blue);margin-bottom:17px}
.shop-checkout-head h1{font:400 italic clamp(38px,5vw,55px)/1.04 'Fraunces',serif;letter-spacing:-.025em;margin:0}
.shop-checkout-head p{color:var(--co-soft);font-size:13.5px;line-height:1.65;margin:12px 0 0;max-width:620px}
.shop-progress{display:flex;align-items:center;gap:36px;margin:0;padding:0 8px 5px;position:relative}
.shop-progress::before{display:none}
.shop-progress-step{gap:0;padding:0}
.shop-progress-step>span{width:48px;height:48px;border:0;background:#F0E9DC;color:#fff;font:400 20px 'Fraunces',serif}
.shop-progress-step>small{display:none}
.shop-progress-step.is-current>span{background:#F0E9DC;color:#0F205F;box-shadow:inset 0 0 0 1px rgba(36,54,201,.08),0 7px 20px rgba(16,20,31,.06)}
.shop-progress-step.is-done>span{background:#F0E9DC;border:0;color:#0F205F}
.shop-progress-step.is-done>small{display:none}

/* Main grid/cards */
.shop-checkout-grid{grid-template-columns:minmax(0,1.65fr) minmax(310px,.9fr);gap:34px;align-items:start}
.shop-checkout-main-stack{gap:20px}
.shop-checkout-side-stack{display:flex;flex-direction:column;gap:14px;min-width:0}
.shop-checkout-panel{background:#fff;border:1px solid rgba(16,20,31,.055);border-radius:22px;box-shadow:0 1px 2px rgba(16,20,31,.02);overflow:hidden}
.shop-panel-pad{padding:31px 34px}
.shop-panel-title-row{margin-bottom:18px}
.shop-panel-title-row h2{font-size:23px}
.shop-panel-title-row p{font-size:12px;color:var(--co-soft)}

/* Cart */
.shop-cart-item{grid-template-columns:98px minmax(0,1fr) auto;gap:22px;padding:24px 0;border-color:var(--co-line)}
.shop-cart-media{width:98px;height:98px;aspect-ratio:auto;border-radius:16px;background:#D3C6A8;padding:8px}
.shop-cart-media img{object-fit:cover;border-radius:10px}
.shop-item-kicker{font-size:9px;color:#5163E2;margin-bottom:6px}
.shop-cart-copy h3{font-size:18px;margin-bottom:11px}
.shop-item-controls{margin-top:11px;gap:12px}
.shop-qty-control{height:37px;border-radius:999px;background:var(--co-paper);border-color:rgba(16,20,31,.13)}
.shop-qty-control>button{width:34px;height:35px}
.shop-qty-control .qty{width:34px!important;height:35px!important}
.shop-remove-link{width:36px;height:36px;border-radius:50%;background:var(--co-paper);color:#A29D91!important;display:grid!important;place-items:center;text-decoration:none!important;flex:0 0 auto}
.shop-remove-link:hover{color:var(--co-ink)!important;background:#F0E9DC}
.shop-item-price{padding-top:0;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.shop-item-price strong{font-size:14px}.shop-item-price small{display:none}
.shop-cart-actions{padding-top:18px;margin-top:0}
.shop-coupon-field input{border-radius:10px 0 0 10px;background:var(--co-paper)}
.shop-coupon-field button{border-radius:0 10px 10px 0!important}
.shop-cart-update{border-radius:999px!important;padding-inline:18px!important}

/* Reference free-delivery band */
.shop-free-band{margin-top:20px;min-height:94px;border-radius:22px;background:linear-gradient(105deg,#2737C8 0%,#151B33 74%);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:22px 30px 22px 31px;overflow:hidden;position:relative;box-shadow:0 10px 26px rgba(22,31,79,.10)}
.shop-free-band:after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-93px;top:-75px;pointer-events:none}
.shop-free-copy{position:relative;z-index:1}.shop-free-copy strong{font-size:14px;display:block}.shop-free-copy span{font-size:11.5px;color:rgba(255,255,255,.66);display:block;margin-top:4px}.shop-free-copy b{font-weight:600;color:#fff}
.shop-truck-orb{position:relative;z-index:1;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,rgba(174,185,255,.24),rgba(255,255,255,.07));border:1px solid rgba(174,185,255,.24);color:#BDC6FF;flex:0 0 auto}

/* Summary cards — same cream system as preview */
.shop-cart-summary-card,.shop-checkout-summary-card{position:sticky;top:112px;background:var(--co-sand);color:var(--co-ink);border-radius:22px;padding:29px 30px;box-shadow:var(--co-shadow)}
.shop-cart-summary-card h2,.shop-checkout-summary-card h2{font:400 22px 'Fraunces',serif;margin:0 0 22px;color:var(--co-ink)}
.shop-summary-lines{display:block}
.shop-summary-line{font-size:12.5px;color:#777169;margin:0 0 14px}
.shop-summary-line strong{color:var(--co-ink);font-weight:600}
.shop-summary-line.total{border-top:1px solid rgba(16,20,31,.09);padding-top:19px;margin-top:16px;align-items:end;color:var(--co-ink);font-size:14px}
.shop-summary-line.total strong{font:500 22px 'IBM Plex Mono',monospace;color:var(--co-ink)}
.shop-summary-vat{margin-top:12px;color:#8A8579;font-size:10.5px;line-height:1.5}
.shop-summary-stage-cta{width:100%;border:0;border-radius:999px;background:linear-gradient(100deg,#151C38,#2436C9);color:#fff!important;padding:17px 22px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;cursor:pointer;margin-top:18px;box-shadow:0 10px 28px rgba(36,54,201,.14);transition:.2s;display:flex;align-items:center;justify-content:center;text-decoration:none!important}
.shop-summary-stage-cta:hover{transform:translateY(-1px)}
.shop-summary-stage-cta[hidden]{display:none!important}
.shop-summary-stage-cta:disabled{opacity:.55;cursor:not-allowed;transform:none}
.shop-summary-help{display:flex;gap:8px;color:#8A8579;font-size:10.5px;line-height:1.5;margin-top:17px}
.shop-summary-help svg{color:var(--co-blue);flex:none;margin-top:1px}

/* Product rows inside checkout summary */
.shop-summary-mini-products{display:flex;flex-direction:column}
.shop-summary-mini-product{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;padding:0 0 15px;margin-bottom:15px;border-bottom:1px solid rgba(16,20,31,.08)}
.shop-summary-mini-thumb{width:46px;height:46px;border-radius:9px;overflow:hidden;background:#D3C6A8}.shop-summary-mini-thumb img{width:100%;height:100%;object-fit:cover}
.shop-summary-mini-copy strong{display:block;font-size:11px;font-weight:600;line-height:1.3}.shop-summary-mini-copy small{display:block;font-weight:400;color:#8B8579;font-size:9.5px;margin-top:2px}
.shop-summary-mini-price{font:500 10.5px 'IBM Plex Mono',monospace;white-space:nowrap}
.shop-summary-selection-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;padding:11px 0;border-top:1px solid rgba(16,20,31,.08);font-size:12px}
.shop-summary-selection-row[hidden]{display:none!important}
.shop-summary-selection-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.55);color:#3343BD;flex:none}
.shop-summary-selection-row strong{font-size:11.5px;line-height:1.35;text-align:right;max-width:210px;color:var(--co-ink)}

/* Partner dock */
.shop-logo-dock{background:rgba(255,255,255,.82);border:1px solid rgba(16,20,31,.055);border-radius:13px;padding:8px 10px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;box-shadow:0 5px 18px rgba(16,20,31,.035)}
.shop-logo-slot{height:33px;min-width:0;border-radius:5px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(16,20,31,.07)}
.shop-logo-slot img{display:block;width:100%;height:100%;object-fit:contain}
.shop-logo-slot--blik img{padding:2px 5px}

/* Checkout form */
.shop-checkout-stage{gap:20px}
.shop-section-block{padding-top:27px;margin-top:27px;border-color:var(--co-line)}
.shop-section-kicker{font-size:9px;letter-spacing:.14em;margin-bottom:8px}
.shop-section-block h2{font-size:23px;margin-bottom:6px}
.shop-section-block>p{font-size:12px;line-height:1.6;color:var(--co-soft);margin-bottom:20px}
.shop-wc-field-grid{gap:14px}
.shop-wc-field-grid .form-row label{font-size:11px!important;font-weight:600!important;margin-bottom:6px!important}
.shop-wc-field-grid input.input-text,.shop-wc-field-grid select,.shop-wc-field-grid textarea{width:100%!important;max-width:100%!important;border:1px solid rgba(16,20,31,.12)!important;border-radius:10px!important;background:var(--co-paper)!important;padding:12px 13px!important;font-size:13px!important;outline:none!important;box-shadow:none!important}
.shop-wc-field-grid input.input-text:focus,.shop-wc-field-grid select:focus,.shop-wc-field-grid textarea:focus{border-color:#5B68CA!important;box-shadow:0 0 0 3px rgba(36,54,201,.07)!important}
.shop-same-data-toggle{border-radius:14px;padding:14px 15px;background:var(--co-paper);margin-bottom:18px}

/* Shipping options */
.shop-shipping-packages{gap:10px}.shop-shipping-package{gap:10px}
.shop-shipping-card{grid-template-columns:auto minmax(0,1fr) auto;gap:13px;border:1px solid var(--co-line);border-radius:14px;padding:16px;background:#fff}
.shop-shipping-card.is-selected{border-color:rgba(36,54,201,.48);box-shadow:0 8px 24px rgba(36,54,201,.06)}
.shop-option-radio{border-color:#9A968D}
.shop-shipping-copy strong{font-size:13px}.shop-shipping-copy small{font-size:11px;color:var(--co-soft);margin-top:3px}
.shop-shipping-price{font:500 11px 'IBM Plex Mono',monospace;color:var(--co-success)}

/* Keep controller controls for JS, but never render duplicate black buttons. */
.shop-native-step-controls{display:none!important}

/* Payment — keep native v2.4 Stripe mechanics, just apply reference look */
.shop-payment-provider-strip{display:flex;align-items:center;gap:11px;background:#EDF6F1;border:0;border-radius:14px;padding:14px 15px;margin-bottom:14px}
.shop-provider-lock{flex:1}.shop-provider-lock>span{width:31px;height:31px;background:var(--co-success);color:#fff}.shop-provider-lock strong{font-size:12px}.shop-provider-lock small{font-size:10.5px;color:#667069;margin-top:2px}
.shop-payment-provider-strip .shop-service-row{margin-left:auto;gap:5px;flex-wrap:nowrap}
.shop-payment-provider-strip .shop-service-logo{background:#fff;border:1px solid rgba(16,20,31,.06);border-radius:6px;min-height:28px;padding:5px 8px}
.shop-payment-host ul.wc_payment_methods{gap:10px!important}
.shop-payment-host li.wc_payment_method{border:1px solid var(--co-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}
.shop-payment-host li.wc_payment_method.is-selected{border-color:rgba(36,54,201,.48)!important;box-shadow:0 8px 24px rgba(36,54,201,.06)!important}
.shop-payment-host li.wc_payment_method>label{min-height:64px!important;font-size:13px!important}
.shop-payment-host .payment_box{background:var(--co-paper)!important;border-top:1px solid var(--co-line)!important;border-radius:0 0 14px 14px!important}
.shop-stripe-express-target{margin:0 0 11px!important}
.shop-stripe-express-target.has-stripe-express{display:block!important}
.shop-stripe-express-target #wc-stripe-express-checkout-element{border-radius:14px!important;overflow:hidden}

/* Hide only the native WooCommerce submit button; it remains in DOM and is clicked by our summary CTA. */
.shop-payment-host #place_order{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important}
.shop-payment-host .form-row.place-order{padding-top:18px!important;margin-top:18px!important;border-top:1px solid var(--co-line)!important}

/* BLIK popup in the same visual system */
.shop-payment-modal__overlay{background:rgba(16,20,31,.42);backdrop-filter:blur(3px)}
.shop-payment-modal__dialog{width:min(92vw,480px);margin:8vh auto 0;background:var(--co-paper);border-radius:22px;box-shadow:0 28px 70px rgba(16,20,31,.24);padding:28px 26px 22px;border:1px solid rgba(16,20,31,.06)}
.shop-payment-modal__close{top:16px;right:16px;width:40px;height:40px;background:#F0E9DC;font-size:26px}
.shop-payment-modal__dialog h3{font:400 25px/1.18 'Fraunces',serif}
.shop-payment-modal__lead{color:var(--co-soft);font-size:12px}
.shop-payment-modal__body{background:#fff;border:1px solid var(--co-line);border-radius:14px;padding:16px 16px 8px}
.shop-payment-modal__body .form-row .shop-blik-code-visual{border-radius:10px;background:var(--co-paper)}
.shop-primary-button--full{min-height:54px!important;border-radius:999px!important;background:linear-gradient(100deg,#151C38,#2436C9)!important;color:#fff!important;border:0!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-size:11px!important;font-weight:700!important}
.shop-payment-modal__ghost{border-radius:999px;background:#F0E9DC;font-size:12px}
.shop-payment-modal__foot{font-size:10.5px;color:#8A8579}

/* Mobile / tablet */
@media(max-width:900px){
  .shop-checkout-ui{width:min(100% - 32px,1120px)}
  .shop-checkout-hero{grid-template-columns:1fr;gap:24px;align-items:start}
  .shop-progress{justify-content:flex-start;gap:18px;padding-left:0}
  .shop-checkout-grid{grid-template-columns:1fr}
  .shop-cart-summary-card,.shop-checkout-summary-card{position:static}
  .shop-checkout-side-stack{gap:14px}
}

@media(max-width:720px){
  body.woocommerce-cart,body.woocommerce-checkout{width:100%;max-width:100%;overflow-x:hidden!important;position:relative}
  .shop-checkout-ui{width:calc(100% - 32px);max-width:calc(100vw - 32px);padding:18px 0 118px;overflow:visible}
  .shop-checkout-hero{margin-bottom:28px}
  .shop-checkout-head h1{font-size:42px}
  .shop-progress{width:100%;justify-content:space-between;gap:8px;padding:0}
  .shop-progress-step>span{width:42px;height:42px;font-size:18px}
  .shop-panel-pad{padding:25px 21px}
  .shop-panel-title-row{align-items:flex-start}
  .shop-cart-item{grid-template-columns:76px minmax(0,1fr);gap:15px}
  .shop-cart-media{width:76px;height:76px}
  .shop-item-price{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}
  .shop-item-controls{justify-content:space-between}
  .shop-cart-actions{align-items:stretch;flex-direction:column}
  .shop-coupon-field{min-width:0;width:100%}.shop-cart-update{width:100%;margin:0!important}
  .shop-free-band{padding:19px 20px;min-height:86px;border-radius:22px}.shop-truck-orb{width:48px;height:48px}.shop-free-copy span{max-width:220px}
  .shop-logo-dock{grid-template-columns:repeat(3,1fr)}
  .shop-wc-field-grid{grid-template-columns:1fr}
  .shop-wc-field-grid .form-row{grid-column:1!important;max-width:100%!important}
  .shop-wc-field-grid input.input-text,.shop-wc-field-grid input[type="text"],.shop-wc-field-grid input[type="email"],.shop-wc-field-grid input[type="tel"],.shop-wc-field-grid select,.shop-wc-field-grid textarea{font-size:16px!important;max-width:100%!important;width:100%!important}
  .shop-shipping-card{grid-template-columns:auto 1fr}.shop-shipping-price{grid-column:2;text-align:left}
  .shop-payment-provider-strip{align-items:flex-start;flex-direction:column}.shop-payment-provider-strip .shop-service-row{margin-left:0}
  .shop-payment-modal__dialog{width:calc(100vw - 28px);max-width:calc(100vw - 28px);margin:4vh auto 0;padding:24px 18px 18px;border-radius:22px}
  .shop-payment-modal__dialog h3{font-size:22px}

  /* preserve v2.6 floating summary and make sure it never causes horizontal overflow */
  .shop-mobile-float{left:10px!important;right:10px!important;max-width:calc(100vw - 20px)!important;border-radius:24px!important}
  .shop-mobile-main-summary{max-width:100%!important;border-radius:28px!important}
}
@media(max-width:720px){
  body.shop-mobile-summary-enhanced .shop-checkout-side-stack>.shop-cart-summary-card{display:none!important}
}
@media(max-width:720px){
  .shop-checkout-ui .select2-container,
  .shop-checkout-ui .select2-container--default,
  .shop-checkout-ui .woocommerce-input-wrapper,
  .shop-checkout-ui .shop-payment-host,
  .shop-checkout-ui .shop-stripe-express-target,
  .shop-checkout-ui .wc-stripe-elements-field,
  .shop-checkout-ui .wc-stripe-iban-element-field{width:100%!important;max-width:100%!important;min-width:0!important}
  .shop-checkout-ui iframe{max-width:100%!important}
}


/* v2.8 final polish — align cart/mobile with preview v4 */
.shop-cart-page .shop-checkout-panel.shop-panel-pad{padding:10px 34px 24px}
.shop-cart-page .shop-panel-title-row{display:none!important}
.shop-cart-page .shop-cart-actions{display:none!important}
.shop-cart-bottom{padding:23px 0 0;font-size:12px;color:#88837A}
.shop-cart-bottom a{text-decoration:underline!important;text-underline-offset:3px}
.shop-remove-link{font-size:0!important;line-height:1!important;text-indent:0!important;overflow:hidden!important}
.shop-remove-link svg{display:block!important;width:15px!important;height:15px!important}
.shop-item-price .shop-remove-link{margin-top:0}
.shop-checkout-side-stack{align-self:start}
.shop-checkout-summary-card,.shop-cart-summary-card{z-index:2}

@media(max-width:720px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;overscroll-behavior-x:none}
  body.woocommerce-cart,body.woocommerce-checkout{touch-action:pan-y}
  #shop-site,.shop-site,.shop-woo-main,.shop-wrap,.woocommerce,.woocommerce-cart-form,.woocommerce-checkout,.shop-checkout-form,.shop-checkout-ui,.shop-checkout-grid,.shop-checkout-main-stack,.shop-checkout-stage,.shop-checkout-panel,.shop-wc-field-grid,.form-row,.woocommerce-input-wrapper{width:auto;max-width:100%!important;min-width:0!important}
  #shop-site,.shop-site,.shop-woo-main{overflow-x:hidden!important}
  .shop-checkout-form{width:100%!important;overflow-x:clip!important}
  .shop-checkout-ui{width:calc(100% - 32px)!important;margin-left:auto!important;margin-right:auto!important}
  .shop-cart-page .shop-checkout-panel.shop-panel-pad{padding:6px 20px 20px}
  .shop-cart-page .shop-cart-item{grid-template-columns:76px minmax(0,1fr);gap:15px}
  .shop-cart-page .shop-item-price{grid-column:1/-1;display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%}
  .shop-cart-page .shop-item-price .shop-remove-link{margin-left:auto}
  .shop-free-copy{max-width:calc(100% - 58px)}
  .shop-free-copy strong,.shop-free-copy span{overflow-wrap:anywhere}
  .shop-payment-provider-strip,.shop-payment-host,.shop-stripe-express-target,.shop-payment-modal__dialog{min-width:0!important}
  .shop-payment-provider-strip .shop-service-row{max-width:100%;overflow:hidden}
  .shop-mobile-float,.shop-mobile-main-summary{box-sizing:border-box!important}
  .select2-container,.select2-dropdown,.select2-search__field{max-width:100vw!important}
}


/* v3.0 — compact quantity control, guaranteed trash action, desktop sticky summary */
.shop-cart-page .shop-qty-control{
  display:grid!important;
  grid-template-columns:36px 38px 36px!important;
  align-items:stretch!important;
  width:110px!important;
  min-width:110px!important;
  max-width:110px!important;
  height:38px!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid rgba(16,20,31,.13)!important;
  border-radius:999px!important;
  background:var(--co-paper)!important;
  box-sizing:border-box!important;
  flex:0 0 110px!important;
}
.shop-cart-page .shop-qty-control>button{
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--co-ink)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:18px!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.shop-cart-page .shop-qty-control .quantity{
  display:block!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  float:none!important;
}
.shop-cart-page .shop-qty-control input.qty,
.shop-cart-page .shop-qty-control .quantity .qty{
  display:block!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center!important;
  color:var(--co-ink)!important;
  font:500 13px/36px 'IBM Plex Mono',monospace!important;
  appearance:textfield!important;
  -webkit-appearance:none!important;
  -moz-appearance:textfield!important;
}
.shop-cart-page .shop-qty-control input.qty::-webkit-outer-spin-button,
.shop-cart-page .shop-qty-control input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}

.shop-cart-page a.shop-remove-link.remove{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--co-paper)!important;
  color:#A29D91!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  text-indent:0!important;
  font-size:0!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
  overflow:visible!important;
  box-shadow:none!important;
}
.shop-cart-page a.shop-remove-link.remove:hover{
  background:#F0E9DC!important;
  color:var(--co-ink)!important;
}
.shop-cart-page a.shop-remove-link.remove svg{
  display:block!important;
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
  stroke:currentColor!important;
}

@media(min-width:901px){
  .shop-checkout-grid{overflow:visible!important;align-items:stretch!important}
  .shop-checkout-side-stack{
    align-self:stretch!important;
    position:relative!important;
    overflow:visible!important;
    min-height:100%!important;
  }
  .shop-checkout-side-stack>.shop-cart-summary-card,
  .shop-checkout-side-stack>.shop-checkout-summary-card{
    position:sticky!important;
    top:112px!important;
    align-self:start!important;
    z-index:5!important;
  }
}

@media(max-width:900px){
  .shop-checkout-grid{align-items:start!important}
  .shop-checkout-side-stack{align-self:start!important;min-height:0!important}
}

@media(max-width:720px){
  .shop-cart-page .shop-qty-control{
    width:110px!important;
    min-width:110px!important;
    max-width:110px!important;
    flex-basis:110px!important;
  }
  .shop-cart-page .shop-qty-control input.qty,
  .shop-cart-page .shop-qty-control .quantity .qty{font-size:16px!important}
}


/* =========================================================
   SHOP v3.1 — cart alignment, reliable desktop sticky summary,
   payment-method visual repair (mechanics remain native Stripe)
   ========================================================= */

/* Cart: quantity + trash belong to the same control row; price gets proper visual weight. */
.shop-cart-page .shop-item-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
  margin-top:13px!important;
}
.shop-cart-page .shop-item-controls .shop-remove-link{
  flex:0 0 36px!important;
  margin:0!important;
}
.shop-cart-page .shop-item-price{
  align-self:start!important;
  padding-top:3px!important;
}
.shop-cart-page .shop-item-price strong{
  font:600 18px/1.2 'IBM Plex Mono',monospace!important;
  letter-spacing:-.025em!important;
  color:var(--co-ink)!important;
}

/* Desktop: sticky must be the grid child itself. Do not stretch it to the height of the form. */
@media(min-width:901px){
  .shop-checkout-grid{
    align-items:start!important;
    overflow:visible!important;
  }
  .shop-checkout-summary-card{
    position:sticky!important;
    top:96px!important;
    align-self:start!important;
    height:auto!important;
    max-height:none!important;
    z-index:8!important;
  }
  body.admin-bar .shop-checkout-summary-card{top:128px!important}

  /* Cart has summary + logo dock in a wrapper, so the wrapper is the sticky grid item. */
  .shop-cart-page .shop-checkout-side-stack{
    position:sticky!important;
    top:96px!important;
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body.admin-bar .shop-cart-page .shop-checkout-side-stack{top:128px!important}
  .shop-cart-page .shop-checkout-side-stack>.shop-cart-summary-card{
    position:static!important;
    top:auto!important;
  }
}

/* Payment visual system from preview v4. */
.shop-payment-provider-strip{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  background:#EDF6F1!important;
  border:0!important;
  border-radius:14px!important;
  padding:14px 15px!important;
  margin-bottom:14px!important;
}
.shop-payment-provider-strip .shop-provider-lock{display:flex!important;align-items:center!important;gap:11px!important;flex:1 1 auto!important}
.shop-payment-provider-strip .shop-provider-lock>span{width:31px!important;height:31px!important;flex:0 0 31px!important;border-radius:50%!important;background:var(--co-success)!important;color:#fff!important}
.shop-payment-provider-strip .shop-provider-lock strong{font-size:12px!important}
.shop-payment-provider-strip .shop-provider-lock small{font-size:10.5px!important;color:#667069!important;margin-top:2px!important}
.shop-payment-provider-strip .shop-service-row{margin-left:auto!important;display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:nowrap!important}
.shop-payment-provider-strip .shop-service-logo{min-height:28px!important;background:#fff!important;border:1px solid rgba(16,20,31,.06)!important;border-radius:6px!important;padding:5px 8px!important}

.shop-payment-host ul.wc_payment_methods{display:flex!important;flex-direction:column!important;gap:10px!important}
.shop-payment-host li.wc_payment_method{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  align-items:center!important;
  min-height:68px!important;
  padding:0 16px!important;
  border:1px solid var(--co-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.shop-payment-host li.wc_payment_method.is-selected{
  border-color:rgba(36,54,201,.48)!important;
  box-shadow:0 8px 24px rgba(36,54,201,.06)!important;
}
.shop-payment-host li.wc_payment_method>input[type="radio"]{
  grid-column:1!important;
  grid-row:1!important;
  margin:0!important;
  justify-self:start!important;
  align-self:center!important;
}
.shop-payment-host li.wc_payment_method>label{
  grid-column:2!important;
  grid-row:1!important;
  min-height:68px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  font-size:13px!important;
  cursor:pointer!important;
}
.shop-payment-host li.wc_payment_method>label:before{display:none!important;content:none!important}
.shop-payment-host .shop-payment-option-icon{
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
  border-radius:50%!important;
  background:var(--co-paper)!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.shop-payment-host .shop-payment-option-icon--blik .shop-blik-option-logo{
  display:block!important;
  width:34px!important;
  height:22px!important;
  max-width:34px!important;
  max-height:22px!important;
  object-fit:contain!important;
  margin:0!important;
}
.shop-payment-host .shop-payment-option-copy{display:block!important;min-width:0!important;line-height:1.25!important}
.shop-payment-host .shop-payment-option-copy strong{display:block!important;font-size:13px!important;font-weight:700!important;color:var(--co-ink)!important}
.shop-payment-host .shop-payment-option-copy small{display:block!important;margin-top:3px!important;font-size:11px!important;font-weight:400!important;color:var(--co-soft)!important}
.shop-payment-host li.shop-gateway-blik{grid-template-columns:30px minmax(0,1fr)!important;padding:0 16px!important;min-height:68px!important}
.shop-payment-host li.shop-gateway-blik>label{min-height:68px!important;padding:0!important}
.shop-payment-host li.shop-gateway-blik .payment_box{grid-column:1/-1!important}

/* Native card gateway stays native, but matches the same card geometry. */
.shop-payment-host li.shop-gateway-card>label{font-weight:700!important}
.shop-payment-host li.shop-gateway-card>label img{margin-left:auto!important;max-height:24px!important;width:auto!important}

/* Real Stripe Apple Pay / Google Pay remains untouched; only its outer placement is styled. */
.shop-stripe-express-target{width:100%!important;margin:0 0 10px!important}
.shop-stripe-express-target.has-stripe-express{display:block!important}
.shop-stripe-express-target #wc-stripe-express-checkout-element{width:100%!important;margin:0!important;border-radius:14px!important;overflow:hidden!important}

@media(max-width:720px){
  .shop-cart-page .shop-item-controls{gap:9px!important}
  .shop-cart-page .shop-item-price strong{font-size:17px!important}
  .shop-payment-provider-strip{align-items:flex-start!important;flex-direction:column!important}
  .shop-payment-provider-strip .shop-service-row{margin-left:0!important}
}


/* =========================================================
   SHOP v3.3 — final desktop sticky summary architecture
   The shell is stable; WooCommerce may replace only the card inside it.
   Mobile summary/floating behaviour remains unchanged.
   ========================================================= */
.shop-checkout-summary-shell{
  min-width:0;
  max-width:100%;
}

@media(min-width:901px){
  /* overflow-x:hidden can create a scroll container and break sticky in some browsers. */
  html,
  body.woocommerce-checkout{
    overflow-x:clip!important;
  }

  .shop-checkout-form,
  .shop-checkout-ui,
  .shop-checkout-grid{
    overflow:visible!important;
  }

  .shop-checkout-grid{
    align-items:start!important;
  }

  .shop-checkout-summary-shell{
    position:sticky!important;
    top:96px!important;
    align-self:start!important;
    height:max-content!important;
    min-height:0!important;
    z-index:8!important;
  }

  body.admin-bar .shop-checkout-summary-shell{
    top:128px!important;
  }

  /* The fragment itself stays normal flow. Only the persistent shell is sticky. */
  .shop-checkout-summary-shell>.shop-checkout-summary-card{
    position:static!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    transform:none!important;
  }
}

@media(max-width:900px){
  .shop-checkout-summary-shell{
    position:static!important;
    top:auto!important;
    height:auto!important;
  }
}

@media(max-width:720px){
  body.shop-mobile-summary-enhanced .shop-checkout-summary-shell{
    display:none!important;
  }
}


/* === SHOP PACKAGE v4.3: conditional courier address + stricter validation === */
.shop-courier-address-home{display:none!important}
.shop-courier-address-expander{min-width:0;padding:10px 0 2px;animation:shopCourierAddressIn .22s ease both}
.shop-courier-address-expander[hidden]{display:none!important}
.shop-courier-address-expander .shop-courier-address-fields{grid-template-columns:1fr;gap:14px;padding:0 0 2px}
.shop-courier-address-expander .form-row{grid-column:1!important}
.shop-courier-address-expander .form-row label{margin-bottom:7px}
.shop-courier-address-expander .input-text{background:var(--co-paper,#FBF8F2)!important;border-radius:10px!important}
.shop-delivery-section .shop-shipping-package>.shop-courier-address-expander{width:100%}
.shop-delivery-section .shop-shipping-card+ .shop-courier-address-expander{margin-top:-2px;margin-bottom:2px}
.shop-summary-stage-cta:disabled,.shop-mobile-main__cta:disabled,.shop-mobile-float__cta:disabled{opacity:.45!important;cursor:not-allowed!important;transform:none!important;pointer-events:none}
@keyframes shopCourierAddressIn{from{opacity:.35;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.shop-courier-address-expander{animation:none}}

/* =========================================================
   SHOP v4.5 — payment flow repair for Payment Plugins Stripe 4.x
   ========================================================= */
.shop-billing-required-fields #billing_country_field,
.shop-billing-required-fields #billing_address_1_field,
.shop-billing-required-fields #billing_postcode_field,
.shop-billing-required-fields #billing_city_field{
  grid-column:1/-1!important;
}
.shop-billing-required-fields .select2-container{
  width:100%!important;
}
.shop-billing-required-fields .select2-container .select2-selection--single{
  min-height:43px!important;
  border:1px solid rgba(16,20,31,.12)!important;
  border-radius:10px!important;
  background:var(--co-paper)!important;
  display:flex!important;
  align-items:center!important;
  box-shadow:none!important;
}
.shop-billing-required-fields .select2-container .select2-selection__rendered{
  padding:0 38px 0 13px!important;
  line-height:41px!important;
  font-size:13px!important;
  color:var(--co-ink)!important;
}
.shop-billing-required-fields .select2-container .select2-selection__arrow{
  height:41px!important;
  right:8px!important;
}

/* Apple Pay / Google Pay stay real Stripe gateways, but their native checkout
   button is kept off-canvas. Our single "Zapłać i zamów" CTA triggers it. */
.shop-payment-host li.shop-gateway-wallet{
  overflow:hidden!important;
}
.shop-payment-host li.shop-gateway-wallet .payment_box{
  display:block!important;
  position:absolute!important;
  left:-10000px!important;
  top:0!important;
  width:520px!important;
  min-width:520px!important;
  height:64px!important;
  min-height:64px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  z-index:-1!important;
}
.shop-payment-host li.shop-gateway-wallet.is-selected{
  min-height:68px!important;
}
.shop-payment-host li.shop-gateway-wallet>label{
  min-height:68px!important;
}

/* BLIK's original field stays in the gateway for the Stripe plugin, while the
   customer types the code in this modal input. */
.shop-payment-modal__body{
  padding:16px!important;
}
.shop-blik-modal__label{
  display:block;
  margin:0 0 7px;
  font-size:12px;
  font-weight:600;
  color:var(--co-ink);
}
.shop-blik-modal__input{
  appearance:none;
  width:100%;
  min-height:48px;
  border:1px solid rgba(16,20,31,.12);
  border-radius:10px;
  background:#fff;
  padding:11px 13px;
  font:500 18px/1.2 'IBM Plex Mono',monospace;
  letter-spacing:.04em;
  color:var(--co-ink);
  outline:none;
  box-shadow:none;
}
.shop-blik-modal__input:focus{
  border-color:#5B68CA;
  box-shadow:0 0 0 3px rgba(36,54,201,.08);
}
.shop-blik-modal__help{
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid var(--co-line);
  color:#777169;
  font-size:11.5px;
  line-height:1.55;
}
.shop-payment-modal [data-shop-blik-submit]:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
  transform:none!important;
}

@media(max-width:720px){
  .shop-billing-required-fields #billing_first_name_field,
  .shop-billing-required-fields #billing_last_name_field{
    grid-column:1!important;
  }
  .shop-blik-modal__input{font-size:18px}
}

/* v4.6 — native Payment Plugins wallet buttons remain mounted for Stripe,
   but are removed from the visible checkout layout. The single Kuangxiang
   "Zapłać i zamów" CTA triggers them programmatically on user click. */
#wc-stripe_applepay-checkout-button,
#wc-stripe_googlepay-checkout-button,
.shop-native-wallet-trigger {
  position: fixed !important;
  left: -10000px !important;
  top: 0 !important;
  width: 360px !important;
  min-width: 360px !important;
  max-width: 360px !important;
  height: 55px !important;
  min-height: 55px !important;
  max-height: 55px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  z-index: -2147483647 !important;
  transform: none !important;
}

/* The plugin can append its wallet container after privacy/terms instead of
   inside .payment_box. Keep any wrapper that contains only that native button
   from creating blank space in our payment card. */
.shop-payment-host .payment_method_stripe_applepay .payment_box,
.shop-payment-host .payment_method_stripe_googlepay .payment_box {
  position: absolute !important;
  left: -10000px !important;
  top: 0 !important;
  width: 360px !important;
  height: 55px !important;
  min-height: 55px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  border: 0 !important;
  background: transparent !important;
}


/* ============================================================
   v4.7 — Payment Plugins 4.x integration
   ============================================================ */

/* BLIK: the modal hosts the plugin's REAL Stripe Payment Element. No cloned
   code input is used, so the 6-digit code stays inside Stripe's secure iframe. */
.shop-payment-modal__body{padding:16px!important;min-height:92px}
.shop-blik-modal__loading{padding:22px 12px;text-align:center;color:#8A8579;font-size:12px}
.shop-payment-modal__body:has(.payment_box) .shop-blik-modal__loading{display:none}
.shop-payment-modal__body .payment_box{position:static!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;opacity:1!important;pointer-events:auto!important;overflow:visible!important;z-index:auto!important;transform:none!important;display:block!important}
.shop-payment-modal__body .payment_box iframe{max-width:100%!important}
.shop-payment-modal__body .payment_box .wc-stripe-blik-messaging{margin-top:12px!important}

/* Wallet gateway boxes remain out of the method card. The native Apple Pay or
   Google Pay checkout container is physically moved into the active summary
   host when selected, preserving the plugin's own direct click handler. */
.shop-payment-host #wc-stripe_applepay-checkout-button:not(.shop-wallet-live-button),
.shop-payment-host #wc-stripe_googlepay-checkout-button:not(.shop-wallet-live-button){
  position:absolute!important;left:-10000px!important;top:0!important;width:360px!important;height:55px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;z-index:-1!important
}
#wc-stripe_applepay-checkout-button.shop-wallet-live-button,
#wc-stripe_googlepay-checkout-button.shop-wallet-live-button{
  position:static!important;inset:auto!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:54px!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;overflow:visible!important;z-index:auto!important;transform:none!important
}
.shop-summary-wallet-host,.shop-mobile-wallet-host{width:100%}
.shop-summary-wallet-host:not([hidden]){display:block;margin-top:5px}
.shop-summary-wallet-host #wc-stripe_applepay-checkout-button,
.shop-summary-wallet-host #wc-stripe_googlepay-checkout-button{width:100%!important;min-height:54px!important}
.shop-summary-wallet-host button,
.shop-summary-wallet-host [role="button"],
.shop-mobile-wallet-host button,
.shop-mobile-wallet-host [role="button"]{width:100%!important;min-height:54px!important;border-radius:999px!important}

@media(max-width:720px){
  .shop-mobile-wallet-host:not([hidden]){display:block;margin-top:13px;width:100%}
  .shop-mobile-wallet-host--main:not([hidden]){margin-top:25px}
  .shop-mobile-wallet-host #wc-stripe_applepay-checkout-button,
  .shop-mobile-wallet-host #wc-stripe_googlepay-checkout-button{width:100%!important;min-height:54px!important}
}

/* WooCommerce normally inserts the AJAX error at the top of the checkout and
   scrolls there. We keep it in the DOM for compatibility/accessibility but
   visually replace it with a fixed, immediately visible Kuangxiang notice. */
.shop-wc-notice-captured{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.shop-checkout-toast{position:fixed;top:var(--shop-toast-top,96px);left:50%;transform:translateX(-50%);z-index:10050;width:min(560px,calc(100vw - 32px));display:grid;grid-template-columns:38px minmax(0,1fr) 34px;align-items:start;gap:12px;background:#FFFDFC;color:#10141F;border:1px solid rgba(174,31,31,.18);border-left:4px solid #B42318;border-radius:16px;padding:15px 14px 15px 14px;box-shadow:0 18px 52px rgba(16,20,31,.18);animation:shopToastIn .2s ease both}
.shop-checkout-toast[hidden]{display:none!important}
.shop-checkout-toast__icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#FCEBE9;color:#B42318;font:700 17px/1 'IBM Plex Mono',monospace}
.shop-checkout-toast__copy{display:flex;flex-direction:column;gap:3px;padding-top:1px}
.shop-checkout-toast__copy strong{font-size:13px;line-height:1.35}
.shop-checkout-toast__copy span{font-size:11.5px;line-height:1.5;color:#6A625B}
.shop-checkout-toast__close{appearance:none;border:0;background:transparent;color:#766F67;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
.shop-checkout-toast__close:hover{background:#F4EEE7;color:#10141F}
@keyframes shopToastIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:720px){.shop-checkout-toast{width:calc(100vw - 20px);grid-template-columns:34px minmax(0,1fr) 32px;padding:13px 11px;border-radius:14px}.shop-checkout-toast__icon{width:31px;height:31px}.shop-checkout-toast__copy strong{font-size:12.5px}.shop-checkout-toast__copy span{font-size:11px}}

/* Keep the large stage title deliberately visible after stage changes. */
.shop-checkout-hero{scroll-margin-top:120px}
#wc-stripe_applepay-checkout-button.shop-wallet-live-button.is-shop-disabled,
#wc-stripe_googlepay-checkout-button.shop-wallet-live-button.is-shop-disabled{opacity:.45!important;pointer-events:auto!important;filter:grayscale(.15)}

/* =========================================================
   SHOP PACKAGE v4.8 — one canonical customer/address form
   ========================================================= */
.shop-shipping-mirror-fields{display:none!important}
.shop-customer-all-fields #billing_email_field,
.shop-customer-all-fields #billing_phone_field,
.shop-customer-all-fields #billing_country_field,
.shop-customer-all-fields #billing_address_1_field,
.shop-customer-all-fields #billing_postcode_field,
.shop-customer-all-fields #billing_city_field{grid-column:1/-1!important}
.shop-customer-all-fields .select2-container{width:100%!important}
.shop-customer-all-fields .select2-container .select2-selection--single{
  min-height:43px!important;border:1px solid rgba(16,20,31,.12)!important;border-radius:10px!important;
  background:var(--co-paper)!important;display:flex!important;align-items:center!important;box-shadow:none!important
}
.shop-customer-all-fields .select2-container .select2-selection__rendered{
  padding:0 38px 0 13px!important;line-height:41px!important;font-size:13px!important;color:var(--co-ink)!important
}
.shop-customer-all-fields .select2-container .select2-selection__arrow{height:41px!important;right:8px!important}

.shop-payment-customer-summary{position:relative}
.shop-customer-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.shop-customer-summary-item{
  min-width:0;padding:13px 14px;border:1px solid rgba(16,20,31,.075);border-radius:12px;background:var(--co-paper,#FBF8F2)
}
.shop-customer-summary-item--wide{grid-column:1/-1}
.shop-customer-summary-item span{display:block;margin-bottom:4px;font:500 8.5px 'IBM Plex Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:#8a857b}
.shop-customer-summary-item strong{display:block;min-width:0;font-size:11.5px;line-height:1.5;font-weight:600;color:var(--co-ink);overflow-wrap:anywhere}
.shop-customer-summary-edit{
  appearance:none;border:0;background:transparent;padding:10px 0 0;margin:2px 0 0;color:#656fc9;font-size:11px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer
}
.shop-customer-summary-edit:hover{color:var(--co-ink)}

/* Courier no longer owns a conditional address expander in v4.8. */
.shop-courier-address-home,.shop-courier-address-expander{display:none!important}

@media(max-width:720px){
  .shop-customer-all-fields #billing_first_name_field,
  .shop-customer-all-fields #billing_last_name_field{grid-column:1!important}
  .shop-customer-summary-grid{grid-template-columns:1fr}
  .shop-customer-summary-item,.shop-customer-summary-item--wide{grid-column:1!important}
  .shop-customer-all-fields .select2-container .select2-selection__rendered{font-size:16px!important}
}


/* ============================================================
   SHOP PACKAGE v4.9 — native BLIK popout + mobile wallet/validation UX
   ============================================================ */

/* BLIK stays in the exact DOM node created by Payment Plugins. The Stripe
   iframe is never re-parented: only the existing payment_box is visually
   promoted to a modal. This preserves the gateway's code/state listeners. */
.shop-payment-host li.shop-gateway-blik.shop-blik-active{overflow:visible!important;z-index:10060!important}
.shop-payment-host li.shop-gateway-blik .payment_box.shop-blik-native-popout{
  display:block!important;position:fixed!important;z-index:10061!important;
  left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:min(480px,calc(100vw - 28px))!important;height:auto!important;max-height:calc(100dvh - 32px)!important;
  overflow:auto!important;opacity:1!important;pointer-events:auto!important;
  margin:0!important;padding:26px 24px 20px!important;background:#fff!important;color:#10141F!important;
  border:1px solid rgba(16,20,31,.08)!important;border-radius:22px!important;
  box-shadow:0 28px 80px rgba(16,20,31,.28)!important
}
.shop-payment-modal{position:fixed!important;inset:0!important;z-index:10050!important}
.shop-payment-modal__overlay{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;background:rgba(16,20,31,.34)!important;backdrop-filter:blur(3px)!important;cursor:default!important}
.shop-blik-native-head{position:relative;text-align:center;padding:0 38px 18px;border-bottom:1px solid rgba(16,20,31,.07);margin:0 0 18px}
.shop-blik-native-head .shop-blik-native-brand{display:flex;justify-content:center;margin-bottom:14px}
.shop-blik-native-head .shop-blik-option-logo{max-height:38px!important;max-width:150px!important;width:auto!important;margin:0!important}
.shop-blik-native-head h3{font-family:'Fraunces',serif!important;font-size:25px!important;font-weight:400!important;line-height:1.15!important;color:#10141F!important;margin:0 0 7px!important}
.shop-blik-native-head p{font-size:12px!important;color:#777169!important;margin:0!important}
.shop-blik-native-close{position:absolute;right:-8px;top:-8px;width:40px;height:40px;border:0;border-radius:50%;background:#F2EFE9;color:#10141F;font-size:26px;line-height:1;cursor:pointer}
.shop-blik-native-actions{display:flex;flex-direction:column;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(16,20,31,.07)}
.shop-blik-native-ghost{width:100%;min-height:46px;border:0;border-radius:999px;background:#F1EEE8;color:#10141F;font-size:13px;font-weight:700;cursor:pointer}
.shop-blik-native-foot{text-align:center;color:#8A8579;font-size:10.5px;margin-top:5px}
.shop-blik-native-popout [data-shop-blik-submit]:disabled{opacity:.42!important;cursor:not-allowed!important;pointer-events:none!important}
.shop-blik-native-popout iframe{max-width:100%!important}
body.shop-blik-modal-open{overflow:hidden!important}

/* A hidden attribute must win over the mobile CTA's display:flex rule. */
.shop-mobile-float__cta[hidden],.shop-mobile-main__cta[hidden]{display:none!important}

/* The real wallet button replaces the Kuangxiang CTA on mobile and desktop. */
#wc-stripe_applepay-checkout-button.shop-wallet-live-button,
#wc-stripe_googlepay-checkout-button.shop-wallet-live-button{
  border-radius:999px!important;overflow:hidden!important;background:#000!important;
  box-shadow:0 9px 24px rgba(16,20,31,.16)!important
}
#wc-stripe_applepay-checkout-button.shop-wallet-live-button>*,
#wc-stripe_googlepay-checkout-button.shop-wallet-live-button>*{
  max-width:100%!important;border-radius:999px!important;overflow:hidden!important
}
#wc-stripe_applepay-checkout-button.shop-wallet-live-button apple-pay-button{
  --apple-pay-button-border-radius:999px;width:100%!important;min-height:54px!important
}
.shop-mobile-wallet-host:not([hidden]){border-radius:999px!important;overflow:hidden!important}

/* Step 2 CTA is always clickable. Errors explain themselves next to the field
   and the page scrolls to the first thing the customer needs to correct. */
.shop-field-invalid input,.shop-field-invalid select,.shop-field-invalid textarea{
  border-color:#B42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.08)!important
}
.shop-field-error,.shop-shipping-error{margin-top:7px;color:#B42318;font-size:11px;line-height:1.45;font-weight:600}
.shop-section-has-error .shop-checkout-shipping-methods{outline:2px solid rgba(180,35,24,.12);outline-offset:7px;border-radius:12px}
.shop-summary-stage-cta:disabled,.shop-mobile-main__cta:disabled,.shop-mobile-float__cta:disabled{pointer-events:auto!important}

/* Non-field payment failures are short modal messages instead of WooCommerce
   notices jumping the page to the top. */
.shop-checkout-dialog[hidden]{display:none!important}
.shop-checkout-dialog{position:fixed;inset:0;z-index:11000;display:grid;place-items:center;padding:18px}
.shop-checkout-dialog__overlay{position:absolute;inset:0;background:rgba(16,20,31,.30);backdrop-filter:blur(3px)}
.shop-checkout-dialog__card{position:relative;z-index:1;width:min(390px,100%);background:#FFFDFC;border:1px solid rgba(16,20,31,.08);border-radius:20px;padding:25px 24px 21px;text-align:center;box-shadow:0 24px 70px rgba(16,20,31,.24)}
.shop-checkout-dialog__icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#FCEBE9;color:#B42318;font:700 18px/1 'IBM Plex Mono',monospace}
.shop-checkout-dialog__card h3{font-family:'Fraunces',serif;font-size:22px;font-weight:400;margin:0 0 8px;color:#10141F}
.shop-checkout-dialog__card p{font-size:12px;line-height:1.55;color:#6A655D;margin:0 0 18px}
.shop-checkout-dialog__card button{width:100%;min-height:46px;border:0;border-radius:999px;background:#10141F;color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;cursor:pointer}
body.shop-checkout-dialog-open{overflow:hidden!important}

@media(max-width:720px){
  .shop-payment-host li.shop-gateway-blik .payment_box.shop-blik-native-popout{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;padding:22px 17px 17px!important;border-radius:18px!important}
  .shop-blik-native-head{padding-inline:34px}.shop-blik-native-head h3{font-size:22px!important}
  .shop-checkout-dialog{padding:10px}.shop-checkout-dialog__card{border-radius:17px;padding:22px 18px 18px}
}


/* ============================================================
   SHOP PACKAGE v5.0 — wallet alignment + gateway-owned BLIK validation
   ============================================================ */
/* Wallet hosts occupy exactly the same horizontal lane as the normal CTA. */
.shop-summary-wallet-host,
.shop-mobile-wallet-host{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
}
.shop-summary-wallet-host:not([hidden]){
  display:flex!important;
  margin:18px 0 0!important;
}
.shop-mobile-wallet-host:not([hidden]){
  display:flex!important;
  margin:25px 0 0!important;
}
.shop-summary-wallet-host[hidden],
.shop-mobile-wallet-host[hidden]{display:none!important}

/* Payment Plugins 4.x checkout button containers. Normalize their own
   margins/widths after moving them into the Kuangxiang summary host. */
#wc-stripe_applepay-checkout-button.shop-wallet-live-button,
#wc-stripe_googlepay-checkout-button.shop-wallet-live-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:56px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:#000!important;
}
#wc-stripe_applepay-checkout-button.shop-wallet-live-button > *,
#wc-stripe_googlepay-checkout-button.shop-wallet-live-button > *{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
#wc-stripe_applepay-checkout-button.shop-wallet-live-button apple-pay-button,
#wc-stripe_googlepay-checkout-button.shop-wallet-live-button button,
#wc-stripe_googlepay-checkout-button.shop-wallet-live-button [role="button"],
#wc-stripe_googlepay-checkout-button.shop-wallet-live-button .gpay-card-info-container{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:56px!important;
  margin:0!important;
  border-radius:999px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#wc-stripe_applepay-checkout-button.shop-wallet-live-button apple-pay-button{
  --apple-pay-button-border-radius:999px;
  --apple-pay-button-height:56px;
  height:56px!important;
}

/* BLIK CTA is intentionally always clickable. The secure Stripe element,
   not theme JS, decides whether a BLIK code can be submitted. */
.shop-blik-native-popout [data-shop-blik-submit],
.shop-blik-native-popout [data-shop-blik-submit]:disabled{
  opacity:1!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}

@media(max-width:720px){
  .shop-mobile-wallet-host:not([hidden]){margin-top:25px!important}
  .shop-mobile-float .shop-mobile-wallet-host:not([hidden]){margin-top:15px!important}
  #wc-stripe_applepay-checkout-button.shop-wallet-live-button,
  #wc-stripe_googlepay-checkout-button.shop-wallet-live-button,
  #wc-stripe_applepay-checkout-button.shop-wallet-live-button apple-pay-button,
  #wc-stripe_googlepay-checkout-button.shop-wallet-live-button button,
  #wc-stripe_googlepay-checkout-button.shop-wallet-live-button [role="button"],
  #wc-stripe_googlepay-checkout-button.shop-wallet-live-button .gpay-card-info-container{
    min-height:57px!important;
  }
}


/* SHOP v5.3 — cart updates without full-page reload. */
.shop-cart-form .shop-cart-list{transition:opacity .18s ease}
.shop-cart-form.is-updating .shop-cart-list{opacity:.55;pointer-events:none}
.shop-cart-form.is-updating .shop-remove-link,
.shop-cart-form.is-updating [data-shop-qty-minus],
.shop-cart-form.is-updating [data-shop-qty-plus]{cursor:wait!important}


/* ============================================================
   SHOP PACKAGE v5.5 — hard wallet validation gate
   ============================================================ */
#wc-stripe_applepay-checkout-button.shop-wallet-live-button,
#wc-stripe_googlepay-checkout-button.shop-wallet-live-button{
  position:relative!important;
}
.shop-wallet-validation-guard{
  position:absolute!important;
  inset:0!important;
  z-index:60!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.shop-wallet-validation-guard[hidden]{display:none!important}
#wc-stripe_applepay-checkout-button.shop-wallet-live-button.shop-wallet-validation-pending,
#wc-stripe_googlepay-checkout-button.shop-wallet-live-button.shop-wallet-validation-pending{
  opacity:.55!important;
}


/* ============================================================
   SHOP PACKAGE v5.7 — stable BLIK popup + hard step-2 validation
   ============================================================ */

/* Step 2 is a real gate again: the CTA is visibly unavailable until all
   required customer data, shipping method and (for InPost) parcel locker are valid. */
.shop-summary-stage-cta:disabled,
.shop-mobile-main__cta:disabled,
.shop-mobile-float__cta:disabled,
[data-shop-next-payment]:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
  transform:none!important;
  pointer-events:none!important;
}

/* BLIK uses the proven gateway-owned submit flow. The Stripe Payment Element
   remains the source of truth for code validation, so the theme never leaves a
   valid code trapped behind a stale disabled state. */
.shop-blik-native-popout [data-shop-blik-submit],
.shop-blik-native-popout [data-shop-blik-submit]:disabled{
  opacity:1!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}

/* Mobile BLIK popup: pin it inside the actual visual viewport instead of
   centering a tall box with translateY(-50%), which could put part of the
   dialog above/below the phone viewport as browser chrome or keyboard changed. */
@media(max-width:720px){
  .shop-payment-host li.shop-gateway-blik .payment_box.shop-blik-native-popout{
    top:calc(env(safe-area-inset-top, 0px) + 10px)!important;
    right:10px!important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 10px)!important;
    left:10px!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:20px 16px 16px!important;
    transform:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .shop-blik-native-head{
    padding:0 34px 15px!important;
    margin-bottom:15px!important;
  }
  .shop-blik-native-head h3{font-size:21px!important}
  .shop-blik-native-actions{margin-top:15px!important;padding-top:15px!important}
}


/* SHOP v5.8 — dedicated empty-cart state. */
.shop-cart-empty-page{min-height:clamp(430px,62vh,720px);display:grid;place-items:center;padding-top:26px!important;padding-bottom:70px!important}
.shop-cart-empty-card{width:min(100%,760px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:72px 24px}
.shop-cart-empty-card h1{margin:0 0 28px;font:400 clamp(42px,5vw,68px)/1.02 'Fraunces',serif;letter-spacing:-.035em;color:var(--co-ink)}
.shop-cart-empty-back{min-width:150px;min-height:52px;padding:0 28px;border:0;border-radius:999px;background:linear-gradient(100deg,#151C38,#2436C9);color:#fff;font:700 11px/1 'Manrope',sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 24px rgba(36,54,201,.13);transition:transform .16s ease,box-shadow .16s ease}
.shop-cart-empty-back:hover{transform:translateY(-1px);box-shadow:0 11px 28px rgba(36,54,201,.18)}
.shop-cart-empty-back:focus-visible{outline:3px solid rgba(36,54,201,.2);outline-offset:4px}
@media (max-width:720px){.shop-cart-empty-page{min-height:54vh;padding-top:8px!important;padding-bottom:44px!important}.shop-cart-empty-card{padding:48px 12px}.shop-cart-empty-card h1{margin-bottom:24px;font-size:clamp(38px,12vw,52px)}.shop-cart-empty-back{min-width:142px}}


/* ============================================================
   SHOP PACKAGE v5.11 — mobile-only InPost refresh + true BLIK modal
   Desktop behavior intentionally unchanged.
   ============================================================ */
@media(max-width:720px){
  /* BLIK is a real modal in the phone's current visual viewport. */
  body.shop-blik-modal-open.shop-blik-mobile-locked{
    position:fixed!important;
    top:var(--shop-blik-mobile-lock-top,0)!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    width:100%!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  body.shop-blik-modal-open .shop-payment-modal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    pointer-events:auto!important;
    touch-action:none!important;
  }
  body.shop-blik-modal-open .shop-payment-modal__overlay{
    position:absolute!important;
    inset:0!important;
    background:rgba(16,20,31,.46)!important;
    backdrop-filter:blur(4px)!important;
    -webkit-backdrop-filter:blur(4px)!important;
    pointer-events:auto!important;
    touch-action:none!important;
  }
  .shop-payment-host li.shop-gateway-blik .payment_box.shop-blik-native-popout{
    position:fixed!important;
    z-index:10061!important;
    top:var(--shop-blik-mobile-center-y,50dvh)!important;
    right:auto!important;
    bottom:auto!important;
    left:50%!important;
    width:calc(100vw - 24px)!important;
    max-width:480px!important;
    height:auto!important;
    max-height:var(--shop-blik-mobile-max-height,calc(100dvh - 24px))!important;
    margin:0!important;
    padding:20px 16px 16px!important;
    transform:translate(-50%,-50%)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y!important;
  }
}


/* ============================================================
   SHOP PACKAGE v5.13 — mobile notes stability + BLIK inline error
   ============================================================ */
.shop-blik-native-error{
  margin:14px 0 0!important;
  padding:11px 13px!important;
  border:1px solid rgba(180,35,24,.18)!important;
  border-radius:10px!important;
  background:#FCEBE9!important;
  color:#B42318!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.45!important;
  text-align:center!important;
}

@media(max-width:720px){
  /* iOS zooms form controls below 16px on focus; the zoom is what made the
     order-notes screen pannable left/right. Keep the field at native scale
     and hard-limit it to the checkout column. */
  .shop-order-notes,
  .shop-order-notes .shop-wc-field-grid,
  .shop-order-notes #order_comments_field,
  .shop-order-notes .woocommerce-input-wrapper{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }
  .shop-order-notes #order_comments,
  .shop-order-notes textarea{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    font-size:16px!important;
    line-height:1.45!important;
    overflow-x:hidden!important;
    touch-action:pan-y!important;
  }
  body.shop-blik-modal-open .shop-blik-native-error{font-size:12px!important}
}
