/* ============================================================
   CLOTHING VIBES — BRAND LOCK + PREMIUM CART/CHECKOUT
   Loaded last so it wins over Solace + WooCommerce block styles.
   1. Tokens
   2. Button lock (classic Woo / Solace Extra / Elementor / WC Blocks)
   3. Page title band
   4. Cart + Checkout blocks — premium
   5. Responsive
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  --cv-navy:#1B2A4A;
  --cv-gold:#B4884A;
  --cv-gold-dk:#9C7139;
  --cv-line:#EFE9E1;
  --cv-muted:#5C6270;
  --cv-cream:#FAF7F2;
  --cv-serif:'Cormorant Garamond',Georgia,serif;
  --cv-sans:Jost,system-ui,-apple-system,sans-serif;
}

/* ---------- 2. BUTTON LOCK ---------- */
/* Every primary action on the site is the same gold square button. */
body .add_to_cart_button,
body a.add_to_cart_button,
body .elementor-button.solace-extra-button,
body ul.products li.product .button,
body ul.products li.product a.button,
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body .woocommerce a.button.alt,
body .woocommerce button.button.alt,
body .woocommerce input.button.alt,
body .woocommerce div.product form.cart .button,
body .woocommerce #respond input#submit,
body .woocommerce .woocommerce-message .button,
body .woocommerce .woocommerce-info .button,
body .wc-block-cart__submit-button,
body a.wc-block-cart__submit-button,
body button.wc-block-cart__submit-button,
body .wc-block-components-checkout-place-order-button,
body .wp-block-woocommerce-cart .wp-block-button__link,
body .wc-block-components-totals-coupon__button,
body .woocommerce-page a.wp-block-button__link{
  background:var(--cv-gold)!important;
  background-image:none!important;
  color:#fff!important;
  border:1px solid var(--cv-gold)!important;
  border-radius:0!important;
  font-family:var(--cv-sans)!important;
  font-size:11.5px!important;
  font-weight:500!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  line-height:1.5!important;
  box-shadow:none!important;
  transition:background .22s ease,border-color .22s ease!important;
}
body .add_to_cart_button:hover,
body a.add_to_cart_button:hover,
body .elementor-button.solace-extra-button:hover,
body ul.products li.product .button:hover,
body .woocommerce a.button:hover,
body .woocommerce button.button:hover,
body .woocommerce input.button:hover,
body .woocommerce a.button.alt:hover,
body .woocommerce button.button.alt:hover,
body .woocommerce div.product form.cart .button:hover,
body .woocommerce #respond input#submit:hover,
body .wc-block-cart__submit-button:hover,
body a.wc-block-cart__submit-button:hover,
body button.wc-block-cart__submit-button:hover,
body .wc-block-components-checkout-place-order-button:hover,
body .wp-block-woocommerce-cart .wp-block-button__link:hover,
body .wc-block-components-totals-coupon__button:hover{
  background:var(--cv-navy)!important;
  border-color:var(--cv-navy)!important;
  color:#fff!important;
}
/* Button label spans inside WC block buttons inherit, never blue */
body .wc-block-cart__submit-button span,
body .wc-block-cart__submit-button .wc-block-components-button__text,
body .wc-block-components-checkout-place-order-button span,
body .wc-block-components-checkout-place-order-button .wc-block-components-button__text,
body .wc-block-components-totals-coupon__button span{
  color:#fff!important;
  font-family:var(--cv-sans)!important;
  font-size:11.5px!important;
  font-weight:500!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}

