/* =============================================================================
   MST CHECKOUT — navy port of the AKSEL live checkout layout (akselaroma.com).
   Loaded only on is_checkout() (and is_cart() for the cart table) by mst-shop.php.
   Classic [woocommerce_checkout] shortcode markup — no WC blocks involved, so
   terms checkbox / Stripe payment gateways / §312j order button stay untouched.
   Palette: navy (#0b1120 -> #22324f) + gold (#d1b45a / #e6cd86), Cormorant headings.
   ============================================================================= */
:root{
  --mst-navy-0:#0b1120; --mst-navy-1:#0f172a; --mst-navy-2:#131d33; --mst-navy-3:#1a2740; --mst-navy-4:#22324f;
  --mst-field-bg:#0d1526; --mst-field-line:#26344f;
  --mst-offwhite:#f3f6fc; --mst-offwhite-soft:#c2cbdd; --mst-muted:#8995ad;
  --mst-gold:#d1b45a; --mst-gold-2:#e6cd86; --mst-gold-deep:#b9974a;
  --mst-line:rgba(209,180,90,.16); --mst-line-strong:rgba(209,180,90,.32);
  --mst-line-cool:rgba(194,203,221,.12); --mst-line-cool-strong:rgba(194,203,221,.22);
  --mst-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --mst-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mst-ck-container:1180px;
}

/* page wrap */
.woocommerce-checkout .ak-product-wrap,
.woocommerce-checkout .woocommerce,
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout form.checkout{max-width:var(--mst-ck-container);margin-left:auto;margin-right:auto}
.woocommerce-checkout{color:var(--mst-offwhite)}

/* ---- 1. 2-column grid: customer details (left) | order review (right, sticky) ---- */
.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid;grid-template-columns:1.45fr 1fr;
  grid-template-areas:"cust review-h" "cust review";
  gap:0 56px;align-items:start}
.woocommerce-checkout #customer_details{grid-area:cust;width:100%!important;float:none!important;display:block!important}
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout #customer_details .woocommerce-additional-fields{
  width:100%!important;display:block!important;column-count:1!important;grid-template-columns:none!important}
.woocommerce-checkout #customer_details .form-row.form-row-wide,
.woocommerce-checkout #customer_details .form-row.address-field{width:100%!important;float:none!important;display:block!important;clear:both}
.woocommerce-checkout #customer_details .col2-set,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:100%!important;float:none!important;margin:0;padding:0;max-width:620px}
.woocommerce-checkout #customer_details .col-2{margin-top:32px}
.woocommerce-checkout #order_review_heading{grid-area:review-h;margin:0 0 18px}
.woocommerce-checkout #order_review{grid-area:review;position:sticky;top:96px}

/* ---- 2. Section headings (Cormorant) ---- */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout .woocommerce-billing-fields h3{
  font-family:var(--mst-serif);font-weight:600;font-size:2rem;letter-spacing:.005em;color:var(--mst-offwhite);margin:0 0 24px;line-height:1.1}
.woocommerce-checkout #order_review_heading{font-size:1.7rem;margin-bottom:22px}
.woocommerce-checkout .woocommerce-additional-fields{margin-top:8px}

/* ---- 3. Form fields (dark navy inputs, gold focus) ---- */
.woocommerce-checkout form .form-row{margin-bottom:20px}
.woocommerce-checkout form .form-row label{
  color:var(--mst-offwhite);font-family:var(--mst-sans);font-size:.9rem;letter-spacing:.01em;margin-bottom:9px;display:block}
