/* ===================================================================
   CCO — Cart & Checkout redesign (native WooCommerce, restyled to brand)
   Loaded only on cart + checkout. Uses the design tokens from
   redesign-home.css (:root). Built on Flatsome's cart/checkout markup.
   =================================================================== */

/* ---------- Page shell + vintage palm backdrop ---------- */
.woocommerce-cart .content-area,
.woocommerce-checkout .content-area,
.woocommerce-cart #content,
.woocommerce-checkout #content { background:var(--cream-light); position:relative; }

.woocommerce-cart .content-area::before{
  content:""; position:absolute; left:0; bottom:0; width:420px; height:520px; z-index:0;
  background:url("../banners/hero-vintage-etch.jpg") left bottom / contain no-repeat;
  opacity:.30; pointer-events:none;
  -webkit-mask-image:linear-gradient(0deg,#000 35%,transparent);
          mask-image:linear-gradient(0deg,#000 35%,transparent);
}
.woocommerce-cart .row, .woocommerce-checkout .row,
.woocommerce-cart .page-wrapper, .woocommerce-checkout .page-wrapper{ position:relative; z-index:1; }

/* ---------- Steps title (1 Shopping Cart › 2 Checkout › 3 Complete) ---------- */
/* Use our own clean heading on cart + checkout (the Flatsome steps title collapses
   to a weak lone "Shopping Cart"/"Checkout details" on mobile). */
.woocommerce-cart .checkout-page-title,
.woocommerce-checkout .checkout-page-title{ display:none !important; }

/* ---------- Checkout hero band (pencil banner + trust badges) ---------- */
.cco-checkout-hero{ position:relative; overflow:hidden; background:var(--cream-card); border-bottom:1px solid var(--hairline); margin-bottom:26px; }
.cco-checkout-hero::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:url("../banners/checkout-banner.jpg") right center / cover no-repeat; opacity:.55;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 45%, #000 100%);
          mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 45%, #000 100%);
}
.cco-checkout-hero-inner{ position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:38px 16px 30px; }
.cco-co-eyebrow{ font-family:"Jost",sans-serif; font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; }
.cco-checkout-hero h1{ font-family:"Cormorant Garamond",Georgia,serif; font-size:42px; font-weight:600; color:var(--ink); margin:6px 0 8px; line-height:1; letter-spacing:.01em; }
.cco-co-sub{ font-family:"Jost",sans-serif; font-size:14px; color:var(--ink-soft); margin:0 0 18px; max-width:520px; line-height:1.55; }
.cco-trust-row{ list-style:none; display:flex; flex-wrap:wrap; gap:10px 24px; margin:0; padding:0; }
.cco-trust-row li{ display:inline-flex; align-items:center; gap:8px; font-family:"Jost",sans-serif; font-size:12.5px; font-weight:600; color:var(--ink); }
.cco-trust-row li svg{ color:var(--gold-deep); flex:0 0 auto; }

/* Reassurance under Place Order */
.cco-secure-note{ display:flex; align-items:center; justify-content:center; gap:7px; margin:12px 0 0; font-size:12px; color:var(--ink-soft); font-family:"Jost",sans-serif; }
.cco-secure-note svg{ color:var(--gold-deep); flex:0 0 auto; }
.checkout-page-title{
  text-align:center; padding:30px 16px 22px !important; margin:0 !important;
  font-family:"Cormorant Garamond",Georgia,serif;
}
.checkout-page-title a, .checkout-page-title span{ color:var(--ink-soft); }
.checkout-page-title .current,
.checkout-page-title strong{ color:var(--ink); }

/* Tighten the empty space above the cart/checkout content */
.woocommerce-cart .content-area, .woocommerce-cart #content{ padding-top:20px !important; }

/* ---------- Custom cart page heading ---------- */
.cco-cart-title-row{ max-width:1200px; margin:0 auto; padding:6px 16px 20px; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; position:relative; z-index:1; }
.cco-cart-title-row h1{ font-family:"Cormorant Garamond",Georgia,serif; font-size:34px; font-weight:600; color:var(--ink); margin:0; letter-spacing:.01em; line-height:1; }
.cco-cart-count-note{ font-family:"Jost",sans-serif; font-size:13px; color:var(--ink-soft); }

/* ---------- Headings ---------- */
.woocommerce-cart .cart_totals > h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout #ship-to-different-address span{
  font-family:"Cormorant Garamond",Georgia,serif !important; font-weight:600 !important;
  text-transform:uppercase; letter-spacing:.16em; font-size:15px !important; color:var(--ink) !important;
}