/* "View cart" secondary state after ajax add */
body .added_to_cart,
body ul.products li.product .added_to_cart{
  background:#fff!important;
  color:var(--cv-navy)!important;
  border:1px solid #C8BFAF!important;
}
body .added_to_cart:hover{background:var(--cv-navy)!important;color:#fff!important;border-color:var(--cv-navy)!important}

/* Controls that must NOT become gold buttons */
body .wc-block-components-quantity-selector__button,
body .wc-block-cart-item__remove-link,
body .wc-block-components-panel__button,
body .wc-block-components-totals-coupon__form .wc-block-components-text-input input{
  background:transparent!important;
  background-image:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
body .wc-block-components-quantity-selector__button{
  color:var(--cv-navy)!important;
  border:0!important;
  font-size:16px!important;
}
body .wc-block-cart-item__remove-link{
  color:var(--cv-muted)!important;
  border:0!important;
  font-family:var(--cv-sans)!important;
  font-size:11.5px!important;
  text-decoration:underline!important;
}
body .wc-block-cart-item__remove-link:hover{color:var(--cv-gold)!important}

/* Links inherit brand, never theme blue */
body .woocommerce a:not(.button):not(.add_to_cart_button):not(.elementor-button),
body .wc-block-components-product-name{color:var(--cv-navy)!important}
body .woocommerce a:not(.button):not(.add_to_cart_button):not(.elementor-button):hover,
body .wc-block-components-product-name:hover{color:var(--cv-gold)!important}

/* Sale badge */
body .wc-block-components-sale-badge,
body span.onsale{
  background:var(--cv-gold)!important;
  color:#fff!important;
  border:0!important;
  border-radius:0!important;
  font-family:var(--cv-sans)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  padding:4px 9px!important;
}

/* ---------- 3. PAGE TITLE BAND ---------- */
/* Was a full-viewport black slab. Now a slim navy band with a gold rule. */
body.woocommerce-page main.main-page header.boxes-header,
body.woocommerce-cart main.main-page header.boxes-header,
body.woocommerce-checkout main.main-page header.boxes-header,
body.woocommerce-account main.main-page header.boxes-header{
  background:var(--cv-navy)!important;
  border-bottom:3px solid var(--cv-gold)!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
}
body.woocommerce-page main.main-page header.boxes-header .cover{
  min-height:0!important;height:auto!important;
  padding:54px 24px!important;
  max-width:1280px;margin:0 auto;
  display:block!important;
}
body.woocommerce-page main.main-page header.boxes-header .image,
body.woocommerce-page main.main-page header.boxes-header .post-thumbnail{display:none!important}
body.woocommerce-page main.main-page header.boxes-header .the-title h1{
  font-family:var(--cv-serif)!important;
  font-size:46px!important;
  font-weight:400!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#fff!important;
  margin:0!important;
  line-height:1.15!important;
}

/* ---------- 4. CART + CHECKOUT — PREMIUM ---------- */
body.woocommerce-cart,
body.woocommerce-checkout{background:var(--cv-cream)!important}
body.woocommerce-cart .boxes-content,
body.woocommerce-checkout .boxes-content{
  max-width:1280px!important;margin:0 auto!important;padding:54px 24px 80px!important;
}
body .wp-block-woocommerce-cart,
body .wp-block-woocommerce-checkout{font-family:var(--cv-sans)!important;color:var(--cv-navy)}

/* Two-column shell.
   WooCommerce sizes main/sidebar as percentages that already total 100%,
   so a gap alone forces the sidebar to wrap onto its own row. Give both
   columns explicit flex bases that leave room for the gap. */
body .wc-block-components-sidebar-layout{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:40px!important;
  align-items:flex-start!important;
}
body .wc-block-components-sidebar-layout > .wc-block-components-main{
  flex:1 1 auto!important;
  width:auto!important;max-width:none!important;
  box-sizing:border-box!important;
  padding:10px 28px 18px!important;
}
body .wc-block-components-sidebar-layout > .wc-block-components-sidebar{
  flex:0 0 378px!important;
  width:378px!important;max-width:378px!important;
  box-sizing:border-box!important;
  padding:28px!important;
  position:sticky!important;top:24px!important;
}

/* Items panel */
body .wc-block-components-main{
  background:#fff!important;
  border:1px solid var(--cv-line)!important;
  padding:10px 28px 18px!important;
}
body .wc-block-cart-items{border:0!important;margin:0!important}
body .wc-block-cart-items__header{
  font-family:var(--cv-sans)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
  color:var(--cv-muted)!important;
  border-bottom:1px solid var(--cv-line)!important;
}
body .wc-block-cart-items__header th{padding:16px 0!important}
body .wc-block-cart-items__row{border-bottom:1px solid var(--cv-line)!important}
body .wc-block-cart-items__row td{padding:24px 0!important;vertical-align:top!important}
body .wc-block-cart-item__image img{
  width:110px!important;height:auto!important;
  aspect-ratio:410/608;object-fit:cover;
  border:1px solid var(--cv-line)!important;
}
body .wc-block-components-product-name{
  font-family:var(--cv-serif)!important;
  font-size:21px!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-decoration:none!important;
  display:block;margin-bottom:6px;
}
body .wc-block-components-product-price{
  font-family:var(--cv-sans)!important;font-size:13.5px!important;color:var(--cv-navy)!important;
}
body .wc-block-components-product-price del{color:#9A9384!important;font-weight:300!important;opacity:1!important}
body .wc-block-components-product-price ins{text-decoration:none!important;background:none!important;font-weight:500!important}
body .wc-block-components-product-metadata{
  font-family:var(--cv-sans)!important;font-size:12px!important;color:var(--cv-muted)!important;margin-top:4px;
}
body .wc-block-cart-item__total .wc-block-components-product-price{
  font-size:15px!important;font-weight:500!important;
}

/* Quantity stepper */
body .wc-block-components-quantity-selector{
  border:1px solid var(--cv-line)!important;
  border-radius:0!important;
  max-width:112px!important;
  margin-top:12px!important;
}
body .wc-block-components-quantity-selector__input{
  font-family:var(--cv-sans)!important;font-size:13.5px!important;color:var(--cv-navy)!important;
}
body .wc-block-components-quantity-selector::after{border:0!important}

/* Totals sidebar */
body .wc-block-components-sidebar{
  background:#fff!important;
  border:1px solid var(--cv-line)!important;
  border-top:3px solid var(--cv-gold)!important;
  padding:28px!important;
}
body .wc-block-cart__totals-title,
body .wp-block-woocommerce-cart-order-summary-heading-block{
  font-family:var(--cv-serif)!important;
  font-size:24px!important;
  font-weight:500!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  color:var(--cv-navy)!important;
  padding:0 0 16px!important;
  border-bottom:1px solid var(--cv-line)!important;
  margin-bottom:8px!important;
}
body .wc-block-components-totals-item{
  font-family:var(--cv-sans)!important;font-size:13.5px!important;color:var(--cv-navy)!important;padding:11px 0!important;
}
body .wc-block-components-totals-footer-item{
  border-top:1px solid var(--cv-line)!important;
  margin-top:8px!important;padding-top:18px!important;
}
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-family:var(--cv-sans)!important;font-size:11px!important;letter-spacing:.2em!important;text-transform:uppercase!important;
}
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-family:var(--cv-serif)!important;font-size:27px!important;font-weight:600!important;color:var(--cv-navy)!important;
}
body .wc-block-components-panel__button{
  font-family:var(--cv-sans)!important;font-size:12.5px!important;color:var(--cv-muted)!important;padding:14px 0!important;
}
/* WooCommerce pads this wrapper heavily; it leaves a dead gap above the total */
body .wc-block-components-totals-wrapper{padding:14px 0!important;margin:0!important}
body .wc-block-components-totals-wrapper:empty{display:none!important}

body .wc-block-cart__submit-container{margin-top:20px!important;padding:0!important}
/* On phones WooCommerce sticks the checkout button to the bottom of the screen.
   Give it a solid backing so it never floats over the totals. */
body .wc-block-cart__submit-container--sticky{
  background:#fff!important;
  border-top:1px solid var(--cv-line)!important;
  padding:12px 16px!important;
  margin:0!important;
  box-shadow:0 -6px 18px rgba(27,42,74,.10)!important;
}
body .wc-block-cart__submit-button{
  width:100%!important;display:block!important;text-align:center!important;padding:17px 20px!important;
}

/* Inputs */
body .wc-block-components-text-input input,
body .wc-block-components-select__container,
body .wc-block-components-textarea{
  border:1px solid var(--cv-line)!important;border-radius:0!important;
  font-family:var(--cv-sans)!important;font-size:13.5px!important;background:#fff!important;
}
body .wc-block-components-text-input input:focus{border-color:var(--cv-gold)!important;box-shadow:none!important;outline:0!important}
body .wc-block-components-checkout-step__title{
  font-family:var(--cv-serif)!important;font-size:23px!important;font-weight:500!important;color:var(--cv-navy)!important;
}

/* Empty cart */
body .wp-block-woocommerce-empty-cart-block{
  background:#fff!important;border:1px solid var(--cv-line)!important;padding:56px 28px!important;text-align:center;
}
body .wp-block-woocommerce-empty-cart-block h2{font-family:var(--cv-serif)!important;color:var(--cv-navy)!important}

/* Notices */
body .wc-block-components-notice-banner{border-radius:0!important;font-family:var(--cv-sans)!important;font-size:13px!important}
body .wc-block-components-notice-banner.is-info{border-color:var(--cv-gold)!important}

/* ---------- 4b. PRODUCT CARD ALIGNMENT ----------
   Card heights were driven by the title: a one-line name pulled the price
   and the ORDER NOW button up, a two-line name pushed them down, so nothing
   lined up across a row. Fix in two ways at once:
     - reserve two lines for the title (and one for the category eyebrow),
       so prices line up;
     - make every card a flex column and push the button with margin-top:auto,
       so buttons line up even when a title runs to three lines.
   Applies to the WooCommerce loop (shop / category / related products)
   and to the custom home-page grid.                                      */

/* --- WooCommerce loop cards --- */
body .woocommerce ul.products,
body ul.products{align-items:stretch!important}

body .woocommerce ul.products li.product,
body ul.products li.product{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
body ul.products li.product .nv-card-content-wrapper{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
body ul.products li.product .woocommerce-loop-product__link,
body ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
/* Two lines reserved for the name */
body ul.products li.product .woocommerce-loop-product__title{
  min-height:2.4em!important;
  display:block!important;
}
/* Price sits at the bottom of the text block, so prices align */
body ul.products li.product .price{margin-top:auto!important}
/* Button always last, flush to the bottom of the card */
body ul.products li.product .button,
body ul.products li.product a.button,
body ul.products li.product .add_to_cart_button,
body ul.products li.product .elementor-button.solace-extra-button,
body ul.products li.product .added_to_cart{
  margin-top:auto!important;
  align-self:stretch!important;
}
/* Category eyebrow, when the card has one */
body ul.products li.product .product_cat,
body ul.products li.product .posted_in,
body ul.products li.product .sp-product-cat{min-height:1.4em!important;display:block!important}

/* --- Home-page custom grid --- */
body .cv-grid{align-items:stretch!important}
body .cv-grid .cv-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
body .cv-grid .cv-card-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
body .cv-grid .cv-card-cat{min-height:1.4em!important;display:block!important}
body .cv-grid .cv-card-name{min-height:2.4em!important;display:block!important}
body .cv-grid .cv-card-price{margin-top:auto!important}
body .cv-grid .cv-card .button,
body .cv-grid .cv-card .add_to_cart_button,
body .cv-grid .cv-card .elementor-button,
body .cv-grid .cv-card .cv-card-btn{
  margin-top:auto!important;
  align-self:stretch!important;
}

/* Grid column counts (4 desktop / 3 tablet / 2 phone) live in cv-fixes.css.
   Do not duplicate them here — two files fighting over the same property is
   how the tablet breakpoint silently ended up at 2 columns. */

/* ---------- 4c. CLASSIC CHECKOUT ----------
   Checkout runs on the classic [woocommerce_checkout] shortcode so Checkout
   Field Editor can own the fields. Layout: delivery form left, order summary
   right (sticky) on desktop; one column on phones.                          */

body.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 400px!important;
  column-gap:40px!important;
  align-items:start!important;
}
body.woocommerce-checkout form.checkout #customer_details{
  grid-column:1!important;grid-row:1 / span 2!important;
  background:#fff!important;border:1px solid var(--cv-line)!important;
  padding:32px 34px 30px!important;margin:0!important;width:auto!important;
}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{
  float:none!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;
}
body.woocommerce-checkout #customer_details .col-2{
  margin-top:26px!important;padding-top:24px!important;border-top:1px solid var(--cv-line)!important;
}
body.woocommerce-checkout #customer_details .col-2:empty{display:none!important}