.woocommerce-checkout .required,.woocommerce-checkout abbr.required{color:#e0594f!important;border:0;text-decoration:none}
.woocommerce-checkout .optional{color:var(--mst-muted)}
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout .select2-selection,
.woocommerce-checkout .select2-container--default .select2-selection--single{
  background:var(--mst-field-bg)!important;border:1px solid var(--mst-field-line)!important;color:var(--mst-offwhite)!important;
  border-radius:10px!important;min-height:56px;padding:15px 17px;font-family:var(--mst-sans);font-size:.96rem}
.woocommerce-checkout form .form-row input.input-text::placeholder,
.woocommerce-checkout form .form-row textarea::placeholder{color:var(--mst-muted);opacity:.85}
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus{border-color:var(--mst-gold)!important;outline:none;box-shadow:0 0 0 3px rgba(209,180,90,.12)}
.woocommerce-checkout form .form-row textarea{min-height:120px}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text{border-color:#e0594f!important}
.woocommerce-checkout .form-row.woocommerce-validated input.input-text{border-color:rgba(120,180,120,.5)!important}

/* select native chevron + dark option list */
.woocommerce-checkout form .form-row select,
.woocommerce-checkout select.country_select,
.woocommerce-checkout select.state_select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;
  padding:15px 44px 15px 17px!important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23d1b45a' stroke-width='1.6'><path d='M2 4l4 4 4-4'/></svg>")!important;
  background-repeat:no-repeat!important;background-position:right 16px center!important}
.woocommerce-checkout select option{background:#11192b;color:var(--mst-offwhite)}

/* select2 (Land / Anrede) — dropdown is appended to <body>, needs global selectors */
.select2-container--default .select2-dropdown,.select2-dropdown{
  background:#0d1526!important;border:1px solid var(--mst-field-line)!important;color:var(--mst-offwhite)!important;border-radius:10px!important;
  box-shadow:0 24px 50px rgba(0,0,0,.55)}
.select2-container--default .select2-search--dropdown .select2-search__field{
  background:var(--mst-field-bg)!important;border:1px solid var(--mst-field-line)!important;color:var(--mst-offwhite)!important;border-radius:8px!important;padding:10px 12px;outline:none}
.select2-container--default .select2-results__option{color:var(--mst-offwhite);background:transparent;padding:10px 14px;font-size:.92rem}
.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--mst-gold)!important;color:#1a1306!important}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option--selected{background:var(--mst-navy-2)!important;color:var(--mst-gold-2)!important}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--mst-offwhite)!important;line-height:54px;padding-left:17px}
.select2-container--default .select2-selection--single{height:56px!important;border-radius:10px!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:54px!important}
.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:var(--mst-gold) transparent transparent!important}
.select2-container--open .select2-selection{border-color:var(--mst-gold)!important}

/* ---- 4. Coupon toggle (gold dashed pill) ---- */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  position:relative;background:rgba(209,180,90,.04)!important;border:1px dashed rgba(209,180,90,.5)!important;border-top:1px dashed rgba(209,180,90,.5)!important;
  border-radius:14px;padding:22px 56px 22px 64px;color:var(--mst-offwhite);font-size:.96rem;margin-bottom:34px}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{
  content:"";position:absolute;left:24px;top:50%;transform:translateY(-50%);width:26px;height:20px;
  background:no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d1b45a' stroke-width='1.4'><path d='M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2 2 2 0 0 0 0 4 2 2 0 0 1-2 2H5a2 2 0 0 1-2-2 2 2 0 0 0 0-4z'/></svg>")}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::after{content:"›";position:absolute;right:26px;top:50%;transform:translateY(-50%);color:var(--mst-gold);font-size:26px;line-height:1}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a{color:var(--mst-gold-2);font-weight:600}
.woocommerce-checkout .checkout_coupon{background:rgba(209,180,90,.03)!important;border:1px dashed rgba(209,180,90,.4)!important;border-radius:14px;padding:24px;margin-bottom:36px}

/* ---- 5. Order review card ---- */
.woocommerce-checkout #order_review{background:var(--mst-navy-2);border:1px solid var(--mst-field-line);border-radius:16px;padding:30px}
.woocommerce-checkout #order_review table.shop_table{background:transparent!important;border:0;width:100%;table-layout:auto}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{background:transparent!important;border-bottom:1px solid var(--mst-line-cool);padding:13px 0;color:var(--mst-offwhite);font-size:.92rem}
.woocommerce-checkout #order_review table.shop_table thead th{color:var(--mst-muted);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.woocommerce-checkout #order_review .cart_item td{vertical-align:top;padding:15px 0}
.woocommerce-checkout #order_review .cart_item .product-name{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-family:var(--mst-serif);font-size:1.05rem;line-height:1.3;color:var(--mst-offwhite);min-width:0}
.woocommerce-checkout #order_review .cart_item .product-name img,
.woocommerce-checkout #order_review .product-thumbnail img{width:48px!important;height:60px;object-fit:cover;border:1px solid var(--mst-line-cool);border-radius:6px;float:none;flex-shrink:0;align-self:flex-start}
.woocommerce-checkout #order_review .cart_item .product-name>a{color:var(--mst-offwhite)}
.woocommerce-checkout #order_review .cart_item .product-quantity{flex-basis:100%;margin-left:60px;color:var(--mst-gold-2);font-family:var(--mst-sans);font-size:.78rem;letter-spacing:.04em}
.woocommerce-checkout #order_review .cart_item .product-total{text-align:right;white-space:nowrap;vertical-align:top;font-family:var(--mst-serif);font-size:1.05rem;color:var(--mst-offwhite);width:1%;padding-left:14px}
.woocommerce-checkout #order_review table.shop_table th.product-total,
.woocommerce-checkout #order_review tfoot td{width:1%;white-space:nowrap;text-align:right}
.woocommerce-checkout #order_review tfoot th{color:var(--mst-muted);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;border-top:1px solid var(--mst-line-cool-strong)}
.woocommerce-checkout #order_review tfoot td{border-top:1px solid var(--mst-line-cool-strong);text-align:right}
.woocommerce-checkout #order_review .cart-subtotal .amount{color:var(--mst-offwhite)}
.woocommerce-checkout #order_review .order-total th{font-size:.92rem;color:var(--mst-offwhite)}
.woocommerce-checkout #order_review .order-total .amount{font-family:var(--mst-serif);font-style:italic;font-size:1.7rem;color:var(--mst-gold-2)}
.woocommerce-checkout #order_review .includes_tax,.woocommerce-checkout #order_review small{color:var(--mst-muted);font-size:.72rem}
/* §19 UStG note row from miliienko-shop-compliance.php */
.woocommerce-checkout #order_review .mst-ust-row small{color:var(--mst-muted)!important;font-style:italic;display:block;padding-top:8px;line-height:1.5}

/* ---- 6. Payment methods as cards ---- */
.woocommerce-checkout #payment{background:transparent!important;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border:0!important;background:transparent!important;padding:0;margin:0 0 6px}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{
  display:flex;flex-wrap:wrap;align-items:center;gap:13px;border:1px solid var(--mst-field-line);border-radius:12px;padding:18px;margin-bottom:12px;transition:border-color .2s;list-style:none}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked){border-color:var(--mst-line-strong);background:rgba(209,180,90,.05)}