/* ---------- Custom cart layout: items (left) + sticky summary (right) ---------- */
.cco-cart-layout{ max-width:1200px; margin:0 auto; padding:6px 16px 48px; position:relative; z-index:1; }
.cco-cart-grid{ display:grid; grid-template-columns:1fr 380px; gap:30px; align-items:start; }

/* Items card */
.cco-cart-items{ background:#fff; border:1px solid var(--hairline); border-radius:12px; box-shadow:var(--shadow-card); overflow:hidden; }
.cco-cart-items-head{ display:grid; grid-template-columns:84px 1fr 150px 110px; gap:14px; padding:15px 22px; background:var(--cream-card); font-family:"Jost",sans-serif; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--ink-soft); }
.cco-cart-items-head .cco-ci-h-product{ grid-column:1 / 3; }
.cco-cart-items-head .cco-ci-h-qty{ text-align:center; }
.cco-cart-items-head .cco-ci-h-total{ text-align:right; }

.cco-cart-line{ display:grid; grid-template-columns:84px 1fr 150px 110px; gap:14px; align-items:center; padding:20px 22px; border-top:1px solid var(--hairline); position:relative; }
.cco-line-img img{ width:72px; height:72px; object-fit:cover; border:1px solid var(--hairline); border-radius:8px; display:block; }
.cco-line-info{ min-width:0; padding-right:18px; }
.cco-line-name{ font-family:"Cormorant Garamond",serif; font-size:17px; font-weight:600; color:var(--ink); line-height:1.25; text-decoration:none; display:block; }
.cco-line-name:hover{ color:var(--wine); }
.cco-line-unit{ display:block; margin-top:5px; font-size:12.5px; color:var(--ink-soft); }
.cco-line-unit em{ font-style:normal; opacity:.7; }
.cco-line-qty{ display:flex; justify-content:center; }
.cco-line-subtotal{ text-align:right; font-family:"Cormorant Garamond",serif; font-size:17px; font-weight:700; color:var(--ink); }
.cco-line-remove{ position:absolute; top:14px; right:14px; width:22px; height:22px; line-height:20px; text-align:center; border-radius:50%; border:1px solid var(--hairline); color:var(--ink-soft); font-size:14px; text-decoration:none; transition:all .15s; }
.cco-line-remove:hover{ background:var(--wine); color:#fff; border-color:var(--wine); }

/* qty stepper (Flatsome ux-quantity) */
.cco-line-qty .quantity{ display:inline-flex !important; align-items:stretch; height:42px; border:1px solid var(--hairline); border-radius:6px; overflow:hidden; background:#fff; margin:0; }
.cco-line-qty .quantity .ux-quantity__button{ width:32px; background:#fff !important; color:var(--ink-soft) !important; border:0 !important; box-shadow:none !important; }
.cco-line-qty .quantity .ux-quantity__button:hover{ background:var(--cream) !important; color:var(--wine) !important; }
.cco-line-qty .quantity input.qty{ width:42px !important; border:0 !important; border-left:1px solid var(--hairline) !important; border-right:1px solid var(--hairline) !important; background:transparent !important; box-shadow:none !important; font-weight:600; color:var(--ink); text-align:center; height:auto; }

/* Actions under items */
.cco-cart-actions{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; flex-wrap:wrap; }
.cco-continue{ display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; }
.cco-continue:hover{ color:var(--wine); }
.cco-update.button{ background:#fff !important; color:var(--ink) !important; border:1px solid var(--ink) !important; border-radius:6px !important; padding:13px 22px !important; font-family:"Jost",sans-serif !important; text-transform:uppercase; letter-spacing:.16em; font-weight:700; font-size:11.5px; box-shadow:none !important; }
.cco-update.button:hover{ background:var(--ink) !important; color:#fff !important; }

/* ---------- Sticky order summary ---------- */
.cco-cart-col-summary{ position:sticky; top:96px; }
.cco-cart-summary{ background:#fff; border:1px solid var(--hairline); border-radius:12px; box-shadow:var(--shadow-card); padding:24px 24px 26px; }
.cco-summary-title{ font-family:"Cormorant Garamond",serif !important; font-size:20px !important; font-weight:600 !important; letter-spacing:.03em; color:var(--ink) !important; margin:0 0 18px !important; padding-bottom:14px; border-bottom:1px solid var(--hairline); text-transform:none !important; }
.cco-coupon{ display:flex; gap:8px; margin-bottom:6px; }
.cco-coupon input{ flex:1; min-width:0; height:46px; border:1px solid var(--hairline) !important; border-radius:6px !important; padding:0 14px; background:#fff !important; font-size:14px; box-shadow:none !important; }
.cco-coupon .button{ flex:0 0 auto; background:var(--ink) !important; color:#fff !important; border:1px solid var(--ink) !important; border-radius:6px !important; padding:0 18px !important; height:46px; font-family:"Jost",sans-serif !important; text-transform:uppercase; letter-spacing:.12em; font-weight:700; font-size:11px; box-shadow:none !important; }
.cco-coupon .button:hover{ background:var(--wine) !important; border-color:var(--wine) !important; }

/* WooCommerce totals rendered inside the summary card — strip its own chrome */
.cco-cart-summary .cart_totals{ background:none; border:0; box-shadow:none; padding:0; margin-top:14px; }
.cco-cart-summary .cart_totals > h2{ display:none; }
.cco-cart-summary .cart_totals table{ width:100%; border:0 !important; margin:0 !important; }
.cco-cart-summary .cart_totals table th, .cco-cart-summary .cart_totals table td{ border:0 !important; border-bottom:1px solid var(--hairline) !important; padding:13px 0 !important; font-size:13.5px; color:var(--ink); vertical-align:top; }
.cco-cart-summary .cart_totals table th{ font-family:"Jost",sans-serif; letter-spacing:.04em; color:var(--ink-soft); text-transform:uppercase; font-size:11.5px; font-weight:700; text-align:left; }
.cco-cart-summary .cart_totals table td{ text-align:right; font-weight:500; }
.cco-cart-summary .cart_totals tr.order-total th, .cco-cart-summary .cart_totals tr.order-total td{ border-bottom:0 !important; padding-top:16px !important; }
.cco-cart-summary .cart_totals tr.order-total .amount{ font-family:"Cormorant Garamond",serif; font-size:23px; font-weight:700; color:var(--ink); }
.cco-cart-summary .cart_totals .wc-proceed-to-checkout{ padding:16px 0 0; }
.cco-cart-summary .cart_totals a.checkout-button{ display:block; text-align:center; }
.cco-cart-summary .woocommerce-shipping-methods, .cco-cart-summary #shipping_method{ list-style:none; margin:0; padding:0; }
.cco-cart-summary .shipping-calculator-button{ color:var(--wine); }

/* ---------- Buttons: proceed-to-checkout + place-order → wine
   (`#place_order.button` (1,2,0) beats Flatsome's inline `.button#place_order` (1,1,0)) ---------- */
.woocommerce a.checkout-button.button,
.woocommerce-checkout #place_order.button{
  background:var(--wine) !important; color:#fff !important; border:1px solid var(--wine) !important;
  border-radius:6px !important; font-family:"Jost",sans-serif !important; text-transform:uppercase;
  letter-spacing:.16em; font-weight:700; font-size:12.5px; padding:16px 22px !important; box-shadow:none !important;
}
.woocommerce a.checkout-button.button:hover,
.woocommerce-checkout #place_order.button:hover{ background:var(--wine-dark) !important; }

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border-top:3px solid var(--gold) !important; background:#fff !important; border-radius:8px;
  font-family:"Jost",sans-serif; color:var(--ink);
}

/* ===================================================================
   CHECKOUT
   =================================================================== */
.woocommerce-checkout form.checkout{ position:relative; z-index:1; }

/* Login / coupon toggles → warm, inviting cards (not the cold default bars) */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle{ max-width:1200px; margin:0 auto 12px; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  background:var(--cream-card) !important; border:1px solid var(--hairline) !important;
  border-left:3px solid var(--gold) !important; border-radius:10px !important;
  padding:14px 20px !important; margin:0 !important; box-shadow:none !important;
}
.woocommerce-checkout .woocommerce-form-login-toggle .message-container,
.woocommerce-checkout .woocommerce-form-coupon-toggle .message-container{
  display:flex !important; align-items:center; gap:13px; text-align:left !important;
  font-family:"Jost",sans-serif; font-size:14px; color:var(--ink); max-width:none;
}
.woocommerce-checkout .woocommerce-form-login-toggle .message-container::before,
.woocommerce-checkout .woocommerce-form-coupon-toggle .message-container::before{
  content:""; flex:0 0 38px; width:38px; height:38px; border-radius:50%;
  background-color:rgba(184,153,104,.15); background-repeat:no-repeat; background-position:center; background-size:21px;
}
.woocommerce-form-login-toggle .message-container::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8821f' stroke-width='1.7'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-7 8-7s8 3 8 7'/%3E%3C/svg%3E"); }
.woocommerce-form-coupon-toggle .message-container::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8821f' stroke-width='1.7'%3E%3Cpath d='M3 11.5l8.5-8.5 9.5 9.5-8.5 8.5z'/%3E%3Ccircle cx='8.2' cy='8.2' r='1.4'/%3E%3C/svg%3E"); }
.woocommerce-checkout .woocommerce-info a.showlogin,
.woocommerce-checkout .woocommerce-info a.showcoupon{ color:var(--wine) !important; font-weight:700; text-decoration:underline; margin-left:auto; white-space:nowrap; }
.woocommerce-checkout .woocommerce-info a.showlogin:hover,
.woocommerce-checkout .woocommerce-info a.showcoupon:hover{ color:var(--wine-dark) !important; }

/* Customer-details column: full width inside the Flatsome large-7 col */
#customer_details .col-1, #customer_details .col-2{ width:100% !important; max-width:none !important; float:none !important; padding:0 !important; margin:0; }

/* Field groups → clean cards */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields{
  background:#fff; border:1px solid var(--hairline); border-radius:12px; box-shadow:var(--shadow-card);
  padding:24px 26px 14px; margin-bottom:20px;
}
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields > h3{
  font-family:"Cormorant Garamond",Georgia,serif !important; font-weight:600 !important; font-size:19px !important;
  letter-spacing:.03em; text-transform:none !important; color:var(--ink) !important;
  margin:0 0 18px !important; padding-bottom:14px; border-bottom:1px solid var(--hairline);
}
/* "Ship to a different address?" toggle row */
.woocommerce-shipping-fields h3#ship-to-different-address{ display:flex; align-items:center; gap:10px; }
#ship-to-different-address label{ font-size:16px !important; color:var(--ink) !important; font-weight:600 !important; margin:0 !important; cursor:pointer; font-family:"Cormorant Garamond",serif; }
#ship-to-different-address-checkbox{ width:18px; height:18px; }

/* Fields */
.woocommerce-checkout .form-row{ margin:0 0 14px; padding:0; }
.woocommerce-checkout .form-row label{ font-family:"Jost",sans-serif; font-size:12px; color:var(--ink-soft); font-weight:600; letter-spacing:.03em; margin-bottom:5px; display:block; }
.woocommerce-checkout .form-row label .required{ color:var(--wine); }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection,
.woocommerce-checkout .form-row select{
  border:1px solid var(--hairline) !important; border-radius:6px !important; background:#fff !important;
  min-height:50px !important; padding:0 14px !important; font-size:14px; box-shadow:none !important; color:var(--ink); width:100%;
}
.woocommerce-checkout .select2-container .select2-selection{ display:flex; align-items:center; }
.woocommerce-checkout .select2-container .select2-selection__rendered{ line-height:normal; padding:0; }
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus{ border-color:var(--gold) !important; box-shadow:0 0 0 3px rgba(184,153,104,.16) !important; outline:0; }
.woocommerce-checkout .form-row textarea{ min-height:92px !important; padding:12px 14px !important; line-height:1.5; }

/* ----- Sticky order-summary sidebar ----- */
/* Flatsome adds a 2px border via `.col-inner.has-border` on the sidebar column —
   redundant with our #order_review card. Remove it. */
.woocommerce-checkout .col-inner.has-border{ border:0 !important; box-shadow:none !important; padding:0 !important; }
.checkout-sidebar{ position:sticky; top:96px; }
#order_review_heading{ font-family:"Cormorant Garamond",Georgia,serif !important; font-weight:600 !important; font-size:20px !important; letter-spacing:.03em; text-transform:none !important; color:var(--ink) !important; margin:0 0 14px !important; }
#order_review{ background:#fff; border:1px solid var(--hairline); border-radius:12px; padding:22px 24px 24px; box-shadow:var(--shadow-card); }
#order_review table.woocommerce-checkout-review-order-table{ border:0 !important; margin:0; }
#order_review table th, #order_review table td{ border:0 !important; border-bottom:1px solid var(--hairline) !important; padding:12px 0 !important; font-size:13.5px; color:var(--ink); }
#order_review table td.product-name, #order_review table .product-name{ font-family:"Cormorant Garamond",serif; font-weight:600; font-size:14.5px; }
#order_review table .product-total{ text-align:right; font-weight:600; white-space:nowrap; }
#order_review table .cart-subtotal th, #order_review table .order-total th, #order_review table tr.shipping th{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:11.5px; color:var(--ink-soft); font-weight:700; }
#order_review tr.order-total th, #order_review tr.order-total td{ border-bottom:0 !important; padding-top:16px !important; }
#order_review tr.order-total .amount{ font-family:"Cormorant Garamond",serif; font-size:23px; font-weight:700; color:var(--ink); }

/* ===== Payment methods → selectable cards ===== */
#payment{ background:transparent !important; border:0 !important; border-radius:0 !important; margin-top:16px; padding:0 !important; }
#payment ul.payment_methods{ display:flex !important; flex-direction:column; gap:12px; border:0 !important; padding:0 !important; margin:0 !important; list-style:none; }
#payment ul.payment_methods > li.wc_payment_method{
  display:grid; grid-template-columns:auto 1fr; align-items:center;
  border:1.5px solid var(--hairline) !important; border-radius:12px; background:#fff;
  padding:0 !important; margin:0 !important; overflow:hidden; position:relative;
  transition:border-color .15s, box-shadow .15s;
}
#payment ul.payment_methods > li.wc_payment_method > input[type=radio]{
  grid-column:1; grid-row:1; margin:0 0 0 18px; accent-color:var(--wine); width:18px; height:18px; cursor:pointer;
}
#payment ul.payment_methods > li.wc_payment_method > label{
  grid-column:2; grid-row:1; display:flex; align-items:center; gap:13px;
  padding:17px 18px 17px 13px; margin:0 !important; cursor:pointer;
  font-family:"Cormorant Garamond",Georgia,serif; font-size:16.5px !important; font-weight:600; color:var(--ink);
}
/* method icon badge */
#payment ul.payment_methods > li.wc_payment_method > label::before{
  content:""; flex:0 0 40px; width:40px; height:40px; border-radius:10px; background-color:var(--cream-card);
  background-repeat:no-repeat; background-position:center; background-size:22px;
}
.payment_method_woo_offline_credit_card_payment_method > label::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b1f1f' stroke-width='1.7'%3E%3Crect x='2' y='5' width='20' height='14' rx='2.5'/%3E%3Cpath d='M2 9.5h20'/%3E%3Cpath d='M5.5 14.5h4'/%3E%3C/svg%3E"); }
.payment_method_bacs > label::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b1f1f' stroke-width='1.7'%3E%3Cpath d='M3 9.5l9-5.5 9 5.5'/%3E%3Cpath d='M5 10v7M10 10v7M14 10v7M19 10v7'/%3E%3Cpath d='M3 20h18'/%3E%3C/svg%3E"); }
.payment_method_crypto_wallet > label::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b1f1f' stroke-width='1.7'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 8h4a2 2 0 0 1 0 4h-4zM9.5 12h4.6a2 2 0 0 1 0 4H9.5zM11 6.3v11.4'/%3E%3C/svg%3E"); }
/* card-brand marks on the Credit Card row */
.payment_method_woo_offline_credit_card_payment_method > label::after{
  content:""; margin-left:auto; flex:0 0 124px; width:124px; height:19px;
  background:url("../icons/card-brands.svg") right center / contain no-repeat;
}
/* selected card highlight */
#payment ul.payment_methods > li.wc_payment_method:has(input:checked){
  border-color:var(--wine) !important; box-shadow:0 0 0 1px var(--wine), 0 8px 22px rgba(42,51,32,.07);
}
#payment ul.payment_methods > li.wc_payment_method:has(input:checked) > label::before{ background-color:rgba(107,31,31,.10); }

/* expanded details inside the card */
#payment .payment_box{ grid-column:1 / -1; grid-row:2; background:#fff !important; border:0 !important; border-top:1px solid var(--hairline) !important; border-radius:0 !important; font-size:13px; margin:0 !important; padding:18px !important; }
#payment .payment_box::before{ display:none !important; }
#payment .payment_box label{ font-size:12px !important; color:var(--ink-soft) !important; font-weight:600 !important; letter-spacing:.02em; }
#payment .payment_box .required{ color:var(--wine) !important; }
#payment .payment_box input.input-text,
#payment .payment_box select{
  width:100% !important; height:48px !important; min-height:48px !important; box-sizing:border-box !important;
  border:1px solid var(--hairline) !important; border-radius:6px !important;
  padding:0 14px !important; font-size:14px; background:#fff !important; box-shadow:none !important; color:var(--ink);
}
#payment .payment_box input.input-text:focus,
#payment .payment_box select:focus{ border-color:var(--gold) !important; box-shadow:0 0 0 3px rgba(184,153,104,.16) !important; outline:0; }
/* "ATTN…" disclaimer → soft note instead of a stark black block */
#payment .payment_box > p:first-of-type{
  background:var(--cream-light); border:1px solid var(--hairline); border-left:3px solid var(--gold);
  border-radius:8px; padding:12px 14px; margin:0 0 16px; font-size:12px; line-height:1.55; color:var(--ink-soft);
}

