/* Print Desk Commerce — shop / cart / checkout / account / utility pages */

:root{
  --commerce-radius: clamp(14px, 2vw, 22px);
  --commerce-gap: clamp(12px, 2vw, 22px);
  --commerce-sticky-h: 72px;
}

/* ——— Price ink (AA) — override washed cyan on loops ——— */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.product-card .product-price,
.product-price{
  color:var(--midnight, #0A1220)!important;
  font-variant-numeric:tabular-nums;
}

/* ——— Shop stage ——— */
body.woocommerce-shop .vento-woo,
body.tax-product_cat .vento-woo,
body.tax-product_tag .vento-woo,
body.post-type-archive-product .vento-woo{
  padding-block:clamp(18px, 3vw, 36px) clamp(40px, 6vw, 72px);
  background:
    radial-gradient(900px 420px at 100% 0%, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 60%),
    linear-gradient(180deg, var(--cream, #F3F6F8) 0%, var(--soft-white, #fff) 48%, var(--cream, #F3F6F8) 100%);
}

.shop-layout{
  display:grid;
  gap:var(--commerce-gap);
  align-items:start;
}
.shop-layout.has-sidebar{
  grid-template-columns:minmax(220px, 260px) minmax(0, 1fr);
}
.shop-sidebar-card{
  background:var(--soft-white, #fff);
  border-radius:var(--commerce-radius);
  padding:16px;
  box-shadow:0 18px 40px rgba(6,16,31,.06);
}
.shop-sidebar-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;padding-bottom:10px;
  border-bottom:1px solid rgba(8,20,38,.08);
}
.shop-sidebar-head strong{font-size:14px;font-weight:900;color:var(--midnight)}
/* Filter drawer visuals live in theme-polish.css — avoid conflicting transforms here */
.shop-filter-slot{display:contents}

/* Product cards — quieter elevation */
.woocommerce ul.products li.product{
  border:0!important;
  background:var(--soft-white)!important;
  box-shadow:0 10px 28px rgba(6,16,31,.06);
  border-radius:var(--commerce-radius)!important;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 44px rgba(6,16,31,.12);
}
@media(prefers-reduced-motion:reduce){
  .woocommerce ul.products li.product{transition:none}
  .woocommerce ul.products li.product:hover{transform:none}
}

/* ——— Cart / Checkout shell ——— */
body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-account #content{
  background:
    radial-gradient(700px 320px at 0% 0%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 55%),
    var(--cream, #F3F6F8);
  padding-bottom:clamp(48px, 8vw, 96px);
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box;
}
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce{
  width:100%!important;
  max-width:min(1100px,100%)!important;
  margin-inline:auto!important;
  padding-inline:clamp(12px,3vw,24px)!important;
  box-sizing:border-box;
}
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals{
  width:100%!important;
  max-width:100%!important;
  float:none!important;
  margin:0!important;
}

body.woocommerce-cart .page-hero,
body.woocommerce-checkout .page-hero,
body.woocommerce-account .page-hero{
  padding-block:clamp(28px, 4vw, 48px) 8px;
  background:transparent;
}
body.woocommerce-cart .page-hero h1,
body.woocommerce-checkout .page-hero h1,
body.woocommerce-account .page-hero h1{
  font-size:clamp(1.75rem, 4vw, 2.75rem);
  letter-spacing:-.04em;font-weight:950;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  border-radius:0!important;
}

/* Progress — checkout */
.vento-checkout-steps{
  display:flex;gap:6px;flex-wrap:nowrap;margin:0 0 16px;padding:0;list-style:none;
}
.vento-checkout-steps li{
  flex:1;min-width:0;text-align:center;
  padding:10px 8px;border-radius:12px;font-size:11.5px;font-weight:900;
  background:rgba(255,255,255,.78);color:var(--muted);
  border:1px solid rgba(8,20,38,.06);
}
.vento-checkout-steps li.is-done{color:var(--cyan,#196f93);border-color:rgba(25,111,147,.2)}
.vento-checkout-steps li.is-active{
  background:var(--cyan,#196f93);color:#fff;border-color:transparent;
  box-shadow:0 10px 24px rgba(25,111,147,.22);
}
.vento-ir-country-hidden{display:none!important}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row{
  margin-bottom:12px!important;
}
body.woocommerce-checkout #billing_city_field select,
body.woocommerce-checkout #billing_state_field select{
  width:100%;min-height:48px;border-radius:14px!important;
}

/* Cart grid */
@media(min-width:901px){
  body.woocommerce-cart .woocommerce{
    display:grid;
    grid-template-columns:minmax(0, 1.45fr) minmax(280px, .7fr);
    gap:var(--commerce-gap);
    align-items:start;
  }
  body.woocommerce-cart .woocommerce-cart-form{grid-column:1}
  body.woocommerce-cart .cart-collaterals{grid-column:2;position:sticky;top:96px}
}
.woocommerce table.shop_table{
  background:#fff;border:0!important;
  box-shadow:0 16px 40px rgba(6,16,31,.07);
  border-radius:var(--commerce-radius)!important;
}
.woocommerce .cart-collaterals .cart_totals{
  background:#fff!important;
  border:0!important;
  border-radius:20px!important;
  padding:18px 16px!important;
  box-shadow:0 12px 32px rgba(6,16,31,.07);
}
.woocommerce .cart-collaterals .cart_totals h2{
  font-size:1.05rem!important;margin:0 0 12px!important;font-weight:950!important;
  color:var(--cyan,#196f93)!important;
}
.woocommerce .cart-collaterals .cart_totals .shop_table{
  box-shadow:none!important;border-radius:12px!important;margin:0 0 12px!important;
}
.woocommerce .cart-collaterals .cart_totals .shop_table th,
.woocommerce .cart-collaterals .cart_totals .shop_table td{
  padding:10px 12px!important;font-size:13px!important;
}
.woocommerce .cart-collaterals .cart_totals .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width:100%!important;text-align:center;min-height:48px!important;
  border-radius:999px!important;font-size:14px!important;font-weight:900!important;
  background:var(--cyan,#196f93)!important;color:#fff!important;
  box-shadow:0 10px 24px rgba(25,111,147,.25)!important;
}

/* Mobile cart as cards */
@media(max-width:720px){
  body.woocommerce-cart table.shop_table_responsive tr{
    display:block;margin:0 0 12px;padding:14px;
    background:#fff;border-radius:16px;
    box-shadow:0 10px 28px rgba(6,16,31,.06);
  }
  body.woocommerce-cart table.shop_table_responsive thead{display:none}
  body.woocommerce-cart .cart-collaterals{
    position:sticky;bottom:calc(var(--mobile-bar-h, 64px) + 8px);z-index:18;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals{
    box-shadow:0 -8px 32px rgba(6,16,31,.12)!important;
  }
}

/* Checkout two-column: details | review */
@media(min-width:901px){
  body.woocommerce-checkout .col2-set{
    display:block;
  }
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review{
    background:#fff;border-radius:var(--commerce-radius);
    box-shadow:0 16px 40px rgba(6,16,31,.07);
  }
  body.woocommerce-checkout #order_review_heading{margin:0;padding:18px 20px 0}
  body.woocommerce-checkout #order_review{padding:12px 20px 20px}
}
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-shipping-fields{
  background:#fff;border-radius:var(--commerce-radius);
  padding:20px;margin-bottom:16px;
  box-shadow:0 16px 40px rgba(6,16,31,.06);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  min-height:48px;border-radius:14px!important;
  font-size:16px; /* iOS zoom guard */
}
#place_order{
  width:100%;min-height:54px!important;border-radius:999px!important;
  font-size:16px!important;font-weight:900!important;
}
@media(max-width:720px){
  body.woocommerce-checkout #place_order{
    position:sticky;bottom:calc(var(--mobile-bar-h, 64px) + 8px);z-index:18;
    box-shadow:0 12px 30px rgba(6,16,31,.25);
  }
}

/* Trust strip near payment */
.vento-commerce-trust{
  display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0;
  font-size:12px;font-weight:800;color:var(--muted);
}
.vento-commerce-trust span{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 12px;border-radius:999px;background:rgba(8,20,38,.05);
  color:var(--midnight);
}

/* Account */
@media(min-width:901px){
  .woocommerce-account .woocommerce{
    display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--commerce-gap);align-items:start;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation{margin:0;position:sticky;top:96px}
}
.woocommerce-account .woocommerce-MyAccount-content{
  box-shadow:0 16px 40px rgba(6,16,31,.06);border:0!important;
}

/* Thank you */
.woocommerce-order{background:#fff;border-radius:var(--commerce-radius);padding:clamp(20px,3vw,32px);box-shadow:0 16px 40px rgba(6,16,31,.07)}
.woocommerce-order .woocommerce-thankyou-order-received{font-size:clamp(1.2rem, 2.5vw, 1.6rem);font-weight:950;color:var(--midnight)}

/* Search / 404 / empty */
.search-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.vento-empty-state{
  text-align:center;padding:clamp(40px,8vw,80px) 16px;
  background:#fff;border-radius:var(--commerce-radius);
  box-shadow:0 16px 40px rgba(6,16,31,.06);
}
.vento-empty-state h1{margin:8px 0 12px;font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:-.04em}
.vento-empty-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}
.vento-empty-actions .btn{min-height:48px;min-width:140px}

/* Generic pages */
.page-content .entry-content{
  max-width:72ch;
}
.page-content .entry-content > *:first-child{margin-top:0}
body.page .page-hero{
  background:
    radial-gradient(600px 240px at 80% 0%, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 60%),
    var(--cream);
}

/* Hub body lock */
body.vento-hub-lock{overflow:hidden}

/* ——— Empty cart (Print Desk) ——— */
.vento-cart-empty{
  display:grid;place-items:center;
  min-height:min(62vh, 520px);
  padding:clamp(24px,4vw,48px) 12px;
}
.vento-cart-empty__card{
  width:min(440px,100%);
  text-align:center;
  background:var(--soft-white,#fff);
  border-radius:clamp(20px,3vw,28px);
  padding:clamp(28px,4vw,44px) clamp(20px,3vw,32px);
  box-shadow:0 22px 56px rgba(6,16,31,.1);
}
.vento-cart-empty__icon{
  width:64px;height:64px;margin:0 auto 16px;border-radius:20px;
  display:grid;place-items:center;
  background:linear-gradient(160deg, rgba(0,168,193,.14), rgba(6,16,31,.06));
  color:var(--midnight);
}
.vento-cart-empty__icon .vento-icon,.vento-cart-empty__icon svg{width:30px;height:30px}
.vento-cart-empty__title{
  margin:0 0 10px;font-size:clamp(1.35rem,3.2vw,1.75rem);font-weight:950;
  letter-spacing:-.035em;color:var(--midnight);
}
.vento-cart-empty__copy{
  margin:0 auto 22px;max-width:34ch;font-size:15px;line-height:1.65;color:var(--muted,#546074);
}
.vento-cart-empty__actions{
  display:flex;flex-direction:column;gap:10px;
}
.vento-cart-empty__actions .button,
.vento-cart-empty__actions .btn{
  width:100%;min-height:50px;border-radius:999px!important;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:900;text-decoration:none;
}
body.woocommerce-cart .return-to-shop{display:none!important}
body.woocommerce-cart .cart-empty,
body.woocommerce-cart .wc-empty-cart-message{display:none!important}

/* ——— Bank card + receipt (checkout) ——— */
.vento-bank-panel{
  display:block!important;
  visibility:visible!important;
  width:100%;
  max-width:100%;
  margin:0 0 20px;
  padding:18px 16px 16px;
  border-radius:var(--commerce-radius, 20px);
  background:#fff;
  box-shadow:0 16px 40px rgba(6,16,31,.08);
  box-sizing:border-box;
}
.vento-bank-panel__head{margin:0 0 14px}
.vento-bank-panel__kicker{
  display:inline-block;font-size:11px;font-weight:900;letter-spacing:.08em;
  text-transform:uppercase;color:var(--cyan,#00A8C1);margin-bottom:6px;
}
.vento-bank-panel__title{
  margin:0 0 6px;font-size:clamp(1.1rem,3vw,1.35rem);font-weight:950;
  letter-spacing:-.03em;color:var(--midnight,#06101F);
}
.vento-bank-panel__lead{
  margin:0;font-size:14px;line-height:1.65;color:var(--muted,#546074);
}
.vento-pay-desc,.vento-pay-hint{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 10px}
.vento-bank-card{
  --bank-a:#0A1830;--bank-b:#00A8C1;
  position:relative;
  border-radius:22px;
  padding:20px 20px 16px;
  margin:0 0 16px;
  color:#fff;
  /* Solid fallback first — color-mix can fail on older mobile browsers */
  background:linear-gradient(135deg, var(--bank-a) 0%, #12304f 55%, var(--bank-b) 140%);
  background:
    radial-gradient(420px 180px at 100% 0%, rgba(0,168,193,.45), transparent 60%),
    linear-gradient(135deg, var(--bank-a) 0%, #12304f 55%, var(--bank-b) 140%);
  box-shadow:0 20px 44px rgba(6,16,31,.22);
  overflow:hidden;
  display:block!important;
  visibility:visible!important;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.vento-bank-card::after{
  content:"";position:absolute;inset:auto -20% -40% auto;width:180px;height:180px;
  border-radius:50%;border:1px solid rgba(255,255,255,.12);pointer-events:none;
}
.vento-bank-card__top{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;
}
.vento-bank-card__bank{font-size:12px;font-weight:900;letter-spacing:.06em;opacity:.9}
.vento-bank-card__chip{
  width:42px;height:30px;border-radius:8px;
  background:linear-gradient(135deg,#e8d5a3,#c9a85c 45%,#f0e2b8);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.vento-bank-card__number{
  font-size:clamp(1.15rem,3.5vw,1.45rem);font-weight:800;
  letter-spacing:.12em;font-variant-numeric:tabular-nums;
  margin-bottom:18px;direction:ltr;text-align:left;
}
.vento-bank-card__bottom{
  display:flex;flex-wrap:wrap;gap:14px 24px;margin-bottom:14px;
}
.vento-bank-card__bottom small{
  display:block;font-size:10px;opacity:.7;margin-bottom:2px;letter-spacing:.04em;
}
.vento-bank-card__bottom strong{font-size:13px;font-weight:800}
.vento-bank-card__sheba{direction:ltr;display:inline-block;letter-spacing:.04em}
.vento-bank-card__copy{
  width:100%;min-height:44px;border:0;border-radius:999px;cursor:pointer;
  background:rgba(255,255,255,.14);color:#fff;font:inherit;font-size:13px;font-weight:900;
  backdrop-filter:blur(6px);transition:background .2s, transform .15s;
}
.vento-bank-card__copy:hover{background:rgba(255,255,255,.24)}
.vento-bank-card__copy:active{transform:scale(.98)}
.vento-bank-card__copy:focus-visible{outline:2px solid #fff;outline-offset:2px}

.vento-receipt-upload{
  margin:0 0 8px;padding:14px 16px;border-radius:16px;
  background:rgba(8,20,38,.04);
}
.vento-receipt-label{display:grid;gap:4px;margin-bottom:10px}
.vento-receipt-label strong{font-size:14px;color:var(--midnight)}
.vento-receipt-label span{font-size:12px;color:var(--muted)}
.vento-receipt-upload input[type="file"]{
  width:100%;font-size:14px;padding:10px;
  border:1px dashed rgba(8,20,38,.2);border-radius:12px;background:#fff;
}
.vento-pay-approved{
  margin:8px 0 12px;padding:16px 18px;border-radius:16px;
  background:linear-gradient(135deg,rgba(0,194,168,.12),rgba(0,168,193,.08));
  border:1px solid rgba(0,194,168,.28);
}
.vento-pay-approved__title{margin:0 0 6px;font-size:1.05rem;font-weight:950;color:#0b6b5c}
.vento-pay-approved__copy{margin:0;font-size:14px;line-height:1.7;color:#334}
.vento-thankyou-receipt,
.vento-pay-status{
  margin:18px 0 0;padding:18px 20px;border-radius:18px;
  background:rgba(0,168,193,.08);
}
.vento-pay-status--rejected{background:rgba(179,45,46,.08)}
.vento-pay-status--approved{background:rgba(15,107,76,.1)}
.vento-thankyou-receipt h3,.vento-pay-status h3{margin:0 0 8px;font-size:1.1rem;font-weight:950}
.vento-thankyou-receipt p,.vento-pay-status p{margin:0 0 10px;font-size:14px;color:var(--muted)}
.vento-reupload-form{display:grid;gap:10px;margin-top:12px}
.vento-reupload-form input[type="file"]{font-size:16px;max-width:100%}
.vento-bank-panel__amount{display:inline-block;margin-inline-start:6px;color:var(--midnight)}

/* Filled cart polish — clearer hierarchy + touch-friendly */
body.woocommerce-cart .woocommerce-cart-form{
  background:#fff;
  border-radius:var(--commerce-radius);
  padding:clamp(14px,2.5vw,22px);
  box-shadow:0 16px 40px rgba(6,16,31,.07);
  box-sizing:border-box;
}
body.woocommerce-cart table.shop_table{
  margin:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.woocommerce-cart table.shop_table th{
  font-size:12px!important;font-weight:800!important;
  color:var(--muted,#5a6a7a)!important;
  border-bottom:1px solid rgba(8,20,38,.08)!important;
  padding:10px 12px!important;
}
body.woocommerce-cart table.shop_table td{
  padding:14px 12px!important;
  vertical-align:middle!important;
  border-bottom:1px solid rgba(8,20,38,.06)!important;
}
body.woocommerce-cart .product-thumbnail{
  width:96px!important;
  min-width:96px!important;
  max-width:110px!important;
  vertical-align:middle!important;
}
body.woocommerce-cart .product-thumbnail img,
body.woocommerce-cart .product-thumbnail a{
  display:block;
  width:88px!important;
  height:88px!important;
  max-width:88px!important;
  border-radius:14px;
  object-fit:contain;
  background:#f4f6f8;
}
body.woocommerce-cart .product-thumbnail a{
  overflow:hidden;
  box-shadow:0 6px 16px rgba(6,16,31,.08);
}
body.woocommerce-cart table.shop_table{
  table-layout:auto!important;
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
body.woocommerce-cart table.shop_table th.product-remove,
body.woocommerce-cart table.shop_table td.product-remove{width:52px!important}
body.woocommerce-cart table.shop_table th.product-thumbnail,
body.woocommerce-cart table.shop_table td.product-thumbnail{width:110px!important}
body.woocommerce-cart table.shop_table th.product-quantity,
body.woocommerce-cart table.shop_table td.product-quantity{width:120px!important}
body.woocommerce-cart table.shop_table th.product-price,
body.woocommerce-cart table.shop_table td.product-price,
body.woocommerce-cart table.shop_table th.product-subtotal,
body.woocommerce-cart table.shop_table td.product-subtotal{width:140px!important;white-space:nowrap}
body.woocommerce-cart .product-name a{
  font-weight:850;font-size:15px;color:var(--midnight);text-decoration:none;
  line-height:1.45;
}
body.woocommerce-cart .product-name a:hover{color:var(--cyan,#196f93)}
body.woocommerce-cart .product-price,
body.woocommerce-cart .product-subtotal{
  font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap;
}
body.woocommerce-cart .product-remove a{
  width:40px;height:40px;border-radius:12px;display:inline-grid;place-items:center;
  background:rgba(179,45,46,.08);color:#b32d2e!important;font-size:18px;line-height:1;
  transition:background .2s ease, transform .15s ease;
}
body.woocommerce-cart .product-remove a:hover{
  background:rgba(179,45,46,.16);transform:scale(1.04);
}
body.woocommerce-cart .quantity .qty,
body.woocommerce-cart input.qty{
  min-width:52px;min-height:44px;border-radius:12px!important;
  border:1px solid rgba(8,20,38,.12)!important;
  text-align:center;font-weight:800;font-size:15px;
}
body.woocommerce-cart .actions{
  display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;
  margin-top:14px;padding-top:14px;
  border-top:1px solid rgba(8,20,38,.06);
}
body.woocommerce-cart .coupon{
  display:flex;flex:1 1 240px;gap:8px;align-items:stretch;margin:0!important;
}
body.woocommerce-cart .coupon label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
body.woocommerce-cart .coupon input#coupon_code{
  flex:1;min-width:0;min-height:46px;border-radius:14px!important;
  border:1px solid rgba(8,20,38,.12)!important;padding:0 14px;font-size:14px;
}
body.woocommerce-cart .coupon .button,
body.woocommerce-cart button[name="apply_coupon"]{
  min-height:46px!important;border-radius:14px!important;padding:0 16px!important;
  font-weight:900!important;font-size:13px!important;white-space:nowrap;
  background:var(--midnight,#0A1220)!important;color:#fff!important;border:0!important;
}
body.woocommerce-cart button[name="update_cart"]{
  min-height:46px!important;border-radius:14px!important;padding:0 16px!important;
  font-weight:800!important;font-size:13px!important;
  background:#e8eef2!important;color:var(--midnight)!important;border:0!important;
}
body.woocommerce-cart .cart-collaterals .cart_totals{
  padding:20px 18px!important;border-radius:20px!important;
}
body.woocommerce-cart .cart-collaterals .cart_totals h2{
  font-size:1.15rem!important;letter-spacing:-.02em;
}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td{
  font-size:1.05rem!important;font-weight:950!important;color:var(--midnight)!important;
}
body.woocommerce-cart .wc-proceed-to-checkout{
  margin-top:8px;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  border-radius:16px!important;min-height:52px!important;
  display:flex!important;align-items:center;justify-content:center;
  letter-spacing:-.01em;
}
body.woocommerce-cart .vento-commerce-trust{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;
}
body.woocommerce-cart .vento-commerce-trust span{
  flex:1 1 30%;min-width:90px;text-align:center;
  padding:10px 8px;border-radius:12px;font-size:11px;font-weight:800;
  background:rgba(25,111,147,.07);color:var(--midnight);
}
@media(min-width:901px){
  body.woocommerce-checkout form.checkout{
    display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:var(--commerce-gap);align-items:start;
  }
  body.woocommerce-checkout #customer_details{grid-column:1;min-width:0}
  body.woocommerce-checkout .vento-bank-panel{grid-column:1}
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review{grid-column:2;min-width:0}
  body.woocommerce-checkout #order_review_heading{position:sticky;top:88px}
  body.woocommerce-checkout #order_review{position:sticky;top:140px}
}

/* ——— Mobile / tablet: shop + cart + checkout ——— */
@media(max-width:900px){
  body.woocommerce-cart #content,
  body.woocommerce-checkout #content{
    padding-inline:0;
    padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));
  }
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce{
    padding:0!important;
    max-width:100%;
    overflow:visible!important;
  }
  body.woocommerce-checkout form.checkout{
    display:block!important;
    width:100%;
    max-width:100%;
  }
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout .vento-bank-panel{
    width:100%!important;
    max-width:100%!important;
    grid-column:auto!important;
    position:static!important;
  }
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout #order_review{
    padding:16px!important;
    margin-bottom:14px;
    box-sizing:border-box;
    background:#fff;
    border-radius:18px;
    box-shadow:0 12px 32px rgba(6,16,31,.06);
  }
  body.woocommerce-checkout .form-row{
    margin:0 0 12px!important;
  }
  body.woocommerce-checkout .form-row label{
    font-size:13px!important;font-weight:800!important;margin-bottom:6px!important;
  }
  body.woocommerce-checkout .form-row input.input-text,
  body.woocommerce-checkout .form-row select,
  body.woocommerce-checkout .form-row textarea{
    min-height:48px!important;border-radius:14px!important;font-size:16px!important;
    border:1px solid rgba(8,20,38,.12)!important;padding:10px 14px!important;
  }
  body.woocommerce-checkout #order_review table.shop_table{
    box-shadow:none!important;background:transparent!important;margin:0!important;
  }
  body.woocommerce-checkout #order_review .product-name,
  body.woocommerce-checkout #order_review .product-total{
    font-size:13px!important;line-height:1.45;
  }
  body.woocommerce-checkout #order_review_heading{
    margin:0 0 8px!important;
    padding:4px 4px 0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .vento-checkout-steps{gap:6px;margin-bottom:16px}
  .vento-checkout-steps li{min-width:0;flex:1;padding:10px 6px;font-size:11px}

  .vento-bank-panel{
    margin:0 0 16px;
    padding:16px 14px;
  }
  .vento-bank-card{
    padding:16px 14px 14px;
    border-radius:18px;
  }
  .vento-bank-card__number{
    font-size:clamp(1rem,4.6vw,1.25rem);
    letter-spacing:.1em;
    word-break:break-all;
  }
  .vento-receipt-upload{
    padding:12px;
  }
  .vento-receipt-upload input[type="file"]{
    font-size:16px; /* iOS zoom guard */
    max-width:100%;
  }

  /* Force payment UI readable */
  .woocommerce-checkout #payment{
    background:#fff!important;
    border-radius:18px!important;
    padding:12px!important;
    overflow:visible!important;
  }
  .woocommerce-checkout #payment ul.payment_methods{
    padding:0!important;margin:0 0 12px!important;
    border:0!important;
  }
  .woocommerce-checkout #payment ul.payment_methods li{
    padding:10px 0!important;
  }
  .woocommerce-checkout #payment div.payment_box{
    width:100%;
    max-width:100%;
    padding:12px!important;
    margin:8px 0 0!important;
    background:rgba(8,20,38,.04)!important;
    border-radius:14px!important;
    box-sizing:border-box;
    overflow:visible!important;
  }
  .woocommerce-checkout #payment li.wc_payment_method > input[type=radio]:checked + label + .payment_box,
  .woocommerce-checkout #payment li.wc_payment_method > input[type=radio]:checked + .payment_box{
    display:block!important;
  }
  .woocommerce-checkout #payment div.payment_box:before{display:none!important}

  body.woocommerce-checkout #place_order{
    position:sticky;
    bottom:calc(var(--mobile-bar-h, 64px) + 10px);
    z-index:40;
    margin-top:12px!important;
  }

  /* Cart: product cards (thumbnail + name grid) — no smashed table */
  body.woocommerce-cart .woocommerce{
    display:block!important;
  }
  body.woocommerce-cart .woocommerce-cart-form{
    padding:12px!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.woocommerce-cart table.shop_table,
  body.woocommerce-cart table.shop_table_responsive{
    display:block!important;
    width:100%!important;
    overflow:visible!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  body.woocommerce-cart table.shop_table thead{display:none!important}
  body.woocommerce-cart table.shop_table tbody{display:block!important;width:100%!important}
  body.woocommerce-cart table.shop_table tr.cart_item{
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr) auto;
    grid-template-areas:
      "thumb name remove"
      "thumb meta meta"
      "price qty sub";
    gap:8px 12px;
    align-items:center;
    width:100%!important;
    margin:0 0 12px;
    padding:14px;
    background:#fff;
    border-radius:18px;
    box-shadow:0 10px 28px rgba(6,16,31,.07);
    box-sizing:border-box;
  }
  body.woocommerce-cart table.shop_table tr.cart_item td{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    text-align:right!important;
  }
  body.woocommerce-cart table.shop_table tr.cart_item td::before{display:none!important;content:none!important}
  body.woocommerce-cart table.shop_table td.product-thumbnail{grid-area:thumb}
  body.woocommerce-cart table.shop_table td.product-name{grid-area:name}
  body.woocommerce-cart table.shop_table td.product-remove{grid-area:remove;justify-self:end}
  body.woocommerce-cart table.shop_table td.product-price{grid-area:price;font-size:13px}
  body.woocommerce-cart table.shop_table td.product-quantity{grid-area:qty}
  body.woocommerce-cart table.shop_table td.product-subtotal{grid-area:sub;font-weight:950;justify-self:end}
  body.woocommerce-cart table.shop_table td.product-thumbnail,
  body.woocommerce-cart table.shop_table td.product-thumbnail img,
  body.woocommerce-cart table.shop_table td.product-thumbnail a{
    width:80px!important;height:80px!important;max-width:80px!important;
  }
  body.woocommerce-cart table.shop_table tr:not(.cart_item){
    display:block!important;width:100%!important;
    background:transparent;box-shadow:none;padding:8px 0;margin:0;
  }
  body.woocommerce-cart table.shop_table tr:not(.cart_item) td{
    display:block!important;width:100%!important;
  }
  body.woocommerce-cart .cart-collaterals{
    width:100%!important;
    margin:0!important;
    position:sticky;
    bottom:calc(var(--mobile-bar-h, 64px) + 8px);
    z-index:30;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals{
    padding:16px!important;
    border-radius:18px 18px 0 0!important;
  }
  body.woocommerce-cart .actions{
    display:flex;flex-direction:column;gap:10px;
  }
  body.woocommerce-cart .coupon{
    display:flex!important;flex-wrap:wrap;gap:8px;width:100%;
  }
  body.woocommerce-cart .coupon input{flex:1;min-width:0}
}

/* Shop archive mobile rhythm */
@media(max-width:899px){
  .shop-archive-head{
    display:flex;flex-direction:column;gap:10px;margin-bottom:12px;
  }
  .shop-archive-row{
    display:flex;flex-direction:column;gap:10px;align-items:stretch!important;
  }
  .shop-archive-title{font-size:clamp(1.6rem,7vw,2.2rem)!important}
  .shop-archive-tools{
    display:flex!important;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    width:100%;
    position:relative!important;
    top:auto!important;
    z-index:2;
    padding:10px!important;
    background:#fff!important;
    border-radius:16px;
    box-shadow:0 8px 22px rgba(6,16,31,.06);
  }
  .shop-archive-tools .woocommerce-ordering{flex:1 1 auto;min-width:0}
  .shop-cols-mobile{
    flex:0 0 auto;
    order:-1;
  }
  .shop-cols-mobile button{
    min-width:40px;height:40px;font-size:0;
    position:relative;
  }
  .shop-cols-mobile button[data-shop-cols="1"]::after{
    content:"▣";font-size:14px;position:absolute;inset:0;display:grid;place-items:center;
  }
  .shop-cols-mobile button[data-shop-cols="2"]::after{
    content:"▦";font-size:14px;position:absolute;inset:0;display:grid;place-items:center;
  }
  .shop-filter-bar{
    order:3;margin:0!important;width:100%;
  }
  .shop-filter-toggle{
    position:relative!important;
    top:auto!important;
    z-index:2;
    border-radius:14px!important;
    box-shadow:0 6px 16px rgba(8,20,38,.12)!important;
  }
  .shop-layout.has-sidebar,
  .shop-layout.shop-drawer,
  .shop-layout.no-sidebar{
    display:block!important;
    grid-template-columns:none!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box;
  }
  .shop-layout.shop-drawer > .shop-main,
  .shop-layout.has-sidebar > .shop-main,
  .shop-layout > .shop-main{
    width:100%!important;
    max-width:100%!important;
    float:none!important;
    box-sizing:border-box;
  }
  .vento-woo ul.products,
  .woocommerce ul.products,
  ul.products.columns-2,
  ul.products.columns-3,
  ul.products.columns-4,
  .woocommerce.columns-2 ul.products,
  .woocommerce.columns-3 ul.products,
  .woocommerce.columns-4 ul.products{
    display:grid!important;
    grid-template-columns:repeat(var(--shop-cols-m, 2), minmax(0, 1fr))!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box;
  }
  .vento-woo ul.products li.product,
  .woocommerce ul.products li.product,
  ul.products li.product{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
    clear:none!important;
    box-sizing:border-box;
  }
  .product-card.style-vegas .product-media,
  .vento-woo .product-media{
    aspect-ratio:3 / 4;
    overflow:hidden;
    background:#eef1f3;
  }
  .product-card.style-vegas .product-main-img,
  .product-card .product-main-img,
  .vento-woo .product-media img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  body.vento-woo,
  body.woocommerce-page .site-main.vento-woo,
  main#content.vento-woo{
    overflow-x:hidden;
    width:100%;
    max-width:100vw;
    box-sizing:border-box;
  }
  main#content.vento-woo > .container{
    width:100%!important;
    max-width:100%!important;
    padding-inline:12px!important;
    box-sizing:border-box;
  }
}

/* Mobile-only: single column so billing never sits on top of the order box.
   Desktop keeps the two-column grid above (@media min-width:901px). */
@media (max-width:900px){
  body.woocommerce-checkout form.checkout{
    display:flex !important;
    flex-direction:column !important;
    gap:18px;
    align-items:stretch;
    width:100%;
  }
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout .vento-bank-panel,
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields{
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    position:static !important;
    grid-column:auto !important;
    box-sizing:border-box;
  }
  body.woocommerce-checkout .col2-set{
    display:block !important;
    width:100% !important;
    float:none !important;
  }
  body.woocommerce-checkout .col2-set .col-1,
  body.woocommerce-checkout .col2-set .col-2{
    width:100% !important;
    max-width:100% !important;
    float:none !important;
  }
  body.woocommerce-checkout .form-row{
    width:100% !important;
    float:none !important;
    clear:both;
  }
}
.vento-bank-panel{
  position:relative;
  z-index:2;
}