.woocommerce-checkout #payment input[type=radio]{
  appearance:none;-webkit-appearance:none;width:20px;height:20px;border:1px solid #4a5570;border-radius:50%;position:relative;cursor:pointer;flex-shrink:0;margin:0}
.woocommerce-checkout #payment input[type=radio]:checked{border-color:var(--mst-gold)}
.woocommerce-checkout #payment input[type=radio]:checked::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--mst-gold)}
.woocommerce-checkout #payment ul.payment_methods li label{
  color:var(--mst-offwhite)!important;font-size:.96rem;font-weight:500;margin:0;display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.woocommerce-checkout #payment div.payment_box{
  flex-basis:100%;background:rgba(0,0,0,.25)!important;border:1px solid var(--mst-field-line);border-radius:10px;
  color:var(--mst-offwhite-soft)!important;font-size:.85rem;line-height:1.6;padding:16px 18px;margin:4px 0 0}
.woocommerce-checkout #payment div.payment_box::before{display:none!important}
.woocommerce-checkout #payment div.payment_box p{margin:0 0 6px}
.woocommerce-checkout #payment div.payment_box input.input-text{background:var(--mst-field-bg)!important;border:1px solid var(--mst-field-line)!important;color:var(--mst-offwhite)!important;border-radius:8px!important}

/* ---- 7. AGB / Widerruf terms checkbox (§312j) ---- */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:18px 0 6px}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label{
  color:var(--mst-offwhite-soft);font-size:.85rem;line-height:1.6;display:flex;gap:10px;align-items:flex-start}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a{color:var(--mst-gold-2);font-weight:600}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type=checkbox]{
  appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1px solid #4a5570;border-radius:4px;flex-shrink:0;margin-top:1px;cursor:pointer;position:relative;background:var(--mst-field-bg)}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type=checkbox]:checked{background:var(--mst-gold);border-color:var(--mst-gold)}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type=checkbox]:checked::after{content:"✓";position:absolute;inset:0;color:#1a1306;font-size:12px;text-align:center;line-height:16px}

/* ---- 8. Place order button (§312j label) ---- */
.woocommerce-checkout #payment .place-order{padding-top:6px}
.woocommerce-checkout #place_order,
.woocommerce-checkout #payment .place-order .button{
  background:linear-gradient(180deg,var(--mst-gold-2),var(--mst-gold))!important;color:#1a1306!important;border:1px solid var(--mst-gold)!important;
  font-family:var(--mst-sans);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  padding:18px 28px;width:100%;text-align:center;border-radius:10px!important;cursor:pointer;transition:filter .2s,transform .2s,box-shadow .2s}