/* ----- Stripe / Link-style card form: number full-width with brand icons,
   expiry + CVV in a row, clean grouped inputs ----- */
#payment .wc-credit-card-form{ display:grid !important; grid-template-columns:1fr 1fr; gap:0 14px; border:0 !important; margin:0 !important; padding:0 !important; }
#payment .wc-credit-card-form > p{ width:auto !important; max-width:none !important; float:none !important; margin:0 0 13px !important; padding:0 !important; }
#payment .wc-credit-card-form > p:empty{ display:none !important; margin:0 !important; }
#payment .wc-credit-card-form label{ display:block; margin-bottom:5px; }
#payment .wc-credit-card-form > p:has(#woo_offline_credit_card_payment_method-card-holder-name),
#payment .wc-credit-card-form > p:has(.wc-credit-card-form-card-number),
#payment .wc-credit-card-form > p:has(#woo_offline_credit_card_payment_method-card-type){ grid-column:1 / -1; }
#payment .wc-credit-card-form > p:has(.wc-credit-card-form-card-expiry){ grid-column:1; }
#payment .wc-credit-card-form > p:has(.wc-credit-card-form-card-cvc){ grid-column:2; }
/* Card-brand icons inside the number field (Stripe-style) */
#payment .wc-credit-card-form > p:has(.wc-credit-card-form-card-number){ position:relative; }
#payment .wc-credit-card-form > p:has(.wc-credit-card-form-card-number)::after{
  content:""; position:absolute; right:13px; bottom:14px; width:132px; height:20px;
  background:url("../icons/card-brands.svg") right center / contain no-repeat; pointer-events:none;
}
/* out-specify `#payment .payment_box input.input-text{padding:0 14px}` so the number clears the brand icons */
#payment .payment_box input.input-text.wc-credit-card-form-card-number{ padding:0 152px 0 14px !important; letter-spacing:1px; }
@media (max-width:600px){
  #payment .wc-credit-card-form > p:has(.wc-credit-card-form-card-number)::after{ width:108px; right:11px; }
  #payment .payment_box input.input-text.wc-credit-card-form-card-number{ padding-right:126px !important; }
  #payment .wc-credit-card-form label{ font-size:11px !important; }
  /* keep payment cards from overflowing on narrow screens */
  #payment ul.payment_methods > li.wc_payment_method,
  #payment ul.payment_methods > li > label,
  #payment .payment_box, #payment .wc-credit-card-form, #payment .wc-credit-card-form > p{ min-width:0; }
  /* brand marks already show inside the number field — drop them from the row label on mobile */
  .payment_method_woo_offline_credit_card_payment_method > label::after{ display:none; }
  #payment ul.payment_methods > li > label{ font-size:15px !important; gap:10px; padding:15px 14px 15px 10px; }
}