/* Order summary card = heading + review stacked in column 2 */
body.woocommerce-checkout form.checkout #order_review_heading{
  grid-column:2!important;grid-row:1!important;
  background:#fff!important;border:1px solid var(--cv-line)!important;border-bottom:0!important;
  border-top:3px solid var(--cv-gold)!important;
  padding:26px 28px 6px!important;margin:0!important;
}
body.woocommerce-checkout form.checkout #order_review{
  grid-column:2!important;grid-row:2!important;
  background:#fff!important;border:1px solid var(--cv-line)!important;border-top:0!important;
  padding:4px 28px 28px!important;margin:0!important;width:auto!important;float:none!important;
  position:sticky!important;top:24px!important;
}

/* Headings */
body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout #order_review_heading{
  font-family:var(--cv-serif)!important;font-size:26px!important;font-weight:500!important;
  letter-spacing:.05em!important;text-transform:uppercase!important;color:var(--cv-navy)!important;
  line-height:1.2!important;margin:0 0 18px!important;
}
body.woocommerce-checkout #customer_details .col-2 h3{font-size:20px!important;margin-bottom:14px!important}

/* Fields */
body.woocommerce-checkout form.checkout .form-row{
  float:none!important;width:100%!important;padding:0!important;margin:0 0 18px!important;
}
body.woocommerce-checkout form.checkout .form-row label{
  font-family:var(--cv-sans)!important;font-size:11px!important;font-weight:500!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--cv-navy)!important;
  margin:0 0 7px!important;line-height:1.4!important;display:block!important;
}
body.woocommerce-checkout form.checkout .form-row label .required,
body.woocommerce-checkout form.checkout .form-row label abbr{
  color:var(--cv-gold)!important;text-decoration:none!important;border:0!important;
}
body.woocommerce-checkout form.checkout .form-row label .optional{
  text-transform:none!important;letter-spacing:0!important;color:#9A9384!important;font-weight:300!important;
}
body.woocommerce-checkout form.checkout .form-row input.input-text,
body.woocommerce-checkout form.checkout .form-row textarea,
body.woocommerce-checkout form.checkout .form-row select{
  width:100%!important;box-sizing:border-box!important;
  height:50px!important;padding:0 16px!important;
  background:#fff!important;border:1px solid #DCD4C7!important;border-radius:0!important;
  font-family:var(--cv-sans)!important;font-size:14.5px!important;color:var(--cv-navy)!important;
  box-shadow:none!important;transition:border-color .2s ease!important;
}
body.woocommerce-checkout form.checkout .form-row textarea{height:auto!important;min-height:92px!important;padding:13px 16px!important;line-height:1.5!important}
body.woocommerce-checkout form.checkout .form-row input.input-text::placeholder,
body.woocommerce-checkout form.checkout .form-row textarea::placeholder{color:#A9A294!important;opacity:1!important}
body.woocommerce-checkout form.checkout .form-row input.input-text:focus,
body.woocommerce-checkout form.checkout .form-row textarea:focus{border-color:var(--cv-gold)!important;outline:0!important}
body.woocommerce-checkout form.checkout .form-row.woocommerce-invalid input.input-text{border-color:#C0453B!important}
body.woocommerce-checkout form.checkout .form-row.woocommerce-validated input.input-text{border-color:#DCD4C7!important}

/* Order table */
body.woocommerce-checkout #order_review table.shop_table{
  border:0!important;border-radius:0!important;margin:0 0 22px!important;width:100%!important;border-collapse:collapse!important;
  font-family:var(--cv-sans)!important;
}
body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td{
  padding:14px 0!important;border:0!important;border-bottom:1px solid var(--cv-line)!important;
  background:transparent!important;color:var(--cv-navy)!important;font-size:13.5px!important;vertical-align:top!important;
}
body.woocommerce-checkout #order_review table.shop_table thead th{
  font-size:10.5px!important;font-weight:500!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--cv-muted)!important;padding-top:8px!important;
}
body.woocommerce-checkout #order_review table.shop_table td.product-name{padding-right:14px!important;line-height:1.45!important}
body.woocommerce-checkout #order_review table.shop_table .product-quantity{color:var(--cv-muted)!important;font-weight:400!important}
body.woocommerce-checkout #order_review table.shop_table td.product-total,
body.woocommerce-checkout #order_review table.shop_table tfoot td{text-align:right!important;white-space:nowrap!important}
body.woocommerce-checkout #order_review table.shop_table tfoot th{
  font-size:11px!important;font-weight:500!important;letter-spacing:.16em!important;text-transform:uppercase!important;text-align:left!important;
}
body.woocommerce-checkout #order_review table.shop_table tr.order-total th,
body.woocommerce-checkout #order_review table.shop_table tr.order-total td{border-bottom:0!important;padding-top:18px!important}
body.woocommerce-checkout #order_review table.shop_table tr.order-total td,
body.woocommerce-checkout #order_review table.shop_table tr.order-total td strong,
body.woocommerce-checkout #order_review table.shop_table tr.order-total .amount{
  font-family:var(--cv-serif)!important;font-size:27px!important;font-weight:600!important;color:var(--cv-navy)!important;line-height:1!important;
}

