/*
Theme Name:   Bonum
Theme URI:    https://bonumartgallery.com
Description:  Tema propio de Bonum Art Gallery. Hijo de Storefront por compatibilidad WooCommerce garantizada, sin estilo heredado.
Author:       Bonum Art Gallery
Template:     storefront
Version:      1.1.2
Text Domain:  bonum
*/

/* =========================================================================
   TOKENS BONUM
   ========================================================================= */
:root {
  --bn-white:#ffffff;
  --bn-paper:#f7f3ec;
  --bn-paper-soft:#fbf8f2;
  --bn-ink:#1a1714;
  --bn-ink-soft:#5d5850;
  --bn-muted:#8b8378;
  --bn-gold:#9a7a42;
  --bn-gold-soft:#b9a077;
  --bn-rule:rgba(154,122,66,.22);
  --bn-serif:'Fraunces', Georgia, serif;
  --bn-sans:'Instrument Sans', Arial, sans-serif;
}
/* ── Tokens del chrome (paso 1): alto de header + gutter ──
   Los consume el header / overlay / hamburguesa. Sin esto, todo
   el menú móvil corre sobre var() indefinidas y se descoloca. */
:root{
  --bn-header-h:104px;
  --bn-gutter:64px;
}
@media (max-width:980px){
  :root{
    --bn-header-h:64px;
    --bn-gutter:24px;
  }
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bn-white);
  color:var(--bn-ink);
  font-family:var(--bn-sans);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;}
img{max-width:100%;height:auto;}

/* =========================================================================
   NEUTRALIZAR STOREFRONT
   ========================================================================= */
.storefront-primary-navigation,
.site-header,
.site-footer,
.storefront-handheld-footer-bar{display:none;}

.col-full{
  max-width:none;
  width:100%;
  padding:0;
  margin:0;
}

/* =========================================================================
   HEADER BONUM
   ========================================================================= */
.bn-header{
  background:var(--bn-white);
  border-bottom:1px solid rgba(26,23,20,.08);
}
.bn-header-inner{
  position:relative;
  padding:18px 40px 0;
}
.bn-logo{
  text-align:center;
  margin-bottom:12px;
  line-height:1;
}
.bn-logo a{
  display:inline-block;
  text-decoration:none;
  border:0;
}
.bn-logo-img{
  height:36px;
  width:auto;
  display:block;
  margin:0 auto;
}
.bn-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:clamp(24px,4vw,58px);
  padding-bottom:14px;
}
.bn-nav a,
.bn-util a{
  font-family:var(--bn-sans);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--bn-ink);
  opacity:.78;
  transition:opacity .25s ease,border-color .25s ease,color .25s ease;
  text-decoration:none;
}
.bn-nav a{
  padding:4px 0;
  border-bottom:1px solid transparent;
}
.bn-nav a:hover{
  opacity:1;
  border-bottom-color:var(--bn-gold);
}
.bn-util{
  position:absolute;
  top:22px;
  right:40px;
  display:flex;
  align-items:center;
  gap:22px;
}
.bn-util a:hover{
  opacity:1;
  color:var(--bn-gold);
}

/* =========================================================================
   FOOTER BONUM
   ========================================================================= */
.bn-footer{
  position:relative;
  background:var(--bn-ink);
  color:#ffffff;
  padding:clamp(80px,11vh,140px) 64px 56px;
}
.bn-footer-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:clamp(48px,7vw,120px);
  align-items:start;
}
.bn-footer-mark{
  font-family:var(--bn-serif);
  font-weight:300;
  letter-spacing:-.018em;
  font-size:clamp(30px,4.4vw,52px);
  line-height:1.04;
  margin-bottom:22px;
  color:#ffffff;
}
.bn-footer-line{
  font-family:var(--bn-serif);
  font-style:italic;
  font-weight:300;
  font-size:clamp(16px,1.6vw,21px);
  line-height:1.5;
  color:rgba(255,255,255,.72);
  max-width:460px;
}
.bn-footer-aside{
  display:flex;
  flex-direction:column;
  gap:40px;
  padding-top:10px;
}
.bn-footer-label{
  font-family:var(--bn-sans);
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.40);
  margin-bottom:16px;
}
.bn-footer-nav,
.bn-footer-connect{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.bn-footer-nav a{
  font-family:var(--bn-serif);
  font-weight:300;
  font-size:17px;
  color:rgba(255,255,255,.78);
  width:fit-content;
  transition:color .35s ease;
  text-decoration:none;
}
.bn-footer-connect a{
  font-family:var(--bn-sans);
  font-size:13px;
  color:rgba(255,255,255,.72);
  width:fit-content;
  transition:color .35s ease;
  text-decoration:none;
}
.bn-footer-nav a:hover,
.bn-footer-connect a:hover{color:var(--bn-gold-soft);}
.bn-footer-baseline{
  max-width:1180px;
  margin:clamp(64px,9vh,110px) auto 0;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.bn-footer-legal{
  display:flex;
  gap:26px;
  flex-wrap:wrap;
}
.bn-footer-legal a,
.bn-footer-meta{
  font-family:var(--bn-sans);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.bn-footer-legal a{
  color:rgba(255,255,255,.55);
  text-decoration:none;
}
.bn-footer-meta{color:rgba(255,255,255,.40);}

/* =========================================================================
   MENÚ MÓVIL — overlay a pantalla completa (chrome)
   Defaults: hamburguesa + overlay ocultos. Aparecen <=980 con html.bn-js.
   Sin JS, el nav inline queda de respaldo legible (ver @media 980 abajo).
   ========================================================================= */

/* Hamburguesa */
.bn-nav-toggle{
  display:none;
  position:absolute; top:calc(var(--bn-header-h) / 2); left:var(--bn-gutter);
  transform:translateY(-50%);
  width:26px; height:18px; padding:0; margin:0; border:0;
  background:transparent; cursor:pointer;
  align-items:center; justify-content:center;
}
.bn-burger{ position:relative; }
.bn-burger,
.bn-burger::before,
.bn-burger::after{
  display:block; width:26px; height:1.5px; background:var(--bn-ink);
  transition:transform .3s ease, opacity .3s ease;
}
.bn-burger::before,
.bn-burger::after{ content:""; position:absolute; left:0; }
.bn-burger::before{ top:-7px; }
.bn-burger::after{ top:7px; }

/* Overlay */
.bn-overlay{
  position:fixed; inset:0; z-index:10000;
  display:flex; flex-direction:column;
  padding:0 var(--bn-gutter) clamp(32px,6vh,56px);
  background:var(--bn-white);
  opacity:0; visibility:hidden;
  transition:opacity .4s ease, visibility .4s ease;
}
.bn-overlay.is-open{ opacity:1; visibility:visible; }

.bn-overlay-bar{
  display:flex; align-items:center; justify-content:space-between;
  min-height:var(--bn-header-h);
}
.bn-overlay-logo{ line-height:0; }
.bn-overlay-logo .bn-logo-img{ height:30px; width:auto; }

.bn-overlay-close{
  position:relative; width:30px; height:30px;
  padding:0; border:0; background:transparent; cursor:pointer;
}
.bn-x::before,
.bn-x::after{
  content:""; position:absolute; top:50%; left:50%;
  width:24px; height:1.5px; background:var(--bn-ink);
}
.bn-x::before{ transform:translate(-50%,-50%) rotate(45deg); }
.bn-x::after{ transform:translate(-50%,-50%) rotate(-45deg); }

.bn-overlay-nav{
  flex:1;
  display:flex; flex-direction:column; justify-content:center;
  gap:clamp(20px,4.5vh,40px);
}
.bn-overlay-nav a{
  font-family:var(--bn-serif); font-weight:300;
  font-size:clamp(30px,9vw,46px); line-height:1.05; letter-spacing:-.01em;
  color:var(--bn-ink); transition:color .3s ease;
}
.bn-overlay-nav a:hover,
.bn-overlay-nav a:focus-visible{ color:var(--bn-gold); }

.bn-overlay-util{
  display:flex; gap:28px;
  padding-top:clamp(24px,4vh,36px);
  border-top:1px solid rgba(26,23,20,.10);
}
.bn-overlay-util a{
  font-family:var(--bn-sans); font-size:11px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--bn-ink); opacity:.7;
  transition:opacity .25s ease, color .25s ease;
}
.bn-overlay-util a:hover{ opacity:1; color:var(--bn-gold); }

/* El JS togglea esta clase para frenar el scroll del fondo */
body.bn-overlay-open{ overflow:hidden; }

/* En desktop el overlay no existe como pantalla */
@media (min-width:981px){
  .bn-overlay{ display:none; }
}

/* =========================================================================
   CHROME MÓVIL/TABLET — breakpoint estándar 980
   ========================================================================= */
@media (max-width:980px){

  /* --- Footer (apilado limpio, sin cambios) --- */
  .bn-footer-inner{ grid-template-columns:1fr; gap:52px; }
  .bn-footer-baseline{ flex-direction:column; align-items:flex-start; gap:18px; }
  .bn-footer{ padding:clamp(70px,10vh,110px) 28px 44px; }

  /* --- Header: barra corta (logo centrado + cart a la derecha) --- */
  .bn-header-inner{
    min-height:var(--bn-header-h);
    padding:0 var(--bn-gutter);
  }
  .bn-logo{
    display:flex; align-items:center; justify-content:center;
    min-height:var(--bn-header-h); margin:0; line-height:0;
  }
  .bn-logo-img{ height:30px; }

  .bn-util{
    position:absolute; top:calc(var(--bn-header-h) / 2); right:var(--bn-gutter);
    transform:translateY(-50%); gap:0; padding:0;
  }
  .bn-util-signin{ display:none; } /* Sign in vive en el overlay */

  /* Fallback SIN JS: nav en flujo, debajo del logo, legible (nunca 8.8px) */
  .bn-nav{
    justify-content:center; flex-wrap:wrap; gap:16px; row-gap:10px;
    padding:4px var(--bn-gutter) 14px;
  }
  .bn-nav a{ font-size:11px; letter-spacing:.12em; }

  /* CON JS: nav inline fuera, hamburguesa adentro */
  html.bn-js .bn-nav{ display:none; }
  html.bn-js .bn-nav-toggle{ display:flex; }
}

/* =========================================================================
   WOO BASE â€” CART / CHECKOUT / ACCOUNT
   ========================================================================= */
body.woocommerce-cart #secondary,
body.woocommerce-cart .widget-area,
body.woocommerce-checkout #secondary,
body.woocommerce-checkout .widget-area,
body.woocommerce-account #secondary,
body.woocommerce-account .widget-area{display:none;}

body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-checkout .page-title{display:none;}

body.woocommerce-cart #primary,
body.woocommerce-cart .content-area,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .content-area,
body.woocommerce-account #primary,
body.woocommerce-account .content-area{
  width:100%;
  max-width:100%;
  float:none;
  margin:0;
}

#bonum-main,
.bonum-woo-canvas,
body.woocommerce-cart #primary,
body.woocommerce-cart #main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout #primary,
body.woocommerce-checkout #main,
body.woocommerce-checkout .site-main,
body.woocommerce-account #primary,
body.woocommerce-account #main,
body.woocommerce-account .site-main{
  display:block;
  background:var(--bn-white);
  min-height:70vh;
}

body.woocommerce-cart #main,
body.woocommerce-checkout #main,
body.woocommerce-account #main{
  padding:clamp(40px,6vh,80px) 0;
}

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account{background:var(--bn-white);}

.bonum-cart,
.bonum-checkout{
  max-width:1100px;
  margin:0 auto;
  padding:clamp(20px,4vh,48px) clamp(24px,5vw,48px) 0;
  box-sizing:border-box;
}
.bonum-checkout{max-width:1180px;}

/* =========================================================================
   CART â€” PREMIUM BASE
   ========================================================================= */
.bonum-cart table.shop_table{
  width:100%;
  border-collapse:collapse;
  border:0;
}
.bonum-cart table.shop_table th,
.bonum-cart table.shop_table td{
  border:0;
  border-bottom:1px solid var(--bn-rule);
  padding:18px 14px;
  font-family:var(--bn-sans);
  color:var(--bn-ink);
  vertical-align:middle;
}
.bonum-cart table.shop_table th{
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--bn-ink-soft);
  font-weight:400;
}
.bonum-cart .product-name a{
  font-family:var(--bn-serif);
  font-size:22px;
  font-weight:300;
  color:var(--bn-ink);
  text-decoration:none;
}
.bonum-cart .product-thumbnail img{
  max-width:160px;
  height:auto;
}
.bonum-cart .quantity input.qty{
  width:70px;
  border:1px solid var(--bn-rule);
  border-radius:0;
  padding:10px;
  text-align:center;
}
.bonum-cart .coupon input.input-text{
  min-height:44px;
  border:1px solid var(--bn-rule);
  padding:0 14px;
  border-radius:0;
}
.bonum-cart button,
.bonum-cart .button,
.bonum-cart .checkout-button{
  border-radius:0!important;
  font-family:var(--bn-sans)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
.bonum-cart .checkout-button,
.bonum-cart a.checkout-button{
  background:var(--bn-ink)!important;
  color:var(--bn-white)!important;
  padding:18px 28px!important;
  width:100%;
  display:block;
  text-align:center;
}
.bonum-cart .checkout-button:hover{background:var(--bn-gold)!important;}
.bonum-cart .cart_totals{
  background:var(--bn-paper-soft);
  border:1px solid var(--bn-rule);
  padding:clamp(24px,4vw,42px);
}
.bonum-cart .cart_totals h2{
  font-family:var(--bn-serif);
  font-weight:300;
  color:var(--bn-ink);
}

/* =========================================================================
   CHECKOUT EDITORIAL
   ========================================================================= */
.bonum-checkout-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:clamp(40px,5vw,72px);
  align-items:start;
}
.bonum-checkout-grid #customer_details,
.bonum-checkout-grid .bonum-checkout-aside{min-width:0;}
.bonum-checkout-grid #customer_details *,
.bonum-checkout-grid .bonum-checkout-aside
 *{
  max-width:100%;
  box-sizing:border-box;
}
.bonum-checkout .shop_table,
.bonum-checkout #order_review,
.bonum-checkout .woocommerce-checkout-review-order-table{
  width:100%;
  border-collapse:collapse;
}
.bonum-checkout .shop_table th,
.bonum-checkout .shop_table td{
  padding:12px 8px;
  font-family:var(--bn-sans);
  font-size:14px;
  text-align:left;
  vertical-align:top;
  word-break:normal;
}
.bonum-checkout .woocommerce-billing-fields h3,
.bonum-checkout .woocommerce-shipping-fields h3,
.bonum-checkout-review-title{
  font-family:var(--bn-serif);
  font-weight:300;
  font-size:clamp(20px,2.4vw,26px);
  color:var(--bn-ink);
  margin:0 0 24px;
  padding-bottom:14px;
  border-bottom:1px solid var(--bn-rule);
}
.bonum-checkout .form-row label{
  font-family:var(--bn-sans);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--bn-ink-soft);
  margin-bottom:8px;
  display:block;
}
.bonum-checkout .input-text,
.bonum-checkout select,
.bonum-checkout .select2-container .select2-selection{
  width:100%;
  border:1px solid var(--bn-rule);
  border-radius:0;
  padding:14px 16px;
  font-family:var(--bn-sans);
  font-size:15px;
  color:var(--bn-ink);
  background:var(--bn-white);
  transition:border-color .3s ease;
  box-sizing:border-box;
}
.bonum-checkout .input-text:focus,
.bonum-checkout select:focus{
  outline:none;
  border-color:var(--bn-gold);
}
.bonum-checkout-aside{
  background:var(--bn-paper-soft);
  padding:clamp(28px,4vw,44px);
  border:1px solid var(--bn-rule);
}
.bonum-checkout-aside .order-total th,
.bonum-checkout-aside .order-total td{
  font-family:var(--bn-serif);
  font-size:19px;
  color:var(--bn-ink);
}
.bonum-checkout #place_order,
.bonum-checkout button[name="woocommerce_checkout_place_order"]{
  background:var(--bn-gold)!important;
  color:#fff!important;
  border:0!important;
  border-radius:0!important;
  font-family:var(--bn-sans)!important;
  font-size:14px!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  padding:20px 28px!important;
  width:100%!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  display:block!important;
  transition:background .3s ease!important;
}
.bonum-checkout #place_order:hover{background:var(--bn-ink)!important;}
@media (max-width:860px){
  .bonum-checkout-grid{grid-template-columns:1fr;}
}

/* =========================================================================
   BONUM PRODUCT PAGE â€” STABLE V1
   ========================================================================= */