#payment div.form-row.place-order{ padding:14px 16px !important; }
#place_order{ width:100%; display:block; padding:17px !important; font-size:13px; margin:0; }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{ font-size:12.5px; color:var(--ink-soft); }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text + .required,
.woocommerce-checkout #payment input[type=checkbox]{ accent-color:var(--wine); }

/* ---------- Responsive ---------- */
@media (max-width:849px){
  .cco-cart-grid{ grid-template-columns:1fr; gap:22px; }
  .cco-cart-col-summary{ position:static; }
  .woocommerce-cart .content-area::before{ width:240px; height:300px; opacity:.2; }
  .checkout-page-title{ font-size:13px; padding:24px 12px 18px !important; }
  /* Checkout: stack details over the order summary, un-stick */
  .checkout-sidebar{ position:static; margin-top:22px; }
  #customer_details, .woocommerce-checkout .checkout-sidebar{ width:100% !important; }
  .woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields{ padding:20px 18px 10px; }
}
@media (max-width:600px){
  .cco-cart-title-row{ padding:2px 16px 14px; }
  .cco-cart-title-row h1{ font-size:26px; }
  .cco-checkout-hero-inner{ padding:26px 16px 22px; }
  .cco-checkout-hero h1{ font-size:29px; }
  .cco-checkout-hero::before{ opacity:.22; }
  .cco-co-sub{ font-size:13px; margin-bottom:14px; }
  .cco-trust-row{ gap:8px 16px; }
  .cco-trust-row li{ font-size:11.5px; }
  /* Each line: image (left, spans) · name+price (top) · qty + line-total (bottom row) */
  .cco-cart-items-head{ display:none; }
  .cco-cart-line{
    grid-template-columns:64px 1fr auto;
    grid-template-areas:"img info info" "img qty sub";
    gap:10px 12px; padding:18px 16px; align-items:center;
  }
  .cco-line-img{ grid-area:img; align-self:start; }
  .cco-line-img img{ width:64px; height:64px; }
  .cco-line-info{ grid-area:info; padding-right:26px; }
  .cco-line-name{ font-size:16px; }
  .cco-line-qty{ grid-area:qty; justify-content:flex-start; }
  .cco-line-subtotal{ grid-area:sub; position:static; text-align:right; font-size:16px; }
  .cco-cart-layout{ padding:6px 12px 40px; }
  .cco-cart-actions{ gap:12px; flex-wrap:nowrap; }
  .cco-continue{ font-size:11px; letter-spacing:.06em; }
  .cco-update.button{ flex:0 0 auto; white-space:nowrap; padding:13px 18px !important; font-size:11px; }
}