/* Cormorant defaults to old-style figures ("5,550" drops below the line and
   looks smaller than the ৳ sign). Totals must read as prices: lining figures. */
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout #order_review table.shop_table tr.order-total td,
body.woocommerce-checkout #order_review table.shop_table tr.order-total .amount{
  font-variant-numeric:lining-nums tabular-nums!important;
  font-feature-settings:"lnum" 1,"tnum" 1!important;
}
/* A theme rule pins <bdi> prices to 16px, so the big total shrank back.
   Inherit instead; set the ৳ sign in Jost (Cormorant has no ৳ glyph) a size down. */
body.woocommerce-checkout #order_review table.shop_table bdi{font-size:inherit!important}
body.woocommerce-checkout #order_review table.shop_table tr.order-total .woocommerce-Price-currencySymbol{
  font-family:var(--cv-sans)!important;font-size:.7em!important;font-weight:500!important;margin-right:2px!important;
}

/* Payment */
body.woocommerce-checkout #payment{background:transparent!important;border-radius:0!important;padding:0!important}
body.woocommerce-checkout #payment ul.payment_methods{border:0!important;padding:0!important;margin:0 0 18px!important;list-style:none!important}
body.woocommerce-checkout #payment ul.payment_methods li{
  background:var(--cv-cream)!important;border:1px solid var(--cv-line)!important;padding:14px 16px!important;margin:0!important;list-style:none!important;
}
body.woocommerce-checkout #payment ul.payment_methods li label{
  font-family:var(--cv-sans)!important;font-size:14px!important;font-weight:500!important;color:var(--cv-navy)!important;display:inline!important;
}
body.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{accent-color:var(--cv-gold)!important;margin-right:8px!important}
body.woocommerce-checkout #payment div.payment_box{
  background:transparent!important;color:var(--cv-muted)!important;font-family:var(--cv-sans)!important;font-size:12.5px!important;
  padding:6px 0 0 24px!important;margin:0!important;border-radius:0!important;
}
body.woocommerce-checkout #payment div.payment_box::before{display:none!important}
body.woocommerce-checkout #payment div.payment_box p{
  font-family:var(--cv-sans)!important;font-size:12.5px!important;line-height:1.55!important;color:var(--cv-muted)!important;margin:0!important;
}
body.woocommerce-checkout #payment div.form-row.place-order{padding:0!important;margin:0!important}
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
  font-family:var(--cv-sans)!important;font-size:12px!important;line-height:1.6!important;color:var(--cv-muted)!important;margin:0 0 16px!important;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text p{
  font-family:var(--cv-sans)!important;font-size:12px!important;line-height:1.6!important;color:var(--cv-muted)!important;margin:0!important;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text a{color:var(--cv-gold)!important}
body.woocommerce-checkout #place_order{
  width:100%!important;float:none!important;display:block!important;padding:17px 20px!important;margin:0!important;
  font-size:12px!important;letter-spacing:.2em!important;
}