body.single-product,
body.single-product #bonum-main,
body.single-product .bonum-woo-canvas{
  background:var(--bn-white);
}
body.single-product #bonum-main,
body.single-product .bonum-product-canvas{
  padding:0;
  min-height:70vh;
}
body.single-product .premium-product-layout{
  background:var(--bn-white);
  padding:clamp(72px,10vh,132px) 0 clamp(80px,12vh,150px);
}
body.single-product .bn-product-container{
  max-width:1180px;
  margin:0 auto;
  padding:0 clamp(28px,5vw,72px);
  display:grid;
  grid-template-columns:minmax(360px,.95fr) minmax(320px,.72fr);
  gap:clamp(54px,7vw,104px);
  align-items:start;
}
body.single-product .bn-product-hero-media{
  width:100%;
  max-width:560px;
  justify-self:end;
}
body.single-product .bn-product-main-image{
  width:100%;
  background:transparent;
}
body.single-product .bn-main-canvas-img{
  width:100%;
  height:auto;
  display:block;
  box-shadow:28px 38px 78px -36px rgba(40,32,22,.38),4px 8px 20px rgba(40,32,22,.12);
}
body.single-product .bn-product-gallery-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(12px,1.4vw,18px);
  margin-top:clamp(18px,2.4vw,28px);
}
body.single-product .bn-product-gallery-item{
  margin:0;
  background:var(--bn-paper-soft);
  border:1px solid rgba(154,122,66,.14);
  overflow:hidden;
}
body.single-product .bn-gallery-img{
  width:100%;
  aspect-ratio:1/1;
  height:auto;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .45s ease;
}
body.single-product .bn-product-gallery-item:hover .bn-gallery-img{
  transform:scale(1.025);
}
body.single-product .bn-product-hero-details{
  padding-top:clamp(10px,2vw,28px);
  max-width:430px;
  justify-self:start;
}
body.single-product .bn-product-eyebrow{
  font-family:var(--bn-sans);
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--bn-gold);
  margin:0 0 18px;
}
body.single-product .bn-product-title{
  font-family:var(--bn-serif);
  font-weight:300;
  font-size:clamp(38px,4vw,58px);
  line-height:1.03;
  letter-spacing:-.018em;
  color:var(--bn-ink);
  margin:0 0 20px;
}
body.single-product .bn-product-price{
  font-family:var(--bn-sans);
  font-size:15px;
  color:var(--bn-ink-soft);
  margin-bottom:28px;
}
body.single-product .bn-product-price .woocommerce-Price-amount{
  font-size:15px;
  color:var(--bn-ink-soft);
}
body.single-product .bn-product-story{
  font-family:var(--bn-serif);
  font-weight:300;
  font-size:16px;
  line-height:1.65;
  color:var(--bn-ink-soft);
  max-width:390px;
  margin:0 0 30px;
}
body.single-product .bn-product-story p{margin:0;}
body.single-product .stock{
  font-family:var(--bn-sans);
  font-size:12px;
  color:var(--bn-ink-soft);
  margin:0 0 20px;
}
body.single-product .bn-product-actions{
  margin:0 0 36px;
  padding:0 0 34px;
  border-bottom:1px solid var(--bn-rule);
}
body.single-product .bn-product-actions form.cart{margin:0;}
body.single-product .bn-product-actions .quantity{display:none!important;}
body.single-product .bn-product-actions .single_add_to_cart_button,
body.single-product .bn-product-actions button.single_add_to_cart_button,
body.single-product .woocommerce div.product form.cart .button{
  width:100%!important;
  min-height:54px!important;
  background:var(--bn-ink)!important;
  color:var(--bn-white)!important;
  border:0!important;
  border-radius:0!important;
  font-family:var(--bn-sans)!important;
  font-size:11px!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
  font-weight:500!important;
  padding:18px 28px!important;
  cursor:pointer;
  transition:background .3s ease,transform .3s ease!important;
}
body.single-product .bn-product-actions .single_add_to_cart_button:hover,
body.single-product .woocommerce div.product form.cart .button:hover{
  background:var(--bn-gold)!important;
}

/* Hide WooPay / GPay / express buttons on product page */
body.single-product .wcpay-express-checkout-wrapper,
body.single-product .wc-block-components-express-payment,
body.single-product .wc-block-components-express-payment__event-buttons,
body.single-product .express-payment-methods,
body.single-product #wcpay-express-checkout-element,
body.single-product #wcpay-payment-request-wrapper,
body.single-product .payment-request-button,
body.single-product .wc-stripe-payment-request-wrapper,
body.single-product .gpay-card-info-container,
body.single-product .GooglePayButton,
body.single-product .apple-pay-button,
body.single-product .woopay-express-button,
body.single-product .wc-block-components-express-payment-continue-rule{
  display:none!important;
}

body.single-product .bn-product-specs{
  display:flex;
  flex-direction:column;
  gap:0;
}
body.single-product .bn-specs-block{
  display:grid;
  grid-template-columns:.62fr 1.38fr;
  gap:20px;
  padding:18px 0;
  border-bottom:1px solid rgba(154,122,66,.16);
}
body.single-product .bn-specs-label{
  margin:0;
  font-family:var(--bn-sans);
  font-size:9px;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:var(--bn-gold-soft);
}
body.single-product .bn-specs-value{
  font-family:var(--bn-sans);
  font-size:12.5px;
  line-height:1.55;
  color:var(--bn-ink);
}
body.single-product .bn-specs-value p{margin:0;}
body.single-product .bn-product-long-description{
  margin-top:clamp(80px,10vh,130px);
  padding:clamp(76px,10vh,120px) clamp(28px,5vw,72px);
  background:var(--bn-paper-soft);
  border-top:1px solid var(--bn-rule);
}
body.single-product .bn-product-long-inner{
  max-width:820px;
  margin:0 auto;
}
body.single-product .bn-product-section-label{
  font-family:var(--bn-sans);
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--bn-gold);
  margin-bottom:24px;
}
body.single-product .bn-product-long-inner,
body.single-product .bn-product-long-inner p{
  font-family:var(--bn-serif);
  font-weight:300;
  font-size:clamp(18px,1.6vw,23px);
  line-height:1.65;
  color:var(--bn-ink-soft);
}
body.single-product .product_meta,
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .upsells.products,
body.single-product #reviews,
body.single-product .edit-link{
  display:none!important;
}

@media (max-width:980px){
  body.single-product .premium-product-layout{
    padding-top:clamp(52px,7vh,84px);
  }
  body.single-product .bn-product-container{
    grid-template-columns:1fr;
    gap:42px;
    max-width:720px;
  }
  body.single-product .bn-product-hero-media,
  body.single-product .bn-product-hero-details{
    max-width:100%;
    justify-self:stretch;
  }
  body.single-product .bn-product-hero-details{
    padding-top:0;
  }
}
@media (max-width:560px){
  body.single-product .premium-product-layout{
    padding:42px 0 78px;
  }
  body.single-product .bn-product-container{
    padding:0 22px;
    gap:34px;
  }
  body.single-product .bn-product-gallery-strip{
    grid-template-columns:repeat(3,1fr);
    gap:10px;
  }
  body.single-product .bn-product-title{
    font-size:clamp(34px,10vw,48px);
  }
  body.single-product .bn-product-story{
    font-size:15.5px;
  }
  body.single-product .bn-specs-block{
    grid-template-columns:1fr;
    gap:7px;
    padding:16px 0;
  }
}

/* =========================================================================
  BONUM PRODUCT ";
 font-size: 14px;
}

body.single-product .bn-product-related-inner a:hover {
 gap: 18px;
 color: var(--bn-gold);
 border-color: var(--bn-gold);
}

/* Lightbox */
body.single-product .bn-product-lightbox {
 position: fixed;
 inset: 0;
 z-index: 99999;
 background: rgba(18,16,14,.94);
 display: none;
 align-items: center;
 justify-content: center;
 padding: 44px;
}

body.single-product .bn-product-lightbox.is-open {
 display: flex;
}

body.single-product .bn-product-lightbox-img {
 max-width: min(92vw, 1180px);
 max-height: 86vh;
 width: auto;
 height: auto;
 box-shadow: 0 32px 88px rgba(0,0,0,.45);
}

body.single-product .bn-product-lightbox-close {
 position: absolute;
 top: 24px;
 right: 28px;
 background: transparent;
 border: 0;
 color: #fff;
 font-family: var(--bn-sans);
 font-size: 11px;
 letter-spacing: .2em;
 text-transform: uppercase;
 cursor: pointer;
 opacity: .72;
 transition: opacity .25s ease;
}

body.single-product .bn-product-lightbox-close:hover {
 opacity: 1;
}

body.single-product .bn-product-lightbox-arrow {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 width: 44px;
 height: 44px;
 border-radius: 50%;
 border: 1px solid rgba(255,255,255,.22);
 background: rgba(255,255,255,.06);
 color: #fff;
 font-family: var(--bn-serif);
 font-size: 26px;
 cursor: pointer;
 display: flex;
 align-items: center;
 justify-content: center;
 transition: background .25s ease, border-color .25s ease;
}

body.single-product .bn-product-lightbox-arrow:hover {
 background: rgba(255,255,255,.13);
 border-color: rgba(255,255,255,.42);
}

body.single-product .bn-product-lightbox-prev {
 left: 32px;
}

body.single-product .bn-product-lightbox-next {
 right: 32px;
}

/* Make sure old express buttons stay hidden */
body.single-product .wcpay-express-checkout-wrapper,
body.single-product .wc-block-components-express-payment,
body.single-product .wc-block-components-express-payment__event-buttons,
body.single-product .express-payment-methods,
body.single-product #wcpay-express-checkout-element,
body.single-product #wcpay-payment-request-wrapper,
body.single-product .payment-request-button,
body.single-product .wc-stripe-payment-request-wrapper,
body.single-product .gpay-card-info-container,
body.single-product .GooglePayButton,
body.single-product .apple-pay-button,
body.single-product .woopay-express-button,
body.single-product .wc-block-components-express-payment-continue-rule {
 display: none !important;
}

@media (max-width: 980px) {
 body.single-product .bn-product-arrow,
 body.single-product .bn-product-zoom-badge {
   opacity: 1;
 }

 body.single-product .bn-product-arrow-prev {
   left: 12px;
 }

 body.single-product .bn-product-arrow-next {
   right: 12px;
 }

 body.single-product .bn-product-lightbox {
   padding: 24px;
 }

 body.single-product .bn-product-lightbox-arrow {
   width: 38px;
   height: 38px;
 }

 body.single-product .bn-product-lightbox-prev {
   left: 18px;
 }

 body.single-product .bn-product-lightbox-next {
   right: 18px;
 }
}

/* =========================================================================
   BONUM PRODUCT — GALLERY FIX V1.2
   Final override. Paste at absolute end of style.css.
   ========================================================================= */

body.single-product .bn-product-main-frame {
  position: relative !important;
  overflow: hidden !important;
}

body.single-product .bn-product-zoom-trigger {
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  line-height: 0 !important;
  cursor: zoom-in !important;
}

body.single-product .bn-product-zoom-trigger:focus,
body.single-product .bn-product-thumb:focus,
body.single-product .bn-product-arrow:focus {
  outline: none !important;
  box-shadow: none !important;
}

body.single-product .bn-product-gallery-strip {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

body.single-product .bn-product-gallery-item,
body.single-product .bn-product-thumb {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(154,122,66,.14) !important;
  background: var(--bn-paper-soft) !important;
  overflow: hidden !important;
  cursor: pointer !important;
  opacity: .58 !important;
  transition: opacity .3s ease, border-color .3s ease, transform .3s ease !important;
}

body.single-product .bn-product-thumb.is-active,
body.single-product .bn-product-thumb:hover {
  opacity: 1 !important;
  border-color: rgba(154,122,66,.55) !important;
}

body.single-product .bn-gallery-img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Flechas dentro de la imagen */
body.single-product .bn-product-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 8 !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  background: rgba(255,255,255,.48) !important;
  color: rgba(26,23,20,.62) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 8px 22px rgba(40,32,22,.08) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  opacity: 0 !important;
  transition: opacity .28s ease, background .28s ease, transform .28s ease !important;
}

body.single-product .bn-product-main-frame:hover .bn-product-arrow {
  opacity: 1 !important;
}

body.single-product .bn-product-arrow span {
  display: block !important;
  font-family: var(--bn-serif) !important;
  font-size: 25px !important;
  line-height: 1 !important;
  height: 25px !important;
  margin-top: -4px !important;
}

body.single-product .bn-product-arrow-prev {
  left: 18px !important;
  transform: translateY(-50%) translateX(-4px) !important;
}

body.single-product .bn-product-arrow-next {
  right: 18px !important;
  transform: translateY(-50%) translateX(4px) !important;
}

body.single-product .bn-product-main-frame:hover .bn-product-arrow-prev,
body.single-product .bn-product-arrow-prev:hover {
  transform: translateY(-50%) translateX(0) !important;
}

body.single-product .bn-product-main-frame:hover .bn-product-arrow-next,
body.single-product .bn-product-arrow-next:hover {
  transform: translateY(-50%) translateX(0) !important;
}

body.single-product .bn-product-arrow:hover {
  background: rgba(255,255,255,.86) !important;
}

/* Zoom badge */
body.single-product .bn-product-zoom-badge {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  z-index: 7 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.58) !important;
  color: rgba(26,23,20,.62) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--bn-sans) !important;
  font-size: 14px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  transition: opacity .28s ease !important;
}

body.single-product .bn-product-main-frame:hover .bn-product-zoom-badge {
  opacity: 1 !important;
}

/* Lightbox debe estar oculto hasta abrir */
body.single-product .bn-product-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  background: rgba(18,16,14,.94) !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 44px !important;
}

body.single-product .bn-product-lightbox.is-open {
  display: flex !important;
}

body.single-product .bn-product-lightbox-img {
  max-width: min(92vw, 1180px) !important;
  max-height: 86vh !important;
  width: auto !important;
  height: auto !important;
  box-shadow: 0 32px 88px rgba(0,0,0,.45) !important;
}

body.single-product .bn-product-lightbox-close {
  position: absolute !important;
  top: 24px !important;
  right: 28px !important;
  background: transparent !important;
  border: 0 !important;
  color: #fff !important;
  font-family: var(--bn-sans) !important;
  font-size: 11px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  opacity: .72 !important;
}

body.single-product .bn-product-lightbox-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  font-family: var(--bn-serif) !important;
  font-size: 26px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.single-product .bn-product-lightbox-prev {
  left: 32px !important;
}

body.single-product .bn-product-lightbox-next {
  right: 32px !important;
}

/* Bloque relacionado más premium */
body.single-product .bn-product-related-note {
  background: #fff !important;
  padding: clamp(90px, 12vh, 150px) 28px !important;
  border-top: 1px solid rgba(154,122,66,.14) !important;
}