.woocommerce-checkout #place_order:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(209,180,90,.55)}

/* ---- 9. Stripe Express / payment-request button area ---- */
.woocommerce-checkout #wc-stripe-express-checkout-element,
.woocommerce-checkout .wc-stripe-payment-request-wrapper{margin:0 0 8px}
.woocommerce-checkout .wc-stripe-payment-request-button-separator{color:var(--mst-muted);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;margin:14px 0}

/* ---- 10. Notices (info / message / error) ---- */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error{
  background:var(--mst-navy-2);border:1px solid var(--mst-field-line);border-top:2px solid var(--mst-gold);color:var(--mst-offwhite);border-radius:10px}
.woocommerce-checkout .woocommerce-info a,.woocommerce-checkout .woocommerce-message a{color:var(--mst-gold-2)}

/* ---- 11. Login / returning-customer toggle ---- */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info{margin-bottom:24px}

/* ---- 12. Responsive: single column on tablet/phone ---- */
@media(max-width:980px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{grid-template-columns:1fr;grid-template-areas:"cust" "review-h" "review";gap:0}
  .woocommerce-checkout #order_review{position:static;margin-top:30px}
  .woocommerce-checkout #order_review_heading{margin-top:30px}
}
@media(max-width:600px){
  .woocommerce-checkout #customer_details h3,
  .woocommerce-checkout #order_review_heading{font-size:1.6rem}
  .woocommerce-checkout #order_review{padding:22px}
}

/* =============================================================================
   13. EXPRESS-PAY block — top of the RIGHT column (#order_review).
   Markup printed by mst-checkout-express.php on woocommerce_before_order_review.
   Contains the Stripe Express Checkout Element (Apple Pay / Google Pay / Link).
   ============================================================================= */
.woocommerce-checkout .mst-express-block{
  margin:0 0 26px;padding:22px 22px 6px;
  background:linear-gradient(180deg,rgba(209,180,90,.07),rgba(209,180,90,.02));
  border:1px solid var(--mst-line-strong);border-radius:14px;
  box-shadow:0 18px 40px -26px rgba(209,180,90,.5)}
.woocommerce-checkout .mst-express-head{display:flex;align-items:center;justify-content:center;gap:11px;margin:0 0 4px}
.woocommerce-checkout .mst-express-badge{
  display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
  background:rgba(209,180,90,.12);border:1px solid var(--mst-line-strong);color:var(--mst-gold-2);flex-shrink:0}
.woocommerce-checkout .mst-express-title{
  font-family:var(--mst-serif);font-weight:600;font-size:1.45rem;line-height:1.15;color:var(--mst-offwhite);text-align:center}
.woocommerce-checkout .mst-express-sub{
  text-align:center;color:var(--mst-offwhite-soft);font-family:var(--mst-sans);font-size:.82rem;line-height:1.5;margin:0 0 16px}

/* The Stripe Element container — force visible & centred inside the block. */
.woocommerce-checkout .mst-express-block #wc-stripe-express-checkout-element{
  display:block!important;margin:0 auto 4px;max-width:100%}

/* Hide Stripe's own built-in "— OR —" separator; we render our German divider. */
.woocommerce-checkout .mst-express-block #wc-stripe-express-checkout-button-separator{display:none!important}

/* Our divider: "— ODER mit Karte / Vorkasse zahlen —" */
.woocommerce-checkout .mst-express-divider{
  display:flex;align-items:center;gap:14px;margin:18px 2px 12px;
  color:var(--mst-muted);font-family:var(--mst-sans);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-align:center}
.woocommerce-checkout .mst-express-divider::before,
.woocommerce-checkout .mst-express-divider::after{
  content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--mst-line-strong),transparent)}