/* Notices above the form: coupon toggle, added-to-cart, errors */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info{
  background:#fff!important;color:var(--cv-navy)!important;
  border:1px solid var(--cv-line)!important;border-left:3px solid var(--cv-gold)!important;border-radius:0!important;
  font-family:var(--cv-sans)!important;font-size:13px!important;padding:14px 18px!important;margin:0 0 22px!important;box-shadow:none!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;
}
/* Solace flips this notice to column-reverse + centred on phones, which puts
   the link above its own question. Keep it reading left to right. */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  flex-direction:row!important;text-align:left!important;
}
@media(max-width:767px){
  body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{justify-content:flex-start!important;gap:4px 8px!important}
}
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-message::before{display:none!important}
body.woocommerce-checkout .woocommerce-info a,
body.woocommerce-checkout .woocommerce-info .showcoupon{
  background:transparent!important;border:0!important;padding:0!important;color:var(--cv-gold)!important;
  text-decoration:underline!important;text-underline-offset:3px!important;font-weight:500!important;
  font-size:13px!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;
}
body.woocommerce-checkout .woocommerce-message .button{
  padding:9px 16px!important;font-size:10.5px!important;
}
body.woocommerce-checkout ul.woocommerce-error{
  background:#fff!important;color:var(--cv-navy)!important;list-style:none!important;
  border:1px solid var(--cv-line)!important;border-left:3px solid #C0453B!important;border-radius:0!important;
  font-family:var(--cv-sans)!important;font-size:13px!important;padding:14px 18px!important;margin:0 0 22px!important;
}
body.woocommerce-checkout ul.woocommerce-error::before{display:none!important}
body.woocommerce-checkout ul.woocommerce-error li{margin:2px 0!important;padding:0!important}
body.woocommerce-checkout form.checkout_coupon{
  background:#fff!important;border:1px solid var(--cv-line)!important;border-radius:0!important;padding:18px!important;margin:0 0 22px!important;
}