/* ===================================================================
   Order bumps (checkout) — vintage, responsive
   =================================================================== */
.cco-bumps{ margin:18px 0 20px; }
.cco-bumps-head{ display:flex; align-items:center; gap:7px; font-family:"Cormorant Garamond",Georgia,serif; font-size:18px; font-weight:600; color:#3a2a18; margin:0 0 12px; letter-spacing:.2px; }
.cco-bumps-head svg{ color:#b08d57; flex:0 0 auto; }
.cco-bump{ display:flex; align-items:center; gap:13px; padding:13px 15px; border:1px solid #e3d7bf; border-radius:10px; background:#fff; cursor:pointer; margin-bottom:10px; position:relative; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.cco-bump:hover{ border-color:#c9a961; }
.cco-bump.is-added,
.cco-bump:has(.cco-bump-check input:checked){ border-color:#7a1f1f; background:#fdf7f0; box-shadow:0 2px 12px rgba(122,31,31,.09); }
.cco-bump.cco-bump-loading{ opacity:.55; pointer-events:none; }
.cco-bump-check{ flex:0 0 auto; display:flex; }
.cco-bump-check input{ position:absolute; opacity:0; width:0; height:0; }
.cco-bump-box{ display:block; width:23px; height:23px; border:2px solid #c9a961; border-radius:6px; background:#fff; position:relative; transition:background .15s ease, border-color .15s ease; }
.cco-bump.is-added .cco-bump-box,
.cco-bump-check input:checked ~ .cco-bump-box{ background:#7a1f1f; border-color:#7a1f1f; }
.cco-bump.is-added .cco-bump-box::after,
.cco-bump-check input:checked ~ .cco-bump-box::after{ content:""; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.cco-bump-img{ flex:0 0 auto; width:58px; height:58px; border-radius:8px; overflow:hidden; border:1px solid #eee4cf; background:#fff; }
.cco-bump-img img{ width:100%; height:100%; object-fit:cover; display:block; margin:0; border-radius:0; }
.cco-bump-body{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.cco-bump-name{ font-family:"Cormorant Garamond",Georgia,serif; font-size:16.5px; font-weight:600; color:#2b2118; line-height:1.18; }
.cco-bump-text{ font-size:12.5px; color:#6a5a44; line-height:1.4; }
.cco-bump-price{ font-size:13.5px; margin-top:3px; display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
.cco-bump-price del, .cco-bump-price del .woocommerce-Price-amount{ color:#9a8b76 !important; }
.cco-bump-price ins{ text-decoration:none; }
.cco-bump-price ins, .cco-bump-price ins .woocommerce-Price-amount{ color:#7a1f1f !important; font-weight:700; }
.cco-bump-price em{ font-style:normal; color:#b08d57; text-transform:uppercase; letter-spacing:.08em; font-size:10.5px; }
.cco-bump-tag{ display:inline-block; font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; color:#7a1f1f; border:1px solid #e3c9c0; border-radius:4px; padding:1px 6px; margin-left:6px; vertical-align:middle; }
@media (max-width:600px){
  .cco-bumps-head{ font-size:16.5px; }
  .cco-bump{ padding:11px 12px; gap:11px; }
  .cco-bump-img{ width:50px; height:50px; }
  .cco-bump-name{ font-size:15.5px; }
  .cco-bump-text{ font-size:12px; }
  .cco-bump-box{ width:22px; height:22px; }
}