body.single-product .bn-product-related-inner {
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

body.single-product .bn-product-related-inner h2 {
  margin: 0 0 18px !important;
  font-family: var(--bn-serif) !important;
  font-weight: 300 !important;
  font-size: clamp(32px, 3.4vw, 48px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.015em !important;
  color: var(--bn-ink) !important;
}

body.single-product .bn-product-related-inner p {
  margin: 0 auto 34px !important;
  max-width: 520px !important;
  font-family: var(--bn-serif) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: rgba(26,23,20,.58) !important;
}

body.single-product .bn-product-related-inner a {
  display: inline-flex !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 0 18px 8px !important;
  border-bottom: 1px solid var(--bn-ink) !important;
  font-family: var(--bn-sans) !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: var(--bn-ink) !important;
  text-decoration: none !important;
}

body.single-product .bn-product-related-inner a::after {
  content: "→";
  font-size: 14px;
}

@media (max-width: 980px) {
  body.single-product .bn-product-arrow,
  body.single-product .bn-product-zoom-badge {
    opacity: 1 !important;
  }
}

/* =========================================================================
   BONUM PRODUCT — PREMIUM POLISH V1.3
   Final visual refinement after stable base + active JS.
   ========================================================================= */

/* General breathing */
body.single-product .premium-product-layout {
  padding-top: clamp(86px, 10vh, 138px) !important;
  padding-bottom: clamp(128px, 16vh, 210px) !important;
}

/* Slightly more composed product grid */
body.single-product .bn-product-container {
  max-width: 1160px !important;
  grid-template-columns: minmax(390px, 560px) minmax(330px, 410px) !important;
  gap: clamp(70px, 7.5vw, 118px) !important;
}

/* Artwork shadow: premium but quiet */
body.single-product .bn-main-canvas-img {
  box-shadow:
    34px 44px 90px -42px rgba(40, 32, 22, .40),
    8px 14px 28px rgba(40, 32, 22, .10) !important;
}

/* Remove default button/browser artifacts around image and thumbs */
body.single-product .bn-product-zoom-trigger,
body.single-product .bn-product-thumb,
body.single-product .bn-product-arrow,
body.single-product .bn-product-lightbox-close,
body.single-product .bn-product-lightbox-arrow {
  appearance: none !important;
  -webkit-appearance: none !important;
}

body.single-product .bn-product-zoom-trigger:focus,
body.single-product .bn-product-thumb:focus,
body.single-product .bn-product-arrow:focus,
body.single-product .bn-product-lightbox-close:focus,
body.single-product .bn-product-lightbox-arrow:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Thumbnails: quieter, more gallery-like */
body.single-product .bn-product-gallery-strip {
  margin-top: 26px !important;
  gap: 16px !important;
}

body.single-product .bn-product-thumb {
  border: 1px solid rgba(154, 122, 66, .12) !important;
  background: #f8f5ef !important;
  opacity: .52 !important;
  transform: translateY(0) !important;
}

body.single-product .bn-product-thumb.is-active {
  opacity: 1 !important;
  border-color: rgba(154, 122, 66, .58) !important;
}

body.single-product .bn-product-thumb:hover {
  opacity: .92 !important;
  border-color: rgba(154, 122, 66, .42) !important;
}

/* Arrows: subtle, inside the artwork */
body.single-product .bn-product-arrow {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  background: rgba(255, 255, 255, .34) !important;
  border: 1px solid rgba(255, 255, 255, .30) !important;
  color: rgba(26, 23, 20, .54) !important;
  box-shadow: 0 10px 24px rgba(40, 32, 22, .06) !important;
}

body.single-product .bn-product-arrow-prev {
  left: 16px !important;
}

body.single-product .bn-product-arrow-next {
  right: 16px !important;
}

body.single-product .bn-product-arrow:hover {
  background: rgba(255, 255, 255, .72) !important;
  color: rgba(26, 23, 20, .78) !important;
}

body.single-product .bn-product-arrow span {
  font-size: 23px !important;
  opacity: .82 !important;
}

/* Zoom mark: barely-there premium detail */
body.single-product .bn-product-zoom-badge {
  width: 32px !important;
  height: 32px !important;
  top: 16px !important;
  right: 16px !important;
  background: rgba(255, 255, 255, .38) !important;
  color: rgba(26, 23, 20, .52) !important;
  font-size: 13px !important;
}

/* Right column: stronger editorial rhythm */
body.single-product .bn-product-hero-details {
  padding-top: clamp(18px, 2.2vw, 34px) !important;
}

body.single-product .bn-product-eyebrow {
  color: var(--bn-gold) !important;
  font-size: 9.5px !important;
  letter-spacing: .25em !important;
  margin-bottom: 20px !important;
}

body.single-product .bn-product-title {
  font-size: clamp(42px, 4vw, 60px) !important;
  line-height: 1.02 !important;
  margin-bottom: 22px !important;
}

body.single-product .bn-product-price {
  font-size: 14px !important;
  color: rgba(26, 23, 20, .62) !important;
  margin-bottom: 30px !important;
}

body.single-product .bn-product-story {
  font-size: 16.5px !important;
  line-height: 1.72 !important;
  color: rgba(26, 23, 20, .66) !important;
  margin-bottom: 34px !important;
}

/* Add to Cart refinement */
body.single-product .bn-product-actions {
  padding-bottom: 30px !important;
  margin-bottom: 18px !important;
  border-bottom: 1px solid rgba(154, 122, 66, .18) !important;
}

body.single-product .bn-product-actions .single_add_to_cart_button,
body.single-product .bn-product-actions button.single_add_to_cart_button,
body.single-product .woocommerce div.product form.cart .button {
  min-height: 56px !important;
  background: var(--bn-ink) !important;
  color: #fff !important;
  font-size: 10px !important;
  letter-spacing: .26em !important;
  font-weight: 500 !important;
}

body.single-product .bn-product-actions .single_add_to_cart_button:hover,
body.single-product .woocommerce div.product form.cart .button:hover {
  background: var(--bn-gold) !important;
}

/* Affirm: keep space and style ready if the plugin prints messaging */
body.single-product .affirm-as-low-as,
body.single-product .affirm-modal-trigger,
body.single-product [data-page-type="product"] .affirm-as-low-as,
body.single-product .bn-affirm-note {
  display: block !important;
  margin: 14px 0 0 !important;
  font-family: var(--bn-sans) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  letter-spacing: .02em !important;
  color: rgba(26, 23, 20, .54) !important;
}

/* Keep express buttons hidden */
body.single-product .wcpay-express-checkout-wrapper,
body.single-product .wc-block-components-express-payment,
body.single-product .wc-block-components-express-payment__event-buttons,
body.single-product .express-payment-methods,
body.single-product #wcpay-express-checkout-element,
body.single-product #wcpay-payment-request-wrapper,
body.single-product .payment-request-button,
body.single-product .wc-stripe-payment-request-wrapper,
body.single-product .gpay-card-info-container,
body.single-product .GooglePayButton,
body.single-product .apple-pay-button,
body.single-product .woopay-express-button,
body.single-product .wc-block-components-express-payment-continue-rule {
  display: none !important;
}

/* Assurance line */
body.single-product .bn-product-assurance {
  margin: 18px 0 34px !important;
  max-width: 390px !important;
  font-family: var(--bn-serif) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 12.5px !important;
  line-height: 1.65 !important;
  color: rgba(26, 23, 20, .50) !important;
}

/* Specs: quieter and cleaner */
body.single-product .bn-product-specs {
  margin-top: 8px !important;
}

body.single-product .bn-specs-block {
  padding: 17px 0 !important;
  border-bottom: 1px solid rgba(154, 122, 66, .14) !important;
}

body.single-product .bn-specs-label {
  color: rgba(154, 122, 66, .70) !important;
}

body.single-product .bn-specs-value {
  color: rgba(26, 23, 20, .70) !important;
}

/* Long description: premium reading section */
body.single-product .bn-product-long-description {
  margin-top: 0 !important;
  padding: clamp(96px, 13vh, 160px) clamp(28px, 5vw, 72px) !important;
  background:
    linear-gradient(180deg, #fbf8f2 0%, #ffffff 100%) !important;
  border-top: 1px solid rgba(154, 122, 66, .14) !important;
}

body.single-product .bn-product-long-inner {
  max-width: 760px !important;
}

body.single-product .bn-product-section-label {
  text-align: center !important;
  color: var(--bn-gold) !important;
  margin-bottom: 34px !important;
}

/* Related block: give it more air and less "default page" feel */
body.single-product .bn-product-related-note {
  padding: clamp(100px, 13vh, 170px) 28px clamp(120px, 15vh, 190px) !important;
  background: #ffffff !important;
}

body.single-product .bn-product-related-inner h2 {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-product .bn-product-related-inner p {
  max-width: 500px !important;
}

/* Remove any diagnostic marker once testing is complete */
body.single-product #bn-product-js-marker {
  display: none !important;
}

@media (max-width: 980px) {
  body.single-product .premium-product-layout {
    padding-top: 54px !important;
  }

  body.single-product .bn-product-container {
    grid-template-columns: 1fr !important;
    max-width: 720px !important;
    gap: 48px !important;
  }

  body.single-product .bn-product-arrow,
  body.single-product .bn-product-zoom-badge {
    opacity: 1 !important;
  }
}

@media (max-width: 560px) {
  body.single-product .bn-product-gallery-strip {
    gap: 10px !important;
  }

  body.single-product .bn-product-title {
    font-size: clamp(36px, 10vw, 48px) !important;
  }

  body.single-product .bn-product-related-note {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

/* =========================================================================
   BONUM PRODUCT — PREMIUM POLISH V1.4
   Scale, hierarchy, stock language, thumbnails, shadow.
   ========================================================================= */

/* Remove WooCommerce default stock line inside cart form */
body.single-product .stock,
body.single-product p.stock,
body.single-product .woocommerce-variation-availability {
  display: none !important;
}

/* Main layout: slightly larger artwork, more intentional architecture */
body.single-product .premium-product-layout {
  padding-top: clamp(92px, 10vh, 142px) !important;
  padding-bottom: clamp(140px, 17vh, 220px) !important;
}

body.single-product .bn-product-container {
  max-width: 1240px !important;
  grid-template-columns: minmax(460px, 640px) minmax(330px, 410px) !important;
  gap: clamp(78px, 8vw, 126px) !important;
  align-items: start !important;
}

/* Larger artwork with a real premium shadow */
body.single-product .bn-product-hero-media {
  max-width: 640px !important;
}

body.single-product .bn-product-main-frame,
body.single-product .bn-product-main-image {
  overflow: visible !important;
}

body.single-product .bn-main-canvas-img {
  width: 100% !important;
  display: block !important;
  box-shadow:
    0 42px 90px -54px rgba(26, 23, 20, .62),
    18px 28px 58px -34px rgba(40, 32, 22, .35),
    0 8px 18px rgba(40, 32, 22, .10) !important;
}

/* Right column: more intentional vertical rhythm */
body.single-product .bn-product-hero-details {
  padding-top: clamp(26px, 3vw, 46px) !important;
  max-width: 410px !important;
}

body.single-product .bn-product-eyebrow {
  margin-bottom: 22px !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  color: rgba(154, 122, 66, .82) !important;
}

body.single-product .bn-product-title {
  margin-bottom: 24px !important;
  font-size: clamp(44px, 4.1vw, 62px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.024em !important;
}

/* Clean price: lighter, quieter, no competition with title */
body.single-product .bn-product-price,
body.single-product .bn-product-price .woocommerce-Price-amount,
body.single-product .bn-product-price bdi {
  font-family: var(--bn-sans) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .04em !important;
  color: rgba(26, 23, 20, .58) !important;
}

body.single-product .bn-product-price {
  margin-bottom: 34px !important;
}

/* Short description: more composed, less floating */
body.single-product .bn-product-story {
  max-width: 390px !important;
  margin-bottom: 30px !important;
}

body.single-product .bn-product-story,
body.single-product .bn-product-story p {
  font-family: var(--bn-serif) !important;
  font-size: 16.5px !important;
  line-height: 1.76 !important;
  font-weight: 300 !important;
  color: rgba(26, 23, 20, .68) !important;
}

/* Premium stock language */
body.single-product .bn-product-availability-line {
  margin: 0 0 24px !important;
  font-family: var(--bn-sans) !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(154, 122, 66, .82) !important;
}

/* Add to Cart: less generic, more intentional */
body.single-product .bn-product-actions {
  margin-bottom: 22px !important;
  padding-bottom: 32px !important;
  border-bottom: 1px solid rgba(154, 122, 66, .16) !important;
}

body.single-product .bn-product-actions .single_add_to_cart_button,
body.single-product .bn-product-actions button.single_add_to_cart_button,
body.single-product .woocommerce div.product form.cart .button {
  min-height: 58px !important;
  background: #1c1916 !important;
  color: #fff !important;
  border: 1px solid #1c1916 !important;
  font-family: var(--bn-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .20em !important;
  text-transform: uppercase !important;
  transition:
    background .32s ease,
    color .32s ease,
    border-color .32s ease,
    transform .32s ease !important;
}

body.single-product .bn-product-actions .single_add_to_cart_button:hover,
body.single-product .woocommerce div.product form.cart .button:hover {
  background: #2a2520 !important;
  border-color: #2a2520 !important;
  transform: translateY(-1px) !important;
}

/* Assurance line softer */
body.single-product .bn-product-assurance {
  margin: 18px 0 36px !important;
  max-width: 390px !important;
  font-family: var(--bn-serif) !important;
  font-size: 12.5px !important;
  line-height: 1.7 !important;
  font-style: italic !important;
  color: rgba(26, 23, 20, .50) !important;
}

/* Details block cleaner */
body.single-product .bn-specs-block {
  grid-template-columns: .62fr 1.38fr !important;
  padding: 18px 0 !important;
  border-bottom: 1px solid rgba(154, 122, 66, .13) !important;
}

body.single-product .bn-specs-label {
  font-size: 8.5px !important;
  letter-spacing: .20em !important;
  color: rgba(154, 122, 66, .72) !important;
}

body.single-product .bn-specs-value {
  font-size: 12px !important;
  line-height: 1.62 !important;
  color: rgba(26, 23, 20, .68) !important;
}

/* Thumbnails: perfect grid, no generic border feeling */
body.single-product .bn-product-gallery-strip {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  margin-top: 28px !important;
}

body.single-product .bn-product-gallery-item,
body.single-product .bn-product-thumb {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(154, 122, 66, .10) !important;
  background: #f8f5ef !important;
  opacity: .58 !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

body.single-product .bn-product-thumb.is-active {
  opacity: 1 !important;
  border-color: rgba(154, 122, 66, .54) !important;
}

body.single-product .bn-product-thumb:hover {
  opacity: 1 !important;
  border-color: rgba(154, 122, 66, .36) !important;
}

body.single-product .bn-gallery-img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Arrows: very subtle, inside artwork */
body.single-product .bn-product-arrow {
  background: rgba(255, 255, 255, .28) !important;
  color: rgba(26, 23, 20, .48) !important;
  border-color: rgba(255, 255, 255, .28) !important;
}

body.single-product .bn-product-arrow:hover {
  background: rgba(255, 255, 255, .78) !important;
  color: rgba(26, 23, 20, .74) !important;
}

/* Related section: more room, less abrupt */
body.single-product .bn-product-related-note {
  margin-top: 0 !important;
  padding-top: clamp(118px, 14vh, 180px) !important;
  border-top: 1px solid rgba(154, 122, 66, .12) !important;
}

body.single-product .bn-product-related-inner h2 {
  max-width: 680px !important;
  font-size: clamp(36px, 3.6vw, 54px) !important;
  line-height: 1.08 !important;
}

/* Keep diagnostic marker hidden while we finish */
body.single-product #bn-product-js-marker {
  display: none !important;
}

@media (max-width: 980px) {
  body.single-product .bn-product-container {
    grid-template-columns: 1fr !important;
    max-width: 740px !important;
    gap: 50px !important;
  }

  body.single-product .bn-product-hero-media {
    max-width: 640px !important;
    justify-self: center !important;
  }

  body.single-product .bn-product-hero-details {
    max-width: 460px !important;
    justify-self: center !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 560px) {
  body.single-product .premium-product-layout {
    padding-top: 48px !important;
  }

  body.single-product .bn-product-container {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.single-product .bn-product-title {
    font-size: clamp(36px, 10vw, 48px) !important;
  }

  body.single-product .bn-product-gallery-strip {
    gap: 10px !important;
  }
}

/* =========================================================================
   BONUM PRODUCT — FINAL POLISH V1.5
   Presence, assurance line, technical sheet, related spacing.
   ========================================================================= */

/* Product block slightly higher and more present */
body.single-product .premium-product-layout {
  padding-top: clamp(76px, 8.5vh, 118px) !important;
  padding-bottom: clamp(150px, 18vh, 230px) !important;
}

/* Larger, calmer artwork presence */
body.single-product .bn-product-container {
  max-width: 1260px !important;
  grid-template-columns: minmax(480px, 660px) minmax(330px, 410px) !important;
  gap: clamp(82px, 8vw, 132px) !important;
}

/* More visible but still soft shadow */
body.single-product .bn-main-canvas-img {
  box-shadow:
    0 54px 110px -58px rgba(26, 23, 20, .72),
    22px 34px 70px -38px rgba(40, 32, 22, .42),
    0 10px 22px rgba(40, 32, 22, .12) !important;
}

/* Right column vertical rhythm */
body.single-product .bn-product-hero-details {
  padding-top: clamp(24px, 2.8vw, 42px) !important;
}

/* Keep availability statement above button elegant */
body.single-product .bn-product-availability-line {
  margin: 0 0 22px !important;
  font-family: var(--bn-sans) !important;
  font-size: 9px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: rgba(154, 122, 66, .78) !important;
}

/* Button remains strong, but not heavy */
body.single-product .bn-product-actions {
  margin-bottom: 18px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

body.single-product .bn-product-actions .single_add_to_cart_button,
body.single-product .bn-product-actions button.single_add_to_cart_button,
body.single-product .woocommerce div.product form.cart .button {
  min-height: 58px !important;
  letter-spacing: .22em !important;
  background: #1b1815 !important;
  border: 1px solid #1b1815 !important;
}

body.single-product .bn-product-actions .single_add_to_cart_button:hover,
body.single-product .woocommerce div.product form.cart .button:hover {
  background: #2a2520 !important;
  border-color: #2a2520 !important;
}

/* Assurance line under cart */
body.single-product .bn-product-assurance {
  margin: 18px 0 38px !important;
  max-width: 390px !important;
  font-family: var(--bn-serif) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 12.5px !important;
  line-height: 1.65 !important;
  color: rgba(26, 23, 20, .52) !important;
}

/* Technical sheet: minimal, quiet, not ecommerce-heavy */
body.single-product .bn-product-specs {
  margin-top: 4px !important;
  border-top: 1px solid rgba(154, 122, 66, .13) !important;
}

body.single-product .bn-specs-block {
  grid-template-columns: .56fr 1.44fr !important;
  gap: 22px !important;
  padding: 18px 0 !important;
  border-bottom: 1px solid rgba(154, 122, 66, .11) !important;
}

body.single-product .bn-specs-label {
  font-family: var(--bn-sans) !important;
  font-size: 8px !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: rgba(154, 122, 66, .68) !important;
}

body.single-product .bn-specs-value,
body.single-product .bn-specs-value p {
  font-family: var(--bn-serif) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 12.5px !important;
  line-height: 1.62 !important;
  color: rgba(26, 23, 20, .62) !important;
}

/* Related section should enter as a second chapter, not immediately */
body.single-product .bn-product-related-note {
  padding-top: clamp(140px, 17vh, 230px) !important;
  padding-bottom: clamp(130px, 16vh, 210px) !important;
  border-top: 1px solid rgba(154, 122, 66, .10) !important;
}

body.single-product .bn-product-related-inner h2 {
  max-width: 700px !important;
  margin-bottom: 22px !important;
}

body.single-product .bn-product-related-inner p {
  max-width: 510px !important;
}

/* Hide any accidental Woo stock/default availability outputs */
body.single-product .stock,
body.single-product p.stock,
body.single-product .woocommerce-variation-availability,
body.single-product .availability {
  display: none !important;
}

@media (max-width: 980px) {
  body.single-product .premium-product-layout {
    padding-top: 54px !important;
  }

  body.single-product .bn-product-container {
    grid-template-columns: 1fr !important;
    max-width: 760px !important;
    gap: 52px !important;
  }

  body.single-product .bn-product-hero-media {
    max-width: 660px !important;
    justify-self: center !important;
  }
}

@media (max-width: 560px) {
  body.single-product .premium-product-layout {
    padding-top: 42px !important;
  }

  body.single-product .bn-product-container {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.single-product .bn-specs-block {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}

/* =========================================================================
   BONUM PRODUCT — EMOTIONAL LOWER SECTION V1.6
   Soft gradient, stronger promise, reduced empty related spacing.
   ========================================================================= */

/* The lower editorial section becomes a quiet emotional chapter */
body.single-product .bn-product-long-description {
  margin-top: 0 !important;
  padding: clamp(112px, 14vh, 178px) clamp(28px, 5vw, 72px) clamp(120px, 15vh, 190px) !important;
  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #ffffff 12%,
      #fbf8f2 56%,
      #f4efe6 100%
    ) !important;
  border-top: 1px solid rgba(154, 122, 66, .10) !important;
}

body.single-product .bn-product-long-inner {
  max-width: 720px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

body.single-product .bn-product-section-label {
  margin-bottom: 34px !important;
  font-family: var(--bn-sans) !important;
  font-size: 9px !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  color: rgba(154, 122, 66, .78) !important;
}

body.single-product .bn-product-long-inner p {
  max-width: 680px !important;
  margin: 0 auto 24px !important;
  font-family: var(--bn-serif) !important;
  font-weight: 300 !important;
  font-size: clamp(19px, 1.55vw, 24px) !important;
  line-height: 1.72 !important;
  color: rgba(26, 23, 20, .70) !important;
}

body.single-product .bn-product-long-inner p:first-of-type {
  font-size: clamp(24px, 2.15vw, 34px) !important;
  line-height: 1.38 !important;
  letter-spacing: -.012em !important;
  color: rgba(26, 23, 20, .86) !important;
  margin-bottom: 34px !important;
}

body.single-product .bn-product-long-inner p:last-of-type {
  margin-bottom: 0 !important;
  font-style: italic !important;
  color: rgba(26, 23, 20, .62) !important;
}

/* Related section: reduce empty space until real related artworks are connected */
body.single-product .bn-product-related-note {
  padding-top: clamp(82px, 10vh, 130px) !important;
  padding-bottom: clamp(96px, 12vh, 150px) !important;
  background: #ffffff !important;
  border-top: 1px solid rgba(154, 122, 66, .10) !important;
}

body.single-product .bn-product-related-inner {
  max-width: 720px !important;
}

body.single-product .bn-product-related-inner h2 {
  max-width: 640px !important;
  margin: 0 auto 20px !important;
  font-size: clamp(32px, 3.1vw, 48px) !important;
  line-height: 1.12 !important;
}

body.single-product .bn-product-related-inner p {
  max-width: 480px !important;
  margin-bottom: 30px !important;
}

/* When we later add related artwork cards, this section can expand again */
body.single-product .bn-product-related-grid {
  margin-top: 58px !important;
}

/* =========================================================================
   BONUM PRODUCT — FINAL READING REFINEMENT V1.7
   Invisible transition, refined editorial text, cleaner product promise.
   ========================================================================= */

/* The product-to-description transition should feel invisible */
body.single-product .bn-product-long-description {
  border-top: 0 !important;
  margin-top: 0 !important;
  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #ffffff 8%,
      #fbf8f2 54%,
      #f4efe6 100%
    ) !important;
}

/* Remove the dividing line after the thumbnail area */
body.single-product .premium-product-layout,
body.single-product .bn-product-container,
body.single-product .bn-product-related-note,
body.single-product .bn-product-long-description {
  border-top-color: transparent !important;
}

/* If any global Woo/theme separator appears between gallery and description */
body.single-product .product_meta,
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .upsells.products,
body.single-product hr,
body.single-product .storefront-sticky-add-to-cart {
  display: none !important;
}

/* Make the one-of-a-kind line less transactional */
body.single-product .bn-product-availability-line {
  margin: 0 0 22px !important;
  font-family: var(--bn-sans) !important;
  font-size: 8.5px !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  color: rgba(154, 122, 66, .76) !important;
}

/* Editorial section label: quieter, wider, more gallery-like */
body.single-product .bn-product-section-label {
  margin-bottom: 38px !important;
  font-family: var(--bn-sans) !important;
  font-size: 8px !important;
  letter-spacing: .34em !important;
  text-transform: uppercase !important;
  color: rgba(154, 122, 66, .72) !important;
}

/* Main editorial container */
body.single-product .bn-product-long-inner {
  max-width: 720px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* Intro sentence — the emotional hook */
body.single-product .bn-product-long-inner p:first-of-type {
  max-width: 650px !important;
  margin: 0 auto 38px !important;
  font-family: var(--bn-serif) !important;
  font-size: clamp(26px, 2.1vw, 34px) !important;
  line-height: 1.34 !important;
  font-weight: 300 !important;
  letter-spacing: -.014em !important;
  color: #24211d !important;
}

/* Body paragraphs — lighter editorial reading */
body.single-product .bn-product-long-inner p:not(:first-of-type):not(:last-of-type) {
  max-width: 620px !important;
  margin: 0 auto 26px !important;
  font-family: var(--bn-serif) !important;
  font-size: clamp(18px, 1.25vw, 20px) !important;
  line-height: 1.78 !important;
  font-weight: 300 !important;
  color: rgba(43, 39, 34, .72) !important;
}

/* Final poetic thought */
body.single-product .bn-product-long-inner p:last-of-type {
  max-width: 610px !important;
  margin: 34px auto 0 !important;
  font-family: var(--bn-serif) !important;
  font-size: clamp(18px, 1.28vw, 21px) !important;
  line-height: 1.76 !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: rgba(43, 39, 34, .66) !important;
}

/* Related section: keep intentional space, but not empty while cards are not connected */
body.single-product .bn-product-related-note {
  padding-top: clamp(88px, 10vh, 136px) !important;
  padding-bottom: clamp(112px, 13vh, 168px) !important;
  background: #ffffff !important;
  border-top: 0 !important;
}

/* Once related pieces are added, this area can expand again */
body.single-product .bn-product-related-inner {
  max-width: 720px !important;
}

body.single-product .bn-product-related-inner h2 {
  max-width: 650px !important;
  margin-bottom: 22px !important;
  color: #24211d !important;
}

body.single-product .bn-product-related-inner p {
  color: rgba(43, 39, 34, .62) !important;
}

/* Softer text color across product details */
body.single-product .bn-product-title,
body.single-product .bn-product-story,
body.single-product .bn-specs-value,
body.single-product .bn-product-assurance {
  color: rgba(36, 33, 29, .88) !important;
}

body.single-product .bn-product-story,
body.single-product .bn-product-story p,
body.single-product .bn-specs-value,
body.single-product .bn-specs-value p,
body.single-product .bn-product-assurance {
  color: rgba(43, 39, 34, .68) !important;
}

/* =========================================================================
   BONUM PRODUCT — BUTTON + AFFIRM POLISH V1.8
   ========================================================================= */

/* Direct cart link behaves visually like a premium button */
body.single-product .bn-direct-add-to-cart,
body.single-product .bn-product-actions .single_add_to_cart_button,
body.single-product .bn-product-actions .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 0 28px !important;
  background: #1b1815 !important;
  border: 1px solid #1b1815 !important;
  color: #ffffff !important;
  font-family: var(--bn-sans) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition:
    background-color .28s ease,
    border-color .28s ease,
    transform .28s ease,
    opacity .28s ease !important;
}

body.single-product .bn-direct-add-to-cart:hover,
body.single-product .bn-product-actions .single_add_to_cart_button:hover,
body.single-product .bn-product-actions .button:hover {
  background: #2a2520 !important;
  border-color: #2a2520 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Affirm line: visible but quiet */
body.single-product .bn-product-financing {
  margin: 10px 0 28px !important;
  max-width: 360px !important;
  font-family: var(--bn-sans) !important;
  font-size: 10px !important;
  line-height: 1.55 !important;
  letter-spacing: .035em !important;
  color: rgba(43, 39, 34, .52) !important;
}

body.single-product .bn-product-financing::first-letter {
  color: rgba(43, 39, 34, .68) !important;
}

/* =========================================================================
   BONUM PRODUCT — AFFIRM QUIET NOTE V1.9
   ========================================================================= */

body.single-product .bn-product-financing {
  margin: 8px 0 30px !important;
  max-width: 340px !important;
  font-family: var(--bn-sans) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  letter-spacing: .055em !important;
  color: rgba(43, 39, 34, .42) !important;
}

body.single-product .bn-product-financing strong,
body.single-product .bn-product-financing b {
  font-weight: 400 !important;
}

/* =========================================================================
   BONUM CART — PREMIUM V1
   Cart with product + empty cart refinement
   ========================================================================= */

/* General cart canvas */
body.woocommerce-cart #bonum-main,
body.woocommerce-cart .bonum-woo-canvas {
  background: #ffffff !important;
}

body.woocommerce-cart .bonum-cart {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: clamp(70px, 9vh, 120px) clamp(24px, 5vw, 56px) clamp(96px, 13vh, 160px) !important;
}

/* Header */
.bonum-cart-head {
  max-width: 760px;
  margin: 0 auto clamp(48px, 7vh, 82px);
  text-align: center;
}

.bonum-cart-eyebrow {
  margin: 0 0 18px;
  font-family: var(--bn-sans);
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(154, 122, 66, .78);
}

.bonum-cart-title,
.bonum-cart-empty-title {
  margin: 0;
  font-family: var(--bn-serif);
  font-weight: 300;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.02;
  letter-spacing: -.026em;
  color: var(--bn-ink);
}

.bonum-cart-title em,
.bonum-cart-empty-title em {
  font-style: italic;
  color: rgba(26, 23, 20, .72);
}

/* Empty cart */
.bonum-cart-empty {
  min-height: 56vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bonum-cart-empty-card {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: clamp(58px, 8vw, 92px) clamp(28px, 6vw, 70px);
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(185, 160, 119, .18), transparent 45%),
    #ffffff;
  border: 1px solid rgba(154, 122, 66, .16);
  box-shadow: 0 36px 90px rgba(26, 23, 20, .055);
}

.bonum-cart-empty-text {
  max-width: 500px;
  margin: 30px auto 36px;
  font-family: var(--bn-serif);
  font-weight: 300;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.72;
  color: rgba(26, 23, 20, .62);
}

.bonum-cart-empty-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 230px;
  min-height: 52px;
  padding: 0 34px;
  background: var(--bn-ink);
  color: #ffffff !important;
  border: 1px solid var(--bn-ink);
  font-family: var(--bn-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background .3s ease, color .3s ease, transform .3s ease;
}

.bonum-cart-empty-button:hover {
  background: #2a2520;
  color: #ffffff !important;
  transform: translateY(-1px);
}

/* Cart with product — layout refinement */
.bonum-cart-form {
  max-width: 820px;
  margin: 0 auto;
}

.bonum-cart-items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.bonum-cart-item {
  display: grid;
  grid-template-columns: minmax(160px, 240px) 1fr;
  gap: clamp(28px, 5vw, 58px);
  align-items: center;
  padding: clamp(30px, 5vw, 52px) 0;
  border-top: 1px solid rgba(154, 122, 66, .15);
}

.bonum-cart-item:last-of-type {
  border-bottom: 1px solid rgba(154, 122, 66, .15);
}

.bonum-cart-item-media img {
  width: 100%;
  max-width: 240px;
  height: auto;
  display: block;
  box-shadow:
    0 32px 70px -42px rgba(26, 23, 20, .52),
    0 8px 18px rgba(40, 32, 22, .10);
}

.bonum-cart-item-name {
  margin: 0 0 14px;
  font-family: var(--bn-serif);
  font-weight: 300;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--bn-ink);
}

.bonum-cart-item-name a {
  color: var(--bn-ink) !important;
  text-decoration: none !important;
}

.bonum-cart-item-price {
  margin: 0 0 26px;
  font-family: var(--bn-sans);
  font-size: 13px;
  letter-spacing: .04em;
  color: rgba(26, 23, 20, .58);
}

.bonum-cart-item-controls {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.bonum-cart .quantity input.qty,
.bonum-cart-item-controls .quantity input.qty {
  width: 68px !important;
  min-height: 44px !important;
  border: 1px solid rgba(154, 122, 66, .22) !important;
  background: #fbf8f2 !important;
  color: var(--bn-ink) !important;
  border-radius: 0 !important;
  text-align: center !important;
}

.bonum-cart-remove,
.bonum-cart a.remove {
  font-family: var(--bn-sans) !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(26, 23, 20, .46) !important;
  text-decoration: none !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
}

.bonum-cart-remove:hover,
.bonum-cart a.remove:hover {
  background: transparent !important;
  color: var(--bn-gold) !important;
}

/* Coupon / update area */
.bonum-cart-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  padding: 30px 0 0;
}

.bonum-cart-coupon {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.bonum-cart-coupon input.input-text {
  min-width: 220px;
  min-height: 46px;
  border: 1px solid rgba(154, 122, 66, .22);
  background: #ffffff;
  padding: 0 14px;
  font-family: var(--bn-sans);
  font-size: 13px;
  color: var(--bn-ink);
  border-radius: 0;
}

.bonum-cart button.button,
.bonum-cart .button {
  min-height: 46px !important;
  padding: 0 24px !important;
  border: 1px solid var(--bn-ink) !important;
  background: var(--bn-ink) !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  font-family: var(--bn-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  transition: background .3s ease, color .3s ease, border-color .3s ease;
}

.bonum-cart button.button:hover,
.bonum-cart .button:hover {
  background: #2a2520 !important;
  border-color: #2a2520 !important;
}

/* Cart totals */
.bonum-cart-collaterals {
  max-width: 460px;
  margin: clamp(44px, 6vh, 72px) auto 0;
}

.bonum-cart .cart_totals {
  width: 100% !important;
  float: none !important;
  background: #fbf8f2 !important;
  border: 1px solid rgba(154, 122, 66, .16) !important;
  padding: clamp(30px, 4vw, 44px) !important;
  box-shadow: 0 28px 80px rgba(26, 23, 20, .04);
}

.bonum-cart .cart_totals h2 {
  margin: 0 0 24px;
  font-family: var(--bn-serif);
  font-weight: 300;
  font-size: clamp(28px, 2.6vw, 38px);
  line-height: 1.1;
  color: var(--bn-ink);
}

.bonum-cart .cart_totals table.shop_table {
  border: 0 !important;
  margin-bottom: 28px !important;
}

.bonum-cart .cart_totals table.shop_table th,
.bonum-cart .cart_totals table.shop_table td {
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(154, 122, 66, .13) !important;
  font-family: var(--bn-sans);
  font-size: 13px;
  color: rgba(26, 23, 20, .68);
}

.bonum-cart .cart_totals .order-total th,
.bonum-cart .cart_totals .order-total td {
  color: var(--bn-ink) !important;
  font-size: 15px !important;
}

.bonum-cart .wc-proceed-to-checkout {
  padding: 0 !important;
}

.bonum-cart .checkout-button,
.bonum-cart a.checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 56px !important;
  width: 100% !important;
  padding: 0 28px !important;
  background: var(--bn-ink) !important;
  color: #ffffff !important;
  border: 1px solid var(--bn-ink) !important;
  font-family: var(--bn-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.bonum-cart .checkout-button:hover,
.bonum-cart a.checkout-button:hover {
  background: #2a2520 !important;
  border-color: #2a2520 !important;
}

/* Woo notices inside cart */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
  max-width: 820px;
  margin: 0 auto 32px !important;
  padding: 18px 24px !important;
  background: #fbf8f2 !important;
  border-top: 0 !important;
  border-left: 1px solid rgba(154, 122, 66, .22) !important;
  color: rgba(26, 23, 20, .72) !important;
  font-family: var(--bn-sans);
  font-size: 13px;
  line-height: 1.6;
}

body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-error::before {
  display: none !important;
}

/* Mobile */
@media (max-width: 760px) {
  body.woocommerce-cart .bonum-cart {
    padding: 54px 22px 96px !important;
  }

  .bonum-cart-head {
    margin-bottom: 44px;
  }

  .bonum-cart-title,
  .bonum-cart-empty-title {
    font-size: clamp(38px, 11vw, 52px);
  }

  .bonum-cart-item {
    grid-template-columns: 1fr;
    gap: 26px;
    text-align: left;
  }

  .bonum-cart-item-media img {
    max-width: 100%;
  }

  .bonum-cart-actions,
  .bonum-cart-coupon {
    flex-direction: column;
    align-items: stretch;
  }

  .bonum-cart-coupon input.input-text,
  .bonum-cart button.button,
  .bonum-cart .button {
    width: 100% !important;
  }

  .bonum-cart-empty-card {
    padding: 54px 24px 58px;
  }
}

/* =========================================================================
   BONUM CART — PREMIUM REFINEMENT V2
   Referral code, assurance, secondary actions, totals trust note
   ========================================================================= */

/* Softer Woo added-to-cart notice */
body.woocommerce-cart .woocommerce-message {
  max-width: 720px !important;
  margin: 0 auto clamp(54px, 7vh, 86px) !important;
  padding: 16px 20px !important;
  background: #fbf8f2 !important;
  border: 1px solid rgba(26, 23, 20, .28) !important;
  color: rgba(26, 23, 20, .68) !important;
  font-family: var(--bn-sans) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-message a,
body.woocommerce-cart .woocommerce-message .button {
  float: right !important;
  min-height: auto !important;
  padding: 0 !important;
  margin: 0 0 0 18px !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(26, 23, 20, .52) !important;
  font-family: var(--bn-sans) !important;
  font-size: 9px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

body.woocommerce-cart .woocommerce-message a:hover,
body.woocommerce-cart .woocommerce-message .button:hover {
  color: var(--bn-gold) !important;
}

/* Product premium assurance notes */
.bonum-cart-item-assurance {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(154, 122, 66, .13);
  display: grid;
  gap: 13px;
}

.bonum-cart-item-assurance p {
  margin: 0;
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 18px;
  font-family: var(--bn-serif);
  font-size: 13.5px;
  line-height: 1.58;
  font-style: italic;
  color: rgba(26, 23, 20, .58);
}

.bonum-cart-item-assurance span {
  font-family: var(--bn-sans);
  font-style: normal;
  font-size: 8px;
  line-height: 1.6;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(154, 122, 66, .76);
}

/* Referral / gallery code area */
.bonum-cart-coupon {
  align-items: center !important;
}

.bonum-cart-coupon input.input-text {
  min-width: 260px !important;
  min-height: 42px !important;
  background: #ffffff !important;
  border: 1px solid rgba(154, 122, 66, .18) !important;
  color: rgba(26, 23, 20, .72) !important;
  font-family: var(--bn-sans) !important;
  font-size: 12px !important;
}

.bonum-cart-coupon input.input-text::placeholder {
  color: rgba(26, 23, 20, .38);
}

/* Make Apply Code secondary, not competitive */
.bonum-cart .bonum-apply-code,
.bonum-cart button[name="apply_coupon"] {
  min-height: 42px !important;
  background: transparent !important;
  color: rgba(26, 23, 20, .58) !important;
  border: 1px solid rgba(154, 122, 66, .22) !important;
  font-size: 9px !important;
  letter-spacing: .18em !important;
  padding: 0 18px !important;
}

.bonum-cart .bonum-apply-code:hover,
.bonum-cart button[name="apply_coupon"]:hover {
  background: #fbf8f2 !important;
  color: var(--bn-ink) !important;
  border-color: rgba(154, 122, 66, .36) !important;
}

/* Update cart should not compete with checkout */
.bonum-cart button[name="update_cart"] {
  min-height: 42px !important;
  background: transparent !important;
  color: rgba(26, 23, 20, .34) !important;
  border: 1px solid rgba(154, 122, 66, .14) !important;
  font-size: 8.5px !important;
  letter-spacing: .18em !important;
  padding: 0 16px !important;
  opacity: .68;
}

.bonum-cart button[name="update_cart"]:hover {
  background: transparent !important;
  color: rgba(26, 23, 20, .62) !important;
  border-color: rgba(154, 122, 66, .26) !important;
}

/* When JS auto-update is active, keep button present but almost invisible */
.bonum-cart-form.bn-auto-update-ready button[name="update_cart"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

/* Soft native transition while cart is updating */
.bonum-cart-form.bn-cart-is-changing .bonum-cart-items,
.bonum-cart-form.bn-cart-is-changing .bonum-cart-collaterals {
  opacity: .55;
  transform: translateY(4px);
  transition: opacity .28s ease, transform .28s ease;
}

/* Cart totals: rename visually without editing Woo totals template */
.bonum-cart .cart_totals h2 {
  font-size: 0 !important;
  line-height: 0 !important;
}

.bonum-cart .cart_totals h2::after {
  content: "Selection summary";
  display: block;
  font-family: var(--bn-serif);
  font-size: clamp(28px, 2.6vw, 38px);
  line-height: 1.1;
  font-weight: 300;
  color: var(--bn-ink);
}

/* Checkout trust note */
.bonum-cart .wc-proceed-to-checkout::before {
  content: "Transactions are protected with secure encryption. Your artwork will travel in protective packaging prepared for its safe arrival.";
  display: block;
  margin: 0 0 22px;
  font-family: var(--bn-serif);
  font-style: italic;
  font-weight: 300;
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(26, 23, 20, .58);
}

/* Stronger main checkout button */
.bonum-cart .checkout-button,
.bonum-cart a.checkout-button {
  min-height: 58px !important;
  background: #1b1815 !important;
  border-color: #1b1815 !important;
  color: #ffffff !important;
  letter-spacing: .24em !important;
}

.bonum-cart .checkout-button:hover,
.bonum-cart a.checkout-button:hover {
  background: #2a2520 !important;
  border-color: #2a2520 !important;
}

/* Gallery assistance block */
.bonum-cart-gallery-assistance {
  margin-top: 24px;
  padding: 24px 0 0;
  border-top: 1px solid rgba(154, 122, 66, .14);
}

.bonum-cart-gallery-label {
  margin: 0 0 10px;
  font-family: var(--bn-sans);
  font-size: 8px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(154, 122, 66, .76);
}

.bonum-cart-gallery-assistance p:not(.bonum-cart-gallery-label) {
  margin: 0;
  font-family: var(--bn-serif);
  font-style: italic;
  font-weight: 300;
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(26, 23, 20, .58);
}

.bonum-cart-gallery-assistance a {
  color: var(--bn-ink);
  text-decoration: none;
  border-bottom: 1px solid rgba(154, 122, 66, .32);
}

.bonum-cart-gallery-assistance a:hover {
  color: var(--bn-gold);
}

/* Mobile refinement */
@media (max-width: 760px) {
  .bonum-cart-item-assurance p {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .bonum-cart-coupon input.input-text,
  .bonum-cart .bonum-apply-code,
  .bonum-cart button[name="apply_coupon"] {
    width: 100% !important;
  }

  body.woocommerce-cart .woocommerce-message a,
  body.woocommerce-cart .woocommerce-message .button {
    float: none !important;
    display: block !important;
    margin: 10px 0 0 !important;
  }
}

/* =========================================================================
   BONUM CART — PREMIUM REFINEMENT V3
   Side summary, discreet gallery code, cleaner financing/express buttons
   ========================================================================= */

/* Desktop: product and summary side by side */
@media (min-width: 981px) {
  body.woocommerce-cart .bonum-cart:not(.bonum-cart-empty) {
    max-width: 1180px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 390px) !important;
    gap: clamp(56px, 6vw, 92px) !important;
    align-items: start !important;
  }

  body.woocommerce-cart .bonum-cart:not(.bonum-cart-empty) .bonum-cart-head {
    grid-column: 1 / -1 !important;
    margin-bottom: clamp(44px, 6vh, 72px) !important;
  }

  body.woocommerce-cart .bonum-cart-form {
    grid-column: 1 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.woocommerce-cart .bonum-cart-collaterals {
    grid-column: 2 !important;
    max-width: none !important;
    margin: 0 !important;
    position: sticky !important;
    top: 138px !important;
  }

  body.woocommerce-cart .bonum-cart-item {
    grid-template-columns: minmax(150px, 210px) 1fr !important;
    gap: clamp(28px, 4vw, 50px) !important;
  }
}

/* Keep empty cart centered, not affected by desktop grid */
body.woocommerce-cart .bonum-cart-empty {
  display: flex !important;
}

/* More discreet code panel */
.bonum-cart-code-panel {
  width: 100%;
  max-width: 380px;
  margin: 0;
}

.bonum-cart-code-panel summary {
  width: fit-content;
  list-style: none;
  cursor: pointer;
  font-family: var(--bn-serif);
  font-style: italic;
  font-weight: 300;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(26, 23, 20, .48);
  border-bottom: 1px solid rgba(154, 122, 66, .22);
  transition: color .28s ease, border-color .28s ease;
}

.bonum-cart-code-panel summary::-webkit-details-marker {
  display: none;
}

.bonum-cart-code-panel summary:hover {
  color: rgba(26, 23, 20, .72);
  border-color: rgba(154, 122, 66, .42);
}

.bonum-cart-code-panel[open] summary {
  margin-bottom: 14px;
  color: rgba(26, 23, 20, .68);
}

.bonum-cart-code-panel .bonum-cart-coupon {
  display: flex;
  gap: 8px;
  align-items: center;
  animation: bonumCodeReveal .28s ease both;
}

@keyframes bonumCodeReveal {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.bonum-cart-code-panel .bonum-cart-coupon input.input-text {
  min-width: 190px !important;
  min-height: 38px !important;
  padding: 0 12px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(154, 122, 66, .22) !important;
  font-family: var(--bn-sans) !important;
  font-size: 11px !important;
  color: rgba(26, 23, 20, .72) !important;
}

.bonum-cart-code-panel .bonum-cart-coupon input.input-text:focus {
  outline: none !important;
  border-bottom-color: rgba(154, 122, 66, .54) !important;
}

.bonum-cart-code-panel .bonum-cart-coupon input.input-text::placeholder {
  color: rgba(26, 23, 20, .34);
}

.bonum-cart-code-panel .bonum-apply-code,
.bonum-cart-code-panel button[name="apply_coupon"] {
  min-height: 38px !important;
  padding: 0 14px !important;
  background: transparent !important;
  border: 1px solid rgba(154, 122, 66, .20) !important;
  color: rgba(26, 23, 20, .46) !important;
  font-size: 8px !important;
  letter-spacing: .18em !important;
}

.bonum-cart-code-panel .bonum-apply-code:hover,
.bonum-cart-code-panel button[name="apply_coupon"]:hover {
  background: #fbf8f2 !important;
  color: var(--bn-ink) !important;
  border-color: rgba(154, 122, 66, .34) !important;
}

/* Cart actions should not dominate */
.bonum-cart-actions {
  padding-top: 26px !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

/* Update cart becomes almost invisible unless needed */
.bonum-cart button[name="update_cart"] {
  min-height: 36px !important;
  padding: 0 12px !important;
  background: transparent !important;
  border: 0 !important;
  color: rgba(26, 23, 20, .24) !important;
  font-size: 8px !important;
  letter-spacing: .18em !important;
}

.bonum-cart button[name="update_cart"]:hover {
  color: rgba(26, 23, 20, .52) !important;
  background: transparent !important;
}

/* Selection summary refinement */
.bonum-cart .cart_totals {
  background: #fbf8f2 !important;
  border: 1px solid rgba(154, 122, 66, .13) !important;
  box-shadow: 0 28px 80px rgba(26, 23, 20, .035) !important;
}

.bonum-cart .cart_totals h2::after {
  font-size: clamp(27px, 2.4vw, 36px) !important;
  letter-spacing: -.018em !important;
}

/* Softer summary table */
.bonum-cart .cart_totals table.shop_table th,
.bonum-cart .cart_totals table.shop_table td {
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(154, 122, 66, .08) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(26, 23, 20, .52) !important;
}

.bonum-cart .cart_totals table.shop_table td {
  text-align: right !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  color: rgba(26, 23, 20, .70) !important;
}

.bonum-cart .cart_totals .order-total th,
.bonum-cart .cart_totals .order-total td,
.bonum-cart .cart_totals .order-total strong,
.bonum-cart .cart_totals .order-total bdi {
  font-family: var(--bn-sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--bn-ink) !important;
}

/* Trust note more subtle */
.bonum-cart .wc-proceed-to-checkout::before {
  margin: 2px 0 20px !important;
  font-size: 12.5px !important;
  line-height: 1.62 !important;
  color: rgba(26, 23, 20, .54) !important;
}

/* Checkout button becomes the clear primary action */
.bonum-cart .checkout-button,
.bonum-cart a.checkout-button {
  min-height: 60px !important;
  background: #1b1815 !important;
  border: 1px solid #1b1815 !important;
  color: #ffffff !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
}

.bonum-cart .checkout-button:hover,
.bonum-cart a.checkout-button:hover {
  background: #2a2520 !important;
  border-color: #2a2520 !important;
}

/* Affirm: style what is outside iframe/script control */
body.woocommerce-cart .affirm-as-low-as,
body.woocommerce-cart .affirm-modal-trigger,
body.woocommerce-cart [data-page-type="cart"] .affirm-as-low-as {
  order: 2 !important;
  display: block !important;
  margin: 12px 0 0 !important;
  font-family: var(--bn-sans) !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
  letter-spacing: .02em !important;
  color: rgba(26, 23, 20, .42) !important;
  text-align: center !important;
}

body.woocommerce-cart .affirm-as-low-as a,
body.woocommerce-cart .affirm-modal-trigger {
  color: rgba(26, 23, 20, .48) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-thickness: 1px !important;
}

/* If Affirm is placed inside proceed block, keep checkout button first */
.bonum-cart .wc-proceed-to-checkout {
  display: flex !important;
  flex-direction: column !important;
}

.bonum-cart .wc-proceed-to-checkout .checkout-button {
  order: 1 !important;
}

.bonum-cart .wc-proceed-to-checkout .affirm-as-low-as {
  order: 2 !important;
}

/* Hide express payment buttons from cart to preserve gallery tone */
body.woocommerce-cart .wcpay-express-checkout-wrapper,
body.woocommerce-cart .wc-block-components-express-payment,
body.woocommerce-cart .wc-block-components-express-payment__event-buttons,
body.woocommerce-cart .express-payment-methods,
body.woocommerce-cart #wcpay-express-checkout-element,
body.woocommerce-cart #wcpay-payment-request-wrapper,
body.woocommerce-cart .payment-request-button,
body.woocommerce-cart .wc-stripe-payment-request-wrapper,
body.woocommerce-cart .gpay-card-info-container,
body.woocommerce-cart .GooglePayButton,
body.woocommerce-cart .apple-pay-button,
body.woocommerce-cart .woopay-express-button,
body.woocommerce-cart .wc-block-components-express-payment-continue-rule {
  display: none !important;
}

/* Gallery assistance aligns with summary card */
.bonum-cart-gallery-assistance {
  margin-top: 22px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(154, 122, 66, .10) !important;
}

/* Mobile: summary goes below product */
@media (max-width: 980px) {
  body.woocommerce-cart .bonum-cart:not(.bonum-cart-empty) {
    display: block !important;
  }

  body.woocommerce-cart .bonum-cart-collaterals {
    position: static !important;
    max-width: 460px !important;
    margin: clamp(44px, 6vh, 72px) auto 0 !important;
  }
}

@media (max-width: 760px) {
  .bonum-cart-code-panel {
    max-width: 100%;
  }

  .bonum-cart-code-panel summary {
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  .bonum-cart-code-panel .bonum-cart-coupon {
    flex-direction: column;
    align-items: stretch;
  }

  .bonum-cart-code-panel .bonum-cart-coupon input.input-text,
  .bonum-cart-code-panel .bonum-apply-code,
  .bonum-cart-code-panel button[name="apply_coupon"] {
    width: 100% !important;
  }
}

/* =========================================================================
   BONUM CART — FINAL POLISH V4
   White-space summary, invisible divider, cleaner totals
   ========================================================================= */

/* Remove boxed feeling from the summary */
body.woocommerce-cart .bonum-cart .cart_totals {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Desktop: subtle architectural divider between artwork and summary */
@media (min-width: 981px) {
  body.woocommerce-cart .bonum-cart-collaterals {
    padding-left: clamp(38px, 4.8vw, 66px) !important;
    border-left: 1px solid #eeeeee !important;
  }
}

/* Make the summary title quieter and more architectural */
.bonum-cart .cart_totals h2 {
  margin: 0 0 26px !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.bonum-cart .cart_totals h2::after {
  content: "SUMMARY" !important;
  display: block !important;
  font-family: var(--bn-sans) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  color: rgba(154, 122, 66, .72) !important;
}

/* Remove all table-box feeling */
.bonum-cart .cart_totals table,
.bonum-cart .cart_totals table.shop_table,
.bonum-cart .cart_totals tbody,
.bonum-cart .cart_totals tr,
.bonum-cart .cart_totals th,
.bonum-cart .cart_totals td {
  background: transparent !important;
  box-shadow: none !important;
}

/* Price rows: pure text, no grey cells */
.bonum-cart .cart_totals table.shop_table {
  margin: 0 0 30px !important;
  border: 0 !important;
}

.bonum-cart .cart_totals table.shop_table th,
.bonum-cart .cart_totals table.shop_table td {
  padding: 13px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(26, 23, 20, .07) !important;
  font-family: var(--bn-sans) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(26, 23, 20, .46) !important;
}

.bonum-cart .cart_totals table.shop_table td {
  text-align: right !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  color: rgba(26, 23, 20, .70) !important;
}

/* Total: quiet but clear */
.bonum-cart .cart_totals .order-total th,
.bonum-cart .cart_totals .order-total td,
.bonum-cart .cart_totals .order-total strong,
.bonum-cart .cart_totals .order-total bdi {
  font-family: var(--bn-sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  color: var(--bn-ink) !important;
}

/* Trust note: softer, more gallery-like */
.bonum-cart .wc-proceed-to-checkout::before {
  margin: 0 0 18px !important;
  font-family: var(--bn-serif) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 12.5px !important;
  line-height: 1.65 !important;
  color: rgba(26, 23, 20, .52) !important;
}

/* Affirm stays small and secondary */
body.woocommerce-cart .affirm-as-low-as,
body.woocommerce-cart .affirm-modal-trigger,
body.woocommerce-cart [data-page-type="cart"] .affirm-as-low-as {
  margin: 8px 0 0 !important;
  font-family: var(--bn-sans) !important;
  font-size: 9.5px !important;
  line-height: 1.4 !important;
  color: rgba(26, 23, 20, .42) !important;
  text-align: left !important;
}

/* Checkout button becomes the visual anchor */
.bonum-cart .checkout-button,
.bonum-cart a.checkout-button {
  margin-top: 16px !important;
  min-height: 60px !important;
  width: 100% !important;
  background: #1b1815 !important;
  border: 1px solid #1b1815 !important;
  color: #ffffff !important;
  font-family: var(--bn-sans) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

.bonum-cart .checkout-button:hover,
.bonum-cart a.checkout-button:hover {
  background: #2a2520 !important;
  border-color: #2a2520 !important;
}

/* Assistance block should also float, not feel boxed */
.bonum-cart-gallery-assistance {
  margin-top: 30px !important;
  padding-top: 26px !important;
  border-top: 1px solid rgba(26, 23, 20, .07) !important;
}

.bonum-cart-gallery-label {
  color: rgba(154, 122, 66, .68) !important;
}

.bonum-cart-gallery-assistance p:not(.bonum-cart-gallery-label) {
  color: rgba(26, 23, 20, .52) !important;
}

/* Mobile: no vertical divider */
@media (max-width: 980px) {
  body.woocommerce-cart .bonum-cart-collaterals {
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  body.woocommerce-cart .bonum-cart .cart_totals {
    padding-top: 34px !important;
    border-top: 1px solid rgba(26, 23, 20, .08) !important;
  }
}

/* =========================================================================
   BONUM CART — REMOVE SELECTION FIX
   Make remove action visible but quiet
   ========================================================================= */

.bonum-cart-item-controls {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 14px !important;
}

/* In a one-of-a-kind artwork cart, quantity should not compete visually */
.bonum-cart-item-controls .quantity {
  display: none !important;
}

/* Remove link: visible, quiet, gallery-like */
.bonum-cart-remove,
.bonum-cart a.remove {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 0 4px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(154, 122, 66, .20) !important;
  border-radius: 0 !important;
  color: rgba(26, 23, 20, .46) !important;
  font-family: var(--bn-serif) !important;
  font-size: 12.5px !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  opacity: 1 !important;
}

.bonum-cart-remove:hover,
.bonum-cart a.remove:hover {
  background: transparent !important;
  color: var(--bn-gold) !important;
  border-bottom-color: rgba(154, 122, 66, .48) !important;
}

/* Replace the plain Woo text visually */
.bonum-cart-remove {
  font-size: 0 !important;
}

.bonum-cart-remove::after {
  content: "Remove selection";
  font-size: 12.5px !important;
}

/* =========================================================================
   BONUM CART — CHANGE SELECTION ACTION
   Visible remove action, quiet and premium
   ========================================================================= */

.bonum-cart-item-hidden-controls {
  display: none !important;
}

.bonum-cart-change-selection {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 10px 0 26px !important;
  padding: 0 0 5px !important;
  border-bottom: 1px solid rgba(154, 122, 66, .24) !important;
  color: rgba(26, 23, 20, .48) !important;
  font-family: var(--bn-serif) !important;
  font-size: 12.5px !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  transition: color .28s ease, border-color .28s ease;
}

.bonum-cart-change-selection:hover {
  color: var(--bn-gold) !important;
  border-bottom-color: rgba(154, 122, 66, .54) !important;
}

/* =========================================================================
   BONUM CART — MOBILE FINAL SPACING
   More breathing around checkout button, less empty space before footer
   ========================================================================= */

@media (max-width: 760px) {

  /* Reduce bottom space before footer */
  body.woocommerce-cart .bonum-cart {
    padding-bottom: 58px !important;
  }

  body.woocommerce-cart #main,
  body.woocommerce-cart .site-main,
  body.woocommerce-cart #bonum-main,
  body.woocommerce-cart .bonum-woo-canvas {
    padding-bottom: 0 !important;
  }

  /* Give Proceed to Checkout more breathing room from Affirm */
  .bonum-cart .checkout-button,
  .bonum-cart a.checkout-button {
    margin-top: 24px !important;
  }

  /* Keep Affirm small, but not pressed against the button */
  body.woocommerce-cart .affirm-as-low-as,
  body.woocommerce-cart .affirm-modal-trigger,
  body.woocommerce-cart [data-page-type="cart"] .affirm-as-low-as {
    margin-bottom: 14px !important;
  }

  /* Tighten lower assistance block slightly on mobile */
  .bonum-cart-gallery-assistance {
    margin-top: 22px !important;
    padding-top: 20px !important;
  }
}

/* =========================================================================
   BONUM CHECKOUT — PREMIUM V1
   White gallery checkout, discreet code, calm payment/order summary
   ========================================================================= */

/* General checkout canvas */
body.woocommerce-checkout #bonum-main,
body.woocommerce-checkout .bonum-woo-canvas,
body.woocommerce-checkout .site-main {
  background: #ffffff !important;
}

/* Remove Woo blue coupon/info styling */
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error {
  max-width: 860px !important;
  margin: 0 auto 34px !important;
  padding: 16px 20px !important;
  background: #fbf8f2 !important;
  border: 1px solid rgba(154, 122, 66, .16) !important;
  color: rgba(26, 23, 20, .62) !important;
  font-family: var(--bn-sans) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-error::before {
  display: none !important;
}

/* Courtesy / gallery code panel */
.bonum-checkout-code-wrap {
  max-width: 1180px;
  margin: clamp(34px, 5vh, 58px) auto 0;
  padding: 0 clamp(24px, 5vw, 56px);
}

.bonum-checkout-code-panel {
  width: fit-content;
  margin: 0 auto;
  text-align: center;
}

.bonum-checkout-code-panel summary {
  list-style: none;
  cursor: pointer;
  width: fit-content;
  margin: 0 auto;
  font-family: var(--bn-serif);
  font-style: italic;
  font-weight: 300;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(26, 23, 20, .48);
  border-bottom: 1px solid rgba(154, 122, 66, .22);
  transition: color .28s ease, border-color .28s ease;
}

.bonum-checkout-code-panel summary::-webkit-details-marker {
  display: none;
}

.bonum-checkout-code-panel summary:hover {
  color: rgba(26, 23, 20, .72);
  border-color: rgba(154, 122, 66, .42);
}

.bonum-checkout-code-panel[open] summary {
  margin-bottom: 18px;
}

.bonum-checkout-code-form {
  animation: bonumCheckoutCodeReveal .28s ease both;
}

@keyframes bonumCheckoutCodeReveal {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.bonum-checkout-code-note {
  margin: 0 auto 14px;
  font-family: var(--bn-serif);
  font-style: italic;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(26, 23, 20, .48);
}

.bonum-checkout-code-fields {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.bonum-checkout-code-fields input.input-text {
  min-width: 220px;
  min-height: 38px;
  padding: 0 12px;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(154, 122, 66, .22) !important;
  font-family: var(--bn-sans);
  font-size: 11px;
  color: rgba(26, 23, 20, .72);
}

.bonum-checkout-code-fields input.input-text:focus {
  outline: none !important;
  border-bottom-color: rgba(154, 122, 66, .54) !important;
}

.bonum-checkout-code-fields button.button {
  min-height: 38px !important;
  padding: 0 14px !important;
  background: transparent !important;
  border: 1px solid rgba(154, 122, 66, .20) !important;
  color: rgba(26, 23, 20, .46) !important;
  border-radius: 0 !important;
  font-family: var(--bn-sans) !important;
  font-size: 8px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

/* Checkout main spacing */
body.woocommerce-checkout .bonum-checkout {
  max-width: 1180px !important;
  padding-top: clamp(56px, 7vh, 96px) !important;
  padding-bottom: clamp(84px, 11vh, 130px) !important;
}

body.woocommerce-checkout .bonum-cart-head {
  margin-bottom: clamp(44px, 6vh, 72px) !important;
}

/* Hide top express checkout buttons so form feels calm */
body.woocommerce-checkout .wcpay-express-checkout-wrapper,
body.woocommerce-checkout .wc-block-components-express-payment,
body.woocommerce-checkout .wc-block-components-express-payment__event-buttons,
body.woocommerce-checkout .express-payment-methods,
body.woocommerce-checkout #wcpay-express-checkout-element,
body.woocommerce-checkout #wcpay-payment-request-wrapper,
body.woocommerce-checkout .payment-request-button,
body.woocommerce-checkout .wc-stripe-payment-request-wrapper,
body.woocommerce-checkout .gpay-card-info-container,
body.woocommerce-checkout .GooglePayButton,
body.woocommerce-checkout .apple-pay-button,
body.woocommerce-checkout .woopay-express-button,
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule,
body.woocommerce-checkout .wcpay-express-checkout-separator,
body.woocommerce-checkout .express-payment-separator,
body.woocommerce-checkout .wc-block-components-express-payment__separator {
  display: none !important;
}

/* Checkout grid: same gallery logic as cart */
.bonum-checkout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 390px) !important;
  gap: clamp(56px, 6vw, 92px) !important;
  align-items: start !important;
}

.bonum-checkout-details {
  min-width: 0;
}

.bonum-checkout-aside {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0 0 clamp(38px, 4.8vw, 66px) !important;
  border-left: 1px solid #eeeeee !important;
  position: sticky;
  top: 138px;
}

/* Headings */
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout .bonum-checkout-review-title {
  margin: 0 0 24px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid rgba(26, 23, 20, .07) !important;
  font-family: var(--bn-serif) !important;
  font-weight: 300 !important;
  font-size: clamp(23px, 2vw, 30px) !important;
  line-height: 1.15 !important;
  color: var(--bn-ink) !important;
}

/* Order heading becomes quieter */
body.woocommerce-checkout .bonum-checkout-review-title {
  font-family: var(--bn-sans) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  color: rgba(154, 122, 66, .72) !important;
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 26px !important;
}

/* Labels */
body.woocommerce-checkout .form-row label {
  margin-bottom: 8px !important;
  font-family: var(--bn-sans) !important;
  font-size: 8.5px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: rgba(26, 23, 20, .48) !important;
}

/* Inputs */
body.woocommerce-checkout .input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(26, 23, 20, .10) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: rgba(26, 23, 20, .78) !important;
  font-family: var(--bn-sans) !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

body.woocommerce-checkout textarea {
  min-height: 92px !important;
  padding-top: 14px !important;
}

body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus {
  outline: none !important;
  border-color: rgba(154, 122, 66, .46) !important;
}

/* Form rows */
body.woocommerce-checkout .form-row {
  margin-bottom: 18px !important;
}

/* Order table refinement */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  margin: 0 0 28px !important;
  border: 0 !important;
  background: transparent !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(26, 23, 20, .07) !important;
  background: transparent !important;
  font-family: var(--bn-sans) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  color: rgba(26, 23, 20, .54) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  text-align: right !important;
  color: rgba(26, 23, 20, .72) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total strong,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total bdi {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--bn-ink) !important;
}

/* Payment area */
body.woocommerce-checkout #payment {
  background: transparent !important;
  border: 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
  padding: 0 !important;
  border: 0 !important;
  margin: 0 0 24px !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(26, 23, 20, .07) !important;
  font-family: var(--bn-sans) !important;
  font-size: 12px !important;
  color: rgba(26, 23, 20, .64) !important;
}

body.woocommerce-checkout #payment div.payment_box {
  margin: 14px 0 0 !important;
  padding: 16px !important;
  background: #fbf8f2 !important;
  border: 1px solid rgba(154, 122, 66, .12) !important;
  color: rgba(26, 23, 20, .58) !important;
  font-family: var(--bn-sans) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

body.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

/* Privacy / terms text */
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  font-family: var(--bn-serif) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 12px !important;
  line-height: 1.62 !important;
  color: rgba(26, 23, 20, .52) !important;
}

/* Place order button */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
  margin-top: 18px !important;
  min-height: 60px !important;
  width: 100% !important;
  background: #1b1815 !important;
  border: 1px solid #1b1815 !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-family: var(--bn-sans) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button[name="woocommerce_checkout_place_order"]:hover {
  background: #2a2520 !important;
  border-color: #2a2520 !important;
}

/* Mobile */
@media (max-width: 980px) {
  .bonum-checkout-grid {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }

  .bonum-checkout-aside {
    position: static !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    padding-top: 34px !important;
    border-top: 1px solid rgba(26, 23, 20, .08) !important;
  }
}

@media (max-width: 760px) {
  body.woocommerce-checkout .bonum-checkout {
    padding: 54px 22px 64px !important;
  }

  body.woocommerce-checkout .bonum-cart-title {
    font-size: clamp(38px, 11vw, 52px) !important;
  }

  .bonum-checkout-code-fields {
    flex-direction: column;
  }

  .bonum-checkout-code-fields input.input-text,
  .bonum-checkout-code-fields button.button {
    width: 100% !important;
  }

  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last {
    width: 100% !important;
    float: none !important;
  }
}

/* =========================================================================
   BONUM CHECKOUT — POLISH V2
   Refine spacing, payment area, and align checkout with cart language
   ========================================================================= */

/* Bring courtesy/gallery code closer to the checkout hero */
body.woocommerce-checkout .bonum-checkout-code-wrap {
  margin: 12px auto 0 !important;
  padding-bottom: 4px !important;
}

body.woocommerce-checkout .bonum-checkout-code-panel summary {
  font-size: 12px !important;
  color: rgba(26, 23, 20, .42) !important;
}

/* Tighten top rhythm so the page feels more intentional */
body.woocommerce-checkout .bonum-checkout {
  padding-top: clamp(40px, 5vh, 68px) !important;
  padding-bottom: clamp(64px, 9vh, 96px) !important;
}

body.woocommerce-checkout .bonum-cart-head {
  margin-bottom: clamp(34px, 5vh, 56px) !important;
}

/* Make the form / aside relationship feel more architectural */
body.woocommerce-checkout .bonum-checkout-grid {
  gap: clamp(48px, 5.2vw, 82px) !important;
}

body.woocommerce-checkout .bonum-checkout-aside {
  padding-left: clamp(34px, 4.2vw, 58px) !important;
  border-left: 1px solid #eeeeee !important;
}

/* Remove any remaining "boxed plugin" feeling in the order review column */
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .woocommerce-checkout-payment {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Calm order summary table */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  margin-bottom: 22px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding: 11px 0 !important;
  border-bottom: 1px solid rgba(26, 23, 20, .06) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total strong,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total bdi {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--bn-ink) !important;
}

/* Payment methods: lighter, cleaner, less plugin-heavy */
body.woocommerce-checkout #payment {
  margin-top: 8px !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
  margin: 0 0 18px !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(26, 23, 20, .06) !important;
  background: transparent !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label {
  font-family: var(--bn-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: rgba(26, 23, 20, .68) !important;
}

/* Remove the "beige card" feeling from payment boxes */
body.woocommerce-checkout #payment div.payment_box {
  margin: 12px 0 0 !important;
  padding: 12px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Inputs inside payment area stay clean and elegant */
body.woocommerce-checkout #payment div.payment_box .input-text,
body.woocommerce-checkout #payment div.payment_box select,
body.woocommerce-checkout #payment div.payment_box textarea {
  background: #ffffff !important;
  border: 1px solid rgba(26, 23, 20, .10) !important;
  color: rgba(26, 23, 20, .76) !important;
}

/* De-emphasize test-mode helper copy */
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment div.payment_box p,
body.woocommerce-checkout #payment small,
body.woocommerce-checkout #payment .testmode-info,
body.woocommerce-checkout #payment .wc-payment-gateway-method-description {
  font-family: var(--bn-serif) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 11.5px !important;
  line-height: 1.6 !important;
  color: rgba(26, 23, 20, .50) !important;
}

/* Give place-order area more breathing room */
body.woocommerce-checkout #payment .place-order {
  margin-top: 14px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(26, 23, 20, .07) !important;
}

/* Keep the black CTA strong and premium */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
  margin-top: 14px !important;
  min-height: 60px !important;
  background: #1b1815 !important;
  border: 1px solid #1b1815 !important;
  color: #ffffff !important;
  letter-spacing: .24em !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button[name="woocommerce_checkout_place_order"]:hover {
  background: #2a2520 !important;
  border-color: #2a2520 !important;
}

/* Reduce the big empty space before the footer */
body.woocommerce-checkout #bonum-main,
body.woocommerce-checkout .bonum-woo-canvas,
body.woocommerce-checkout .site-main {
  padding-bottom: 0 !important;
}

/* Mobile adjustments */
@media (max-width: 980px) {
  body.woocommerce-checkout .bonum-checkout-aside {
    padding-left: 0 !important;
    border-left: 0 !important;
    padding-top: 28px !important;
    border-top: 1px solid rgba(26, 23, 20, .08) !important;
  }
}

@media (max-width: 760px) {
  body.woocommerce-checkout .bonum-checkout {
    padding-top: 44px !important;
    padding-bottom: 54px !important;
  }

  body.woocommerce-checkout .bonum-checkout-code-wrap {
    margin-top: 6px !important;
    padding: 0 22px !important;
  }

  body.woocommerce-checkout .bonum-cart-head {
    margin-bottom: 34px !important;
  }

  body.woocommerce-checkout #payment .place-order {
    padding-top: 18px !important;
  }

  body.woocommerce-checkout #place_order,
  body.woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
    margin-top: 18px !important;
  }
}

/* =========================================================================
   BONUM CHECKOUT — POLISH V3
   Summary refinement, delicate inputs, cleaner payment methods
   ========================================================================= */

/* --------------------------------------------------
   Courtesy / gallery code — ensure revealed content is visible
   -------------------------------------------------- */
body.woocommerce-checkout .bonum-checkout-code-form {
  display: block !important;
}

body.woocommerce-checkout .bonum-checkout-code-panel[open] .bonum-checkout-code-form {
  display: block !important;
}

body.woocommerce-checkout .bonum-checkout-code-wrap {
  margin: 10px auto 0 !important;
  padding-bottom: 4px !important;
}

body.woocommerce-checkout .bonum-checkout-code-panel summary {
  font-size: 12px !important;
  color: rgba(26, 23, 20, .42) !important;
}

body.woocommerce-checkout .bonum-checkout-code-note {
  margin: 0 auto 12px !important;
  font-family: var(--bn-serif) !important;
  font-style: italic !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  color: rgba(26, 23, 20, .46) !important;
}

/* --------------------------------------------------
   Left column fields — thinner, more delicate lines
   -------------------------------------------------- */
body.woocommerce-checkout .bonum-checkout-details .input-text,
body.woocommerce-checkout .bonum-checkout-details textarea,
body.woocommerce-checkout .bonum-checkout-details select,
body.woocommerce-checkout .bonum-checkout-details .select2-container .select2-selection {
  min-height: 46px !important;
  padding: 0 0 9px !important;
  border: 0 !important;
  border-bottom: 1px solid #e0e0e0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(26, 23, 20, .78) !important;
  font-family: var(--bn-sans) !important;
  font-size: 13px !important;
}

body.woocommerce-checkout .bonum-checkout-details textarea {
  min-height: 74px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

body.woocommerce-checkout .bonum-checkout-details .input-text:focus,
body.woocommerce-checkout .bonum-checkout-details textarea:focus,
body.woocommerce-checkout .bonum-checkout-details select:focus,
body.woocommerce-checkout .bonum-checkout-details .select2-container .select2-selection:focus {
  border-bottom-color: #d6c7b7 !important;
  outline: none !important;
}

body.woocommerce-checkout .bonum-checkout-details .select2-container .select2-selection--single {
  height: 46px !important;
  display: flex !important;
  align-items: center !important;
}

body.woocommerce-checkout .bonum-checkout-details .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-left: 0 !important;
  color: rgba(26, 23, 20, .78) !important;
  line-height: 1.3 !important;
}

body.woocommerce-checkout .bonum-checkout-details .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
  right: 0 !important;
}

/* Uniform rhythm */
body.woocommerce-checkout .form-row {
  margin-bottom: 17px !important;
}

body.woocommerce-checkout .form-row label {
  margin-bottom: 8px !important;
  font-family: var(--bn-sans) !important;
  font-size: 8px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: rgba(26, 23, 20, .44) !important;
}

/* --------------------------------------------------
   Order summary — softer labels, stronger values
   -------------------------------------------------- */
body.woocommerce-checkout .bonum-checkout-review-title {
  color: rgba(154, 122, 66, .68) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th {
  font-family: var(--bn-sans) !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: rgba(26, 23, 20, .36) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  font-family: var(--bn-sans) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  color: rgba(26, 23, 20, .72) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th {
  color: rgba(26, 23, 20, .44) !important;
  font-weight: 400 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total strong,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total bdi {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--bn-ink) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table small,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .amount small,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping td small,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping th small {
  font-size: 9px !important;
  line-height: 1.45 !important;
  color: rgba(26, 23, 20, .42) !important;
}

/* --------------------------------------------------
   Payment area — cleaner, more premium
   -------------------------------------------------- */
body.woocommerce-checkout #payment {
  margin-top: 8px !important;
  background: transparent !important;
  border: 0 !important;
}

body.woocommerce-checkout #payment h3,
body.woocommerce-checkout #payment .payment_methods + p label,
body.woocommerce-checkout #payment .form-row label[for*="payment"] {
  display: none !important;
}

/* Methods list */
body.woocommerce-checkout #payment ul.payment_methods {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  position: relative !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(26, 23, 20, .06) !important;
  background: transparent !important;
}

/* Hide default radios */
body.woocommerce-checkout #payment ul.payment_methods li input.input-radio {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Custom compact square + cleaner label */
body.woocommerce-checkout #payment ul.payment_methods li input.input-radio + label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  cursor: pointer !important;
  font-family: var(--bn-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: rgba(26, 23, 20, .50) !important;
  transition: color .25s ease !important;
}

body.woocommerce-checkout #payment ul.payment_methods li input.input-radio + label::before {
  content: "" !important;
  width: 9px !important;
  height: 9px !important;
  border: 1px solid rgba(26, 23, 20, .22) !important;
  background: transparent !important;
  box-sizing: border-box !important;
  flex: 0 0 9px !important;
}

body.woocommerce-checkout #payment ul.payment_methods li input.input-radio:checked + label {
  color: var(--bn-ink) !important;
}

body.woocommerce-checkout #payment ul.payment_methods li input.input-radio:checked + label::before {
  background: rgba(26, 23, 20, .78) !important;
  border-color: rgba(26, 23, 20, .78) !important;
}

/* Payment descriptions */
body.woocommerce-checkout #payment div.payment_box {
  margin: 10px 0 0 !important;
  padding: 10px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

body.woocommerce-checkout #payment div.payment_box p,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout #payment small {
  font-family: var(--bn-serif) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  line-height: 1.58 !important;
  color: rgba(26, 23, 20, .48) !important;
}

/* Card fields inside payment box stay cleaner */
body.woocommerce-checkout #payment div.payment_box .input-text,
body.woocommerce-checkout #payment div.payment_box select,
body.woocommerce-checkout #payment div.payment_box textarea {
  min-height: 44px !important;
  padding: 0 12px !important;
  background: #ffffff !important;
  border: 1px solid rgba(26, 23, 20, .09) !important;
  border-radius: 0 !important;
  color: rgba(26, 23, 20, .76) !important;
}

/* --------------------------------------------------
   Place order
   -------------------------------------------------- */
body.woocommerce-checkout #payment .place-order {
  margin-top: 14px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(26, 23, 20, .07) !important;
}

body.woocommerce-checkout #place_order,
body.woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
  margin-top: 14px !important;
  min-height: 60px !important;
  width: 100% !important;
  background: #1b1815 !important;
  border: 1px solid #1b1815 !important;
  color: #ffffff !important;
  font-family: var(--bn-sans) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button[name="woocommerce_checkout_place_order"]:hover {
  background: #2a2520 !important;
  border-color: #2a2520 !important;
}

/* --------------------------------------------------
   Mobile
   -------------------------------------------------- */
@media (max-width: 760px) {
  body.woocommerce-checkout .bonum-checkout-code-wrap {
    margin-top: 6px !important;
    padding: 0 22px !important;
  }

  body.woocommerce-checkout .bonum-checkout-details .input-text,
  body.woocommerce-checkout .bonum-checkout-details textarea,
  body.woocommerce-checkout .bonum-checkout-details select,
  body.woocommerce-checkout .bonum-checkout-details .select2-container .select2-selection {
    min-height: 44px !important;
  }

  body.woocommerce-checkout #place_order,
  body.woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
    margin-top: 18px !important;
  }
}

/* =========================================================================
   BONUM CHECKOUT — FINAL ALIGNMENT + AFFIRM NOTE
   Order heading alignment, product alignment, Affirm microcopy
   ========================================================================= */

/* Center Your Order / summary label */
body.woocommerce-checkout .bonum-checkout-review-title {
  text-align: center !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep order table architecture clean */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important;
}

/* Align product name to the left, price to the right */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td.product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
  text-align: left !important;
  padding-left: 0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td.product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total {
  text-align: right !important;
  padding-right: 0 !important;
}

/* Make the product row more refined */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td {
  font-size: 10px !important;
  color: rgba(26, 23, 20, .64) !important;
}

/* Soften labels like Product / Subtotal / Total */
body.woocommerce-checkout .woocommerce-checkout-review-order-table th {
  font-size: 8.5px !important;
  font-weight: 400 !important;
  letter-spacing: .18em !important;
  color: rgba(26, 23, 20, .34) !important;
}

/* Keep values as the visual weight */
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table bdi {
  font-weight: 500 !important;
}

/* Affirm line: add quiet explanatory phrase */
body.woocommerce-checkout #payment_method_affirm + label::after,
body.woocommerce-checkout label[for="payment_method_affirm"]::after {
  content: "Pay in comfortable installments with Affirm.";
  display: block;
  margin-top: 7px;
  font-family: var(--bn-serif);
  font-style: italic;
  font-weight: 300;
  font-size: 11px;
  line-height: 1.5;
  color: rgba(26, 23, 20, .48);
}

/* Keep Affirm option from feeling too heavy */
body.woocommerce-checkout label[for="payment_method_affirm"] img {
  max-height: 18px !important;
  opacity: .78 !important;
}

/* Slightly more breathing around payment methods */
body.woocommerce-checkout #payment ul.payment_methods li {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

/* =========================================================================
   BONUM CHECKOUT — AFFIRM MICROCOPY FIX
   Adds a quiet financing line under Affirm option
   ========================================================================= */

body.woocommerce-checkout #payment ul.payment_methods li.payment_method_affirm::after,
body.woocommerce-checkout #payment ul.payment_methods li[class*="affirm"]::after {
  content: "Pay in comfortable installments with Affirm.";
  display: block;
  margin: 8px 0 0 19px;
  max-width: 220px;
  font-family: var(--bn-serif);
  font-style: italic;
  font-weight: 300;
  font-size: 11px;
  line-height: 1.5;
  color: rgba(26, 23, 20, .48);
}

/* Keep Affirm line quiet and aligned */
body.woocommerce-checkout #payment ul.payment_methods li[class*="affirm"] {
  padding-bottom: 16px !important;
}

/* =========================================================================
   BONUM COMMERCE — PURE WHITE CANVAS
   Cart + Checkout main background
   ========================================================================= */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-cart #page,
body.woocommerce-checkout #page,
body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-cart #main,
body.woocommerce-checkout #main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-cart #bonum-main,
body.woocommerce-checkout #bonum-main,
body.woocommerce-cart .bonum-woo-canvas,
body.woocommerce-checkout .bonum-woo-canvas,
body.woocommerce-cart .bonum-cart,
body.woocommerce-checkout .bonum-checkout {
  background: #ffffff !important;
}

/* Keep summary areas floating on pure white */
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout .bonum-checkout-aside,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout #payment {
  background: transparent !important;
}

/* Keep payment/form boxes white, not cream */
body.woocommerce-checkout #payment div.payment_box,
body.woocommerce-checkout #payment div.payment_box .input-text,
body.woocommerce-checkout #payment div.payment_box select,
body.woocommerce-checkout #payment div.payment_box textarea,
body.woocommerce-checkout .input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-cart input,
body.woocommerce-cart textarea,
body.woocommerce-cart select {
  background: #ffffff !important;
}

/* =========================
   BONUM — Checkout errors
   ========================= */

.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
  margin: 0 0 28px !important;
}

.woocommerce-checkout ul.woocommerce-error,
.woocommerce-checkout ul.woocommerce-message,
.woocommerce-checkout ul.woocommerce-info {
  background: #f6f1e8 !important;
  border: 1px solid #e4d8c8 !important;
  color: #2b2622 !important;
  padding: 16px 20px !important;
  margin: 0 0 24px !important;
  list-style: none !important;
  box-shadow: none !important;
}

.woocommerce-checkout ul.woocommerce-error li,
.woocommerce-checkout ul.woocommerce-message li,
.woocommerce-checkout ul.woocommerce-info li {
  color: #2b2622 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  margin: 0 0 6px !important;
}

.woocommerce-checkout ul.woocommerce-error li:last-child,
.woocommerce-checkout ul.woocommerce-message li:last-child,
.woocommerce-checkout ul.woocommerce-info li:last-child {
  margin-bottom: 0 !important;
}

.woocommerce-checkout ul.woocommerce-error a,
.woocommerce-checkout ul.woocommerce-message a,
.woocommerce-checkout ul.woocommerce-info a {
  color: #2b2622 !important;
  text-decoration: underline !important;
}

.woocommerce-checkout ul.woocommerce-error::before,
.woocommerce-checkout ul.woocommerce-message::before,
.woocommerce-checkout ul.woocommerce-info::before {
  color: #8a6a45 !important;
}

/* Mensajes debajo de campos */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-invalid-required-field .select2-selection,
.woocommerce-checkout .woocommerce-invalid-required-field input,
.woocommerce-checkout .woocommerce-invalid-required-field select,
.woocommerce-checkout .woocommerce-invalid-required-field textarea {
  color: #2b2622 !important;
}

.woocommerce-checkout .woocommerce-invalid-required-field label {
  color: #8a6a45 !important;
}

/* =========================================================================
   BONUM — Order Received / Thank You Page
   ========================================================================= */

body.woocommerce-order-received {
  background: #ffffff !important;
}

body.woocommerce-order-received .bonum-order-received {
  max-width: 1120px;
  margin: 0 auto;
  padding: 92px 24px 110px;
  background: #ffffff;
  color: #1a1714;
}

body.woocommerce-order-received .bonum-order-received__hero {
  max-width: 720px;
  margin: 0 auto 46px;
  text-align: center;
}

body.woocommerce-order-received .bonum-order-received__eyebrow {
  margin: 0 0 14px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(138, 106, 69, .62);
}

body.woocommerce-order-received .bonum-order-received__title {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: clamp(38px, 5vw, 68px);
  line-height: .96;
  letter-spacing: -.055em;
  color: #1a1714;
}

body.woocommerce-order-received .bonum-order-received__intro {
  max-width: 560px;
  margin: 24px auto 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  line-height: 1.55;
  color: rgba(26, 23, 20, .72);
}

body.woocommerce-order-received .bonum-order-received__subtext {
  margin: 18px auto 0;
  font-size: 12px;
  line-height: 1.7;
  color: rgba(26, 23, 20, .52);
}

body.woocommerce-order-received .bonum-order-received__summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 0 auto 54px;
  border-top: 1px solid rgba(26, 23, 20, .11);
  border-bottom: 1px solid rgba(26, 23, 20, .11);
}

body.woocommerce-order-received .bonum-order-received__summary-item {
  padding: 24px 22px;
  border-right: 1px solid rgba(26, 23, 20, .08);
}

body.woocommerce-order-received .bonum-order-received__summary-item:last-child {
  border-right: 0;
}

body.woocommerce-order-received .bonum-order-received__summary-item span {
  display: block;
  margin: 0 0 8px;
  font-size: 9px;
  line-height: 1.4;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(26, 23, 20, .38);
}

body.woocommerce-order-received .bonum-order-received__summary-item strong {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.35;
  color: #1a1714;
}

body.woocommerce-order-received .bonum-order-received__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
  margin: 0 auto 56px;
}

body.woocommerce-order-received .bonum-order-received__step {
  padding: 0 0 0 24px;
  border-left: 1px solid rgba(26, 23, 20, .12);
}

body.woocommerce-order-received .bonum-order-received__step span {
  display: block;
  margin: 0 0 16px;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .18em;
  color: rgba(138, 106, 69, .62);
}

body.woocommerce-order-received .bonum-order-received__step h2 {
  margin: 0 0 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: 25px;
  line-height: 1.15;
  letter-spacing: -.035em;
  color: #1a1714;
}

body.woocommerce-order-received .bonum-order-received__step p {
  margin: 0;
  max-width: 260px;
  font-size: 13px;
  line-height: 1.65;
  color: rgba(26, 23, 20, .58);
}

body.woocommerce-order-received .bonum-order-received__note {
  max-width: 640px;
  margin: 0 auto 64px;
  padding: 22px 28px;
  text-align: center;
  border: 1px solid rgba(26, 23, 20, .10);
  background: #ffffff;
}

body.woocommerce-order-received .bonum-order-received__note p {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(26, 23, 20, .66);
}

body.woocommerce-order-received .bonum-order-received__details {
  max-width: 980px;
  margin: 0 auto;
}

body.woocommerce-order-received .bonum-order-received__details > p {
  margin: 0 0 30px;
  text-align: center;
  font-size: 12px;
  line-height: 1.7;
  color: rgba(26, 23, 20, .50);
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
  margin: 54px 0 0 !important;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
  margin: 0 0 22px !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
  letter-spacing: -.035em !important;
  color: #1a1714 !important;
}

body.woocommerce-order-received table.shop_table {
  width: 100%;
  border: 0 !important;
  border-collapse: collapse !important;
  background: transparent !important;
}

body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
  padding: 18px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(26, 23, 20, .09) !important;
  background: transparent !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: rgba(26, 23, 20, .72) !important;
}

body.woocommerce-order-received table.shop_table th {
  font-size: 9px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(26, 23, 20, .38) !important;
}

body.woocommerce-order-received table.shop_table tfoot th,
body.woocommerce-order-received table.shop_table tfoot td {
  color: #1a1714 !important;
}

body.woocommerce-order-received table.shop_table a {
  color: #1a1714 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

body.woocommerce-order-received .woocommerce-customer-details address {
  padding: 0 !important;
  border: 0 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: rgba(26, 23, 20, .64) !important;
  background: transparent !important;
}

body.woocommerce-order-received .woocommerce-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
}

body.woocommerce-order-received .bonum-order-received__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 30px;
  flex-wrap: wrap;
}

body.woocommerce-order-received .bonum-order-received__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  background: #1a1714;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.woocommerce-order-received .bonum-order-received__link {
  color: #1a1714 !important;
  font-size: 12px;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

@media (max-width: 760px) {
  body.woocommerce-order-received .bonum-order-received {
    padding: 70px 20px 82px;
  }

  body.woocommerce-order-received .bonum-order-received__summary {
    grid-template-columns: 1fr;
  }

  body.woocommerce-order-received .bonum-order-received__summary-item {
    border-right: 0;
    border-bottom: 1px solid rgba(26, 23, 20, .08);
    padding: 20px 0;
  }

  body.woocommerce-order-received .bonum-order-received__summary-item:last-child {
    border-bottom: 0;
  }

  body.woocommerce-order-received .bonum-order-received__steps {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  body.woocommerce-order-received .bonum-order-received__step {
    padding-left: 18px;
  }

  body.woocommerce-order-received .woocommerce-columns {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  body.woocommerce-order-received .bonum-order-received__note {
    padding: 20px;
  }
}

/* =========================================================
   BONUM — THANK YOU PAGE REFINED STRUCTURE
========================================================= */

.bonum-order-received{
  max-width:1180px;
  margin:0 auto;
  padding:110px 24px 140px;
  background:#fff;
  color:#171412;
}

.bonum-order-received__hero{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.bonum-order-received__eyebrow{
  margin:0 0 14px;
  font-size:10px;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#b59a6a;
}

.bonum-order-received__title{
  margin:0;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(44px,5.4vw,74px);
  line-height:.95;
  font-weight:500;
  letter-spacing:-0.02em;
  color:#171412;
}

.bonum-order-received__for{
  margin:18px 0 0;
  font-size:11px;
  line-height:1.5;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8d847a;
}

.bonum-order-received__intro{
  max-width:620px;
  margin:18px auto 0;
  font-size:16px;
  line-height:1.8;
  color:#4e4740;
}

.bonum-order-received__intro em{
  font-style:italic;
}

.bonum-order-received__subtext{
  margin:18px 0 0;
  font-size:12px;
  line-height:1.7;
  color:#8d847a;
}

.bonum-order-received__process{
  max-width:760px;
  margin:54px auto 0;
  display:grid;
  gap:18px;
}

.bonum-order-received__process-item{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:0 0 18px;
  border-bottom:1px solid #ece6de;
}

.bonum-order-received__process-item:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.bonum-order-received__process-number{
  display:block;
  margin-top:2px;
  font-size:10px;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#b59a6a;
}

.bonum-order-received__process-body{
  min-width:0;
}

.bonum-order-received__process-action{
  margin:0;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:30px;
  line-height:1.05;
  font-weight:500;
  color:#171412;
}

.bonum-order-received__process-text{
  max-width:540px;
  margin:8px 0 0;
  font-size:14px;
  line-height:1.75;
  color:#5c554d;
}

.bonum-order-received__note{
  max-width:760px;
  margin:34px auto 0;
  padding:20px 24px;
  border:1px solid #ede7df;
  text-align:center;
}

.bonum-order-received__note p{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#5c554d;
}

.bonum-order-received__receipt{
  max-width:760px;
  margin:58px auto 0;
}

.bonum-order-received__receipt-head{
  margin-bottom:18px;
}

.bonum-order-received__receipt-title{
  margin:8px 0 0;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:38px;
  line-height:1.05;
  font-weight:500;
  color:#171412;
}

.bonum-order-received__receipt-table{
  border-top:1px solid #ece6de;
}

.bonum-order-received__receipt-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid #f0ebe5;
}

.bonum-order-received__receipt-row span{
  font-size:11px;
  line-height:1.6;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8d847a;
}

.bonum-order-received__receipt-row strong{
  font-size:14px;
  line-height:1.5;
  font-weight:500;
  color:#171412;
  text-align:right;
}

.bonum-order-received__receipt-row--product span{
  font-size:14px;
  letter-spacing:0;
  text-transform:none;
  color:#171412;
}

.bonum-order-received__receipt-row--product strong{
  font-size:14px;
}

.bonum-order-received__receipt-row--total span,
.bonum-order-received__receipt-row--total strong{
  color:#171412;
}

.bonum-order-received__addresses{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:42px;
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid #ece6de;
}

.bonum-order-received__address h3{
  margin:0 0 12px;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:32px;
  line-height:1.05;
  font-weight:500;
  color:#171412;
}

.bonum-order-received__address address{
  margin:0;
  font-style:normal;
  font-size:14px;
  line-height:1.8;
  color:#5c554d;
}

.bonum-order-received__hero--failed .bonum-order-received__title{
  font-size:clamp(38px,4.8vw,58px);
}

.bonum-order-received__actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:28px;
}

.bonum-order-received__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  background:#171412;
  color:#fff;
  text-decoration:none;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:11px;
}

.bonum-order-received__link{
  color:#5c554d;
  text-decoration:none;
  border-bottom:1px solid rgba(92,85,77,.35);
}

@media (max-width: 920px){
  .bonum-order-received{
    padding:92px 20px 110px;
  }

  .bonum-order-received__title{
    font-size:clamp(38px,10vw,58px);
  }

  .bonum-order-received__process-action{
    font-size:26px;
  }

  .bonum-order-received__receipt-title{
    font-size:34px;
  }

  .bonum-order-received__addresses{
    grid-template-columns:1fr;
    gap:30px;
  }
}

@media (max-width: 640px){
  .bonum-order-received{
    padding:84px 18px 96px;
  }

  .bonum-order-received__intro{
    font-size:15px;
  }

  .bonum-order-received__process{
    gap:16px;
  }

  .bonum-order-received__process-item{
    grid-template-columns:1fr;
    gap:8px;
    padding-bottom:16px;
  }

  .bonum-order-received__process-number{
    margin-top:0;
  }

  .bonum-order-received__process-action{
    font-size:24px;
  }

  .bonum-order-received__note{
    padding:18px 16px;
  }

  .bonum-order-received__receipt-row{
    grid-template-columns:1fr;
    gap:4px;
  }

  .bonum-order-received__receipt-row strong{
    text-align:left;
  }

  .bonum-order-received__address h3{
    font-size:28px;
  }
}

/* =========================================================
   BONUM — THANK YOU PAGE MUSEUM REFINEMENT
   Final override for Order Received page
========================================================= */

body.woocommerce-order-received .bonum-order-received{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:118px 24px 132px !important;
  background:#fff !important;
  color:#171412 !important;
}

body.woocommerce-order-received .bonum-order-received__hero{
  max-width:760px !important;
  margin:0 auto !important;
  text-align:center !important;
}

body.woocommerce-order-received .bonum-order-received__eyebrow{
  margin:0 0 16px !important;
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.26em !important;
  text-transform:uppercase !important;
  color:rgba(181,154,106,.78) !important;
}

body.woocommerce-order-received .bonum-order-received__title{
  max-width:760px !important;
  margin:0 auto !important;
  font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size:clamp(46px,5.7vw,78px) !important;
  line-height:.94 !important;
  font-weight:500 !important;
  letter-spacing:-.035em !important;
  color:#171412 !important;
}

body.woocommerce-order-received .bonum-order-received__client-label{
  margin:38px 0 0 !important;
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
  color:rgba(26,23,20,.38) !important;
}

body.woocommerce-order-received .bonum-order-received__client-name{
  margin:12px 0 0 !important;
  font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size:clamp(30px,3.2vw,46px) !important;
  line-height:1.05 !important;
  font-weight:500 !important;
  letter-spacing:-.025em !important;
  color:#171412 !important;
}

body.woocommerce-order-received .bonum-order-received__intro{
  max-width:560px !important;
  margin:34px auto 0 !important;
  font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size:20px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
  letter-spacing:-.01em !important;
  color:rgba(26,23,20,.74) !important;
  text-align:center !important;
}

body.woocommerce-order-received .bonum-order-received__intro span,
body.woocommerce-order-received .bonum-order-received__intro strong{
  color:#171412 !important;
  font-weight:500 !important;
}

body.woocommerce-order-received .bonum-order-received__subtext{
  margin:22px 0 0 !important;
  font-size:11px !important;
  line-height:1.7 !important;
  color:rgba(26,23,20,.42) !important;
}

/* Hide old summary/steps if any remain from previous versions */
body.woocommerce-order-received .bonum-order-received__summary,
body.woocommerce-order-received .bonum-order-received__steps,
body.woocommerce-order-received .bonum-order-received__note{
  display:none !important;
}

/* Custody process */
body.woocommerce-order-received .bonum-order-received__custody{
  max-width:650px !important;
  margin:66px auto 0 !important;
  padding:0 !important;
  text-align:left !important;
}

body.woocommerce-order-received .bonum-order-received__custody-kicker{
  margin:0 0 30px !important;
  text-align:center !important;
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
  color:rgba(181,154,106,.82) !important;
}

body.woocommerce-order-received .bonum-order-received__custody-item{
  margin:0 0 34px !important;
  padding:0 !important;
  border:0 !important;
}

body.woocommerce-order-received .bonum-order-received__custody-item:last-child{
  margin-bottom:0 !important;
}

body.woocommerce-order-received .bonum-order-received__custody-item h2{
  margin:0 0 8px !important;
  font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size:clamp(28px,3vw,42px) !important;
  line-height:1.05 !important;
  font-weight:500 !important;
  letter-spacing:-.025em !important;
  color:#171412 !important;
}

body.woocommerce-order-received .bonum-order-received__custody-item p{
  max-width:560px !important;
  margin:0 !important;
  font-size:14px !important;
  line-height:1.75 !important;
  color:rgba(26,23,20,.60) !important;
}

/* Human note, no box */
body.woocommerce-order-received .bonum-order-received__human-note{
  max-width:560px !important;
  margin:50px auto 0 !important;
  padding:0 !important;
  border:0 !important;
  text-align:center !important;
}

body.woocommerce-order-received .bonum-order-received__human-note p{
  margin:0 !important;
  font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size:19px !important;
  line-height:1.55 !important;
  color:rgba(26,23,20,.68) !important;
}

/* Gallery receipt — floating, compact, no hard lines */
body.woocommerce-order-received .bonum-order-received__receipt{
  max-width:640px !important;
  margin:78px auto 0 !important;
  padding:0 !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-head{
  margin:0 0 22px !important;
  text-align:left !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-kicker{
  margin:0 0 10px !important;
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
  color:rgba(181,154,106,.82) !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-title{
  margin:0 !important;
  font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size:34px !important;
  line-height:1.05 !important;
  font-weight:500 !important;
  letter-spacing:-.025em !important;
  color:#171412 !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-table{
  border:0 !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:28px !important;
  align-items:baseline !important;
  padding:8px 0 !important;
  border:0 !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row span{
  font-size:10px !important;
  line-height:1.5 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
  color:rgba(26,23,20,.44) !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row strong{
  font-size:12px !important;
  line-height:1.5 !important;
  font-weight:500 !important;
  color:rgba(26,23,20,.74) !important;
  text-align:right !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row--product{
  padding:0 0 16px !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row--product span{
  font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size:21px !important;
  line-height:1.2 !important;
  letter-spacing:-.015em !important;
  text-transform:none !important;
  color:#171412 !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row--product strong{
  font-size:13px !important;
  color:#171412 !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row--total{
  padding-top:16px !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row--total span,
body.woocommerce-order-received .bonum-order-received__receipt-row--total strong{
  color:#171412 !important;
  font-weight:600 !important;
}

/* Addresses */
body.woocommerce-order-received .bonum-order-received__addresses{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:44px !important;
  margin-top:42px !important;
  padding-top:0 !important;
  border:0 !important;
}

body.woocommerce-order-received .bonum-order-received__address h3{
  margin:0 0 12px !important;
  font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size:28px !important;
  line-height:1.08 !important;
  font-weight:500 !important;
  letter-spacing:-.02em !important;
  color:#171412 !important;
}

body.woocommerce-order-received .bonum-order-received__address address{
  margin:0 !important;
  font-style:normal !important;
  font-size:12px !important;
  line-height:1.75 !important;
  color:rgba(26,23,20,.58) !important;
}

@media (max-width:760px){
  body.woocommerce-order-received .bonum-order-received{
    padding:86px 20px 96px !important;
  }

  body.woocommerce-order-received .bonum-order-received__title{
    font-size:clamp(40px,12vw,58px) !important;
  }

  body.woocommerce-order-received .bonum-order-received__intro{
    max-width:100% !important;
    font-size:18px !important;
  }

  body.woocommerce-order-received .bonum-order-received__custody{
    max-width:100% !important;
  }

  body.woocommerce-order-received .bonum-order-received__receipt{
    max-width:100% !important;
  }

  body.woocommerce-order-received .bonum-order-received__receipt-row{
    grid-template-columns:1fr !important;
    gap:2px !important;
  }

  body.woocommerce-order-received .bonum-order-received__receipt-row strong{
    text-align:left !important;
  }

  body.woocommerce-order-received .bonum-order-received__addresses{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
}

/* =========================================================
   BONUM — THANK YOU PAGE FINAL COMPACT MUSEUM REFINEMENT
========================================================= */

body.woocommerce-order-received .bonum-order-received{
  padding-top:92px !important;
  padding-bottom:96px !important;
}

/* Hero hierarchy */
body.woocommerce-order-received .bonum-order-received__title{
  font-size:clamp(44px,5.2vw,70px) !important;
  line-height:.94 !important;
}

body.woocommerce-order-received .bonum-order-received__client-label{
  margin-top:32px !important;
  font-size:8px !important;
  letter-spacing:.30em !important;
}

body.woocommerce-order-received .bonum-order-received__client-name{
  margin-top:10px !important;
  font-size:clamp(28px,2.8vw,40px) !important;
  line-height:1.05 !important;
}

body.woocommerce-order-received .bonum-order-received__intro{
  max-width:520px !important;
  margin-top:26px !important;
  font-size:18px !important;
  line-height:1.55 !important;
}

body.woocommerce-order-received .bonum-order-received__subtext{
  margin-top:16px !important;
  font-size:10px !important;
}

/* One single custody block */
body.woocommerce-order-received .bonum-order-received__custody{
  max-width:560px !important;
  margin:48px auto 0 !important;
  text-align:center !important;
}

body.woocommerce-order-received .bonum-order-received__custody-kicker{
  margin:0 0 18px !important;
  font-size:8px !important;
  line-height:1 !important;
  letter-spacing:.30em !important;
  text-transform:uppercase !important;
  color:rgba(181,154,106,.82) !important;
}

body.woocommerce-order-received .bonum-order-received__custody-item{
  display:none !important;
}

body.woocommerce-order-received .bonum-order-received__custody-copy{
  margin:0 auto !important;
  max-width:540px !important;
  font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size:20px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
  letter-spacing:-.01em !important;
  color:rgba(26,23,20,.68) !important;
}

body.woocommerce-order-received .bonum-order-received__custody-copy span{
  color:#171412 !important;
  font-weight:500 !important;
}

/* Human note: closer, softer, smaller */
body.woocommerce-order-received .bonum-order-received__human-note{
  max-width:500px !important;
  margin:32px auto 0 !important;
}

body.woocommerce-order-received .bonum-order-received__human-note p{
  font-size:16px !important;
  line-height:1.55 !important;
  color:rgba(26,23,20,.58) !important;
}

/* Gallery receipt: smaller, quieter, more compact */
body.woocommerce-order-received .bonum-order-received__receipt{
  max-width:560px !important;
  margin:48px auto 0 !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-head{
  margin-bottom:14px !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-kicker{
  margin-bottom:8px !important;
  font-size:8px !important;
  letter-spacing:.30em !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-title{
  font-size:24px !important;
  line-height:1.08 !important;
  letter-spacing:-.015em !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row{
  padding:5px 0 !important;
  gap:22px !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row span{
  font-size:8px !important;
  letter-spacing:.18em !important;
  color:rgba(26,23,20,.42) !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row strong{
  font-size:10px !important;
  font-weight:500 !important;
  color:rgba(26,23,20,.62) !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row--product{
  padding-bottom:10px !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row--product span{
  font-size:16px !important;
  line-height:1.2 !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row--product strong{
  font-size:11px !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row--total{
  padding-top:10px !important;
}

body.woocommerce-order-received .bonum-order-received__receipt-row--total span,
body.woocommerce-order-received .bonum-order-received__receipt-row--total strong{
  font-size:10px !important;
  font-weight:600 !important;
  color:#171412 !important;
}

/* Addresses: less commercial, more discreet */
body.woocommerce-order-received .bonum-order-received__addresses{
  margin-top:30px !important;
  gap:34px !important;
}

body.woocommerce-order-received .bonum-order-received__address h3{
  font-size:21px !important;
  line-height:1.1 !important;
  margin-bottom:10px !important;
}

body.woocommerce-order-received .bonum-order-received__address address{
  font-size:10.5px !important;
  line-height:1.65 !important;
  color:rgba(26,23,20,.54) !important;
}

/* Mobile */
@media (max-width:760px){
  body.woocommerce-order-received .bonum-order-received{
    padding-top:76px !important;
    padding-bottom:82px !important;
  }

  body.woocommerce-order-received .bonum-order-received__client-name{
    font-size:32px !important;
  }

  body.woocommerce-order-received .bonum-order-received__intro{
    font-size:17px !important;
  }

  body.woocommerce-order-received .bonum-order-received__custody-copy{
    font-size:18px !important;
  }

  body.woocommerce-order-received .bonum-order-received__receipt-title{
    font-size:23px !important;
  }

  body.woocommerce-order-received .bonum-order-received__address h3{
    font-size:20px !important;
  }
}