@media(max-width:999px){
  body.woocommerce-checkout form.checkout.woocommerce-checkout{display:block!important}
  body.woocommerce-checkout form.checkout #customer_details{padding:24px 20px 20px!important;margin-bottom:22px!important}
  body.woocommerce-checkout form.checkout #order_review_heading{padding:22px 20px 4px!important}
  body.woocommerce-checkout form.checkout #order_review{padding:4px 20px 22px!important;position:static!important}
}
@media(max-width:767px){
  body.woocommerce-checkout #customer_details h3,
  body.woocommerce-checkout #order_review_heading{font-size:22px!important}
  body.woocommerce-checkout #customer_details .col-2 h3{font-size:18px!important}
  /* 16px stops iPhones zooming the page when a field is tapped */
  body.woocommerce-checkout form.checkout .form-row input.input-text,
  body.woocommerce-checkout form.checkout .form-row textarea{font-size:16px!important}
  body.woocommerce-checkout #order_review table.shop_table tr.order-total .amount{font-size:24px!important}
}

/* ---------- 5. RESPONSIVE ---------- */
@media(max-width:1024px){
  body .wc-block-components-sidebar-layout{gap:24px!important}
  body .wc-block-components-sidebar-layout > .wc-block-components-sidebar{
    flex:0 0 310px!important;width:310px!important;max-width:310px!important;padding:22px!important;
  }
  body .wc-block-components-sidebar-layout > .wc-block-components-main{padding:8px 20px 14px!important}
}