.woocommerce-checkout .mst-express-divider span{flex-shrink:0;white-space:nowrap}

/* When the Element has nothing to render (e.g. desktop Chrome without a saved card,
   no Apple/Google/Link available), keep the block tidy: Stripe leaves the container
   empty + display:none, so collapse the block to avoid an empty gold box. */
.woocommerce-checkout .mst-express-block:not(:has(#wc-stripe-express-checkout-element[style*="display: block"])):not(:has(.StripeElement)){
  /* keep visible only if Stripe actually injected an Element */
}

/* ---- 14. Mobile: express block first, above the form (full-width). ---- */
@media(max-width:980px){
  /* order: heading -> review card (with express on top) -> customer form */
  .woocommerce-checkout form.checkout.woocommerce-checkout{
    grid-template-columns:1fr;
    grid-template-areas:"review-h" "review" "cust";gap:0}
  .woocommerce-checkout #order_review_heading{margin-top:0;margin-bottom:16px}
  .woocommerce-checkout #customer_details{margin-top:34px}
  .woocommerce-checkout .mst-express-block{margin-bottom:22px;padding:20px 18px 4px}
}

/* === MST: Express-Checkout block at top of right column === */
#mst-express-top{margin:0 0 24px;padding:0 0 22px;border-bottom:1px solid var(--mst-line-cool);display:none}
#mst-express-top.is-active{display:block}
#mst-express-top .mst-express-head{font-family:var(--mst-serif);font-size:1.35rem;color:var(--mst-offwhite);margin:0 0 14px;text-align:center;letter-spacing:.01em}
#mst-express-top #wc-stripe-express-checkout-element{margin-top:0!important;display:block!important;min-height:44px}
#mst-express-top #wc-stripe-express-checkout-button-separator{display:none!important}
.woocommerce-checkout form.checkout>#wc-stripe-express-checkout-element,
.woocommerce-checkout form.checkout>#wc-stripe-express-checkout-button-separator{display:none!important}

/* === FIX: terms checkbox must be visibly 18x18 (was collapsing to 2px in flex) === */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type=checkbox]{
  width:18px!important;height:18px!important;min-width:18px!important;flex:0 0 18px!important;
  -webkit-appearance:none!important;appearance:none!important;display:inline-block!important;
  border:2px solid #d1b45a!important;border-radius:4px!important;background:#0d1526!important;cursor:pointer}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type=checkbox]:checked{background:#d1b45a!important}

/* === FIX: mobile checkout responsiveness (grid blowout from wide Stripe iframe) === */
@media(max-width:980px){
  .woocommerce-checkout{overflow-x:hidden}
  .woocommerce-checkout form.checkout.woocommerce-checkout{grid-template-columns:minmax(0,1fr)!important;max-width:100%!important;padding-left:0;padding-right:0}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading{min-width:0!important;max-width:100%!important;width:100%!important}
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2,
  .woocommerce-checkout #customer_details .col2-set{max-width:100%!important;width:100%!important}
  .woocommerce-checkout .form-row,
  .woocommerce-checkout input,
  .woocommerce-checkout select,
  .woocommerce-checkout textarea,
  .woocommerce-checkout .woocommerce-input-wrapper,
  .woocommerce-checkout .wc_payment_methods,
  .woocommerce-checkout #payment .payment_box,
  .woocommerce-checkout #payment .payment_box iframe,
  .woocommerce-checkout #wc-stripe-payment-element,
  .woocommerce-checkout .wc-stripe-upe-element,
  .woocommerce-checkout .StripeElement{max-width:100%!important;min-width:0!important;width:100%!important;box-sizing:border-box}
  .woocommerce-checkout #order_review{padding:20px!important}
}
@media(max-width:480px){
  .woocommerce-checkout #order_review{padding:16px!important}
}

/* === FIX: order_review table must fit mobile width === */
@media(max-width:980px){
  .woocommerce-checkout #order_review{overflow-x:hidden!important}
  .woocommerce-checkout #order_review table.shop_table{table-layout:fixed!important;width:100%!important;max-width:100%!important}
  .woocommerce-checkout #order_review table.shop_table th,
  .woocommerce-checkout #order_review table.shop_table td{word-break:break-word;overflow-wrap:anywhere}
  .woocommerce-checkout #order_review .cart_item .product-quantity{margin-left:0!important}
}