@media(max-width:900px){
  /* Below this the two columns get too cramped — stack them. */
  body .wc-block-components-sidebar-layout{display:block!important}
  body .wc-block-components-sidebar-layout > .wc-block-components-main,
  body .wc-block-components-sidebar-layout > .wc-block-components-sidebar{
    flex:none!important;width:100%!important;max-width:none!important;position:static!important;
  }
  body .wc-block-components-sidebar-layout > .wc-block-components-main{margin-bottom:24px!important}
}

@media(max-width:767px){
  body.woocommerce-page main.main-page header.boxes-header .cover{padding:32px 18px!important}
  body.woocommerce-page main.main-page header.boxes-header .the-title h1{font-size:30px!important;letter-spacing:.06em!important}
  body.woocommerce-cart .boxes-content,
  body.woocommerce-checkout .boxes-content{padding:26px 14px 56px!important}

  /* Stack items panel and totals */
  body .wc-block-components-sidebar-layout{display:block!important}
  body .wc-block-components-sidebar-layout > .wc-block-components-main{padding:6px 16px 10px!important;margin-bottom:22px!important}
  body .wc-block-components-sidebar-layout > .wc-block-components-sidebar{padding:20px 16px!important;width:100%!important}

  /* The line item is a <table>. At phone width the total column is pushed
     off screen, so re-lay each row out as a grid:
       image | product
       image | total                                             */
  body .wc-block-cart-items__header{display:none!important}
  body .wc-block-cart-items,
  body .wc-block-cart-items tbody{display:block!important;width:100%!important}
  body .wc-block-cart-items__row{
    display:grid!important;
    grid-template-columns:84px minmax(0,1fr)!important;
    column-gap:14px!important;row-gap:6px!important;
    width:100%!important;
    padding:18px 0!important;
  }
  body .wc-block-cart-items__row td{
    display:block!important;
    width:auto!important;max-width:100%!important;
    padding:0!important;
  }
  body .wc-block-cart-item__image{grid-area:1/1/3/2!important}
  body .wc-block-cart-item__product{grid-area:1/2/2/3!important;min-width:0!important}
  body .wc-block-cart-item__total{
    grid-area:2/2/3/3!important;
    text-align:left!important;
    display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;
  }
  body .wc-block-cart-item__image img{width:84px!important}
  body .wc-block-components-product-name{font-size:18px!important}
  body .wc-block-components-product-price{font-size:13px!important}
  body .wc-block-components-quantity-selector{max-width:104px!important;margin-top:10px!important}
  /* Keep the summary heading — WooCommerce hides it at phone width */
  body .wc-block-cart__totals-title{display:block!important}

  body .wc-block-cart__totals-title,
  body .wp-block-woocommerce-cart-order-summary-heading-block{font-size:20px!important}
  body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:23px!important}
  body .wc-block-cart__submit-button{padding:16px 16px!important;font-size:11px!important;letter-spacing:.16em!important}

  /* Buttons stay tappable */
  body .add_to_cart_button,
  body .elementor-button.solace-extra-button,
  body ul.products li.product .button{
    font-size:10.5px!important;letter-spacing:.14em!important;padding:12px 10px!important;
  }
  /* Names are smaller on phones, so two reserved lines are shorter too */
  body ul.products li.product .woocommerce-loop-product__title,
  body .cv-grid .cv-card-name{min-height:2.4em!important}
}

@media(max-width:400px){
  body .wc-block-cart-item__image img{width:70px!important}
  body .wc-block-components-product-name{font-size:16.5px!important}
}
