/* ============ Discount Mattrezzz — Crown Sale global styles ============ */
:root{
  --dm-cream:#F9F5EE; --dm-alt:#EDE8DE; --dm-ink:#0C0C0C; --dm-ink2:#1A1A1A;
  --dm-gold:#C49A2A; --dm-gold2:#E8B84B; --dm-muted:#4A4542; --dm-border:#D9D3C7;
}
::selection{ background:#E8B84B; color:#0C0C0C; }
body{ background:var(--dm-cream); overflow-x:clip; } /* stop any section bleeding past the viewport */

/* ---- hover / motion helpers (shared with design inline styles) ---- */
.dm-cta{ transition:transform .16s ease, box-shadow .16s ease; }
.dm-cta:hover{ transform:translateY(-2px); box-shadow:0 18px 34px -16px rgba(196,154,42,.75) !important; }
.dm-sizecard{ transition:transform .18s ease, box-shadow .18s ease; }
.dm-sizecard:hover{ transform:translateY(-4px); box-shadow:0 26px 46px -30px rgba(12,12,12,.4) !important; }
.dm-ghost:hover{ background:#0C0C0C !important; color:#F9F5EE !important; }
.dm-post{ transition:transform .18s ease, box-shadow .18s ease; }
.dm-post:hover{ transform:translateY(-4px); box-shadow:0 26px 46px -30px rgba(12,12,12,.4) !important; }
.dm-store:hover{ box-shadow:0 24px 44px -30px rgba(12,12,12,.4) !important; }
.dm-dir:hover{ background:#C49A2A !important; color:#0C0C0C !important; }
.dm-chip:hover{ border-color:#C49A2A !important; }
.dm-thumb:hover{ border-color:#C49A2A !important; }
.dm-qbtn:hover{ background:#C49A2A !important; color:#0C0C0C !important; }
.dl-cta{ transition:transform .16s ease, box-shadow .16s ease; }
.dl-cta:hover{ transform:translateY(-2px); box-shadow:0 18px 34px -16px rgba(196,154,42,.7) !important; }
.dl-ghost:hover{ background:#0C0C0C !important; color:#F9F5EE !important; }
.dl-card{ transition:transform .18s ease, box-shadow .18s ease; }
.dl-card:hover{ transform:translateY(-4px); box-shadow:0 26px 46px -30px rgba(12,12,12,.4) !important; }
.dl-strip{ display:flex; gap:40px; white-space:nowrap; animation:dl-marquee 22s linear infinite; }
@keyframes dl-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---- header ---- */
.dmh-nav-link{ padding:8px 15px; border-radius:999px; }
.dmh-nav-link:hover{ background:rgba(196,154,42,0.16) !important; color:#0C0C0C !important; }
.dmh-pill:hover{ box-shadow:0 0 0 2px rgba(196,154,42,0.55) !important; }
#dm-header{ position:sticky; top:0; z-index:60; background:rgba(249,245,238,0.88); backdrop-filter:blur(14px); border-bottom:1px solid #D9D3C7; transition:transform .28s cubic-bezier(.4,0,.2,1); }
#dm-header.dm-hidden{ transform:translateY(-100%); }
#dm-drawer{ display:none; border-top:1px solid #D9D3C7; padding:12px 24px 20px; flex-direction:column; gap:4px; background:#F9F5EE; }
#dm-drawer.open{ display:flex; }
.dmh-burger{ display:none; align-items:center; justify-content:center; width:42px; height:42px; padding:0; background:rgba(196,154,42,0.12); border:1px solid rgba(196,154,42,0.40); border-radius:12px; cursor:pointer; transition:background .15s ease, border-color .15s ease; }
.dmh-burger svg{ stroke:var(--dm-gold); }
.dmh-burger:hover, .dmh-burger:focus-visible{ background:var(--dm-gold); border-color:var(--dm-gold); }
.dmh-burger:hover svg, .dmh-burger:focus-visible svg{ stroke:var(--dm-ink); }
@media (max-width:900px){
  .dmh-nav{ display:none !important; }
  .dmh-burger{ display:flex !important; }
  .dmh-utility-text{ display:none !important; }
}
/* mobile: keep the header row inside the screen */
#dm-header > div:first-of-type{ min-width:0; }
@media (max-width:700px){
  .dmh-pill{ display:none !important; } /* burger + cart cover it */
}
@media (max-width:560px){
  #dm-header > div:first-of-type{ padding:10px 12px !important; gap:8px !important; }
  #dm-header a[href^="tel:"]{ display:none !important; }
  #dm-header > div:first-of-type > a:first-child{ gap:8px !important; min-width:0; }
  #dm-header > div:first-of-type > a:first-child svg{ width:27px; height:30px; }
  #dm-header > div:first-of-type > a:first-child span{ font-size:17px !important; }
  #dm-header > div:first-of-type > div:last-of-type{ gap:8px !important; }
  #dm-header .dm-lang-en, #dm-header .dm-lang-es{ padding:3px 8px !important; font-size:11px !important; }
  #dm-header .dmh-burger, #dm-header a[aria-label="Cart"]{ width:36px !important; height:36px !important; }
}
@media (max-width:390px){
  #dm-header > div:first-of-type > a:first-child span{ font-size:15px !important; }
  #dm-header > div:first-of-type{ padding:10px 10px !important; gap:6px !important; }
  #dm-header .dm-lang-en, #dm-header .dm-lang-es{ padding:2px 6px !important; }
}
/* announcement bar: tighter on small screens */
@media (max-width:560px){
  #dm-header{ }
  header#dm-header + *{}
}
@media (max-width:560px){
  div[style*="background:#C49A2A"][style*="text-align:center"]{ font-size:12px !important; padding:7px 10px !important; gap:8px !important; }
}

/* ---- footer ---- */
.dmf-link:hover{ color:#E8B84B !important; }
.dmf-social:hover{ border-color:#C49A2A !important; color:#C49A2A !important; }
@media (max-width:860px){ .dmf-grid{ grid-template-columns:1fr 1fr !important; } .dmf-brandcol{ grid-column:1 / -1 !important; } }
@media (max-width:520px){ .dmf-grid{ grid-template-columns:1fr !important; } .dmf-bottom{ flex-direction:column !important; align-items:flex-start !important; gap:14px !important; } }

/* ---- responsive layout helpers used by page sections ---- */
@media (max-width:960px){
  .dm-hero{ grid-template-columns:1fr !important; padding:48px 24px 56px !important; }
  .dm-hero-media{ order:-1; }
  .dm-grid-4{ grid-template-columns:1fr 1fr !important; }
  .dm-grid-3{ grid-template-columns:1fr !important; }
  .dm-featured{ grid-template-columns:1fr !important; }
  .dm-h1{ font-size:46px !important; }
  .dm-micro{ grid-template-columns:1fr !important; }
  .dm-shop-grid{ grid-template-columns:1fr 1fr !important; }
  .dm-shop-layout{ grid-template-columns:1fr !important; }
  .dm-filters{ position:static !important; }
  .dm-pdp{ grid-template-columns:1fr !important; }
  .dm-related{ grid-template-columns:1fr 1fr !important; }
  .dm-specs{ grid-template-columns:1fr !important; }
  .dm-fin-hero{ grid-template-columns:1fr !important; }
  .dm-fin-3{ grid-template-columns:1fr !important; }
  .dm-fin-steps{ grid-template-columns:1fr !important; }
  .dm-stores-3{ grid-template-columns:1fr !important; }
  .dm-ct{ grid-template-columns:1fr !important; }
  .dm-ab-hero{ grid-template-columns:1fr !important; }
  .dm-ab-vals{ grid-template-columns:1fr !important; }
  .dm-blog-grid{ grid-template-columns:1fr 1fr !important; }
  .dm-feat{ grid-template-columns:1fr !important; }
  .dl-hero{ grid-template-columns:1fr !important; }
  .dl-grid-3{ grid-template-columns:1fr !important; }
  .dl-grid-2{ grid-template-columns:1fr !important; }
  .dl-collection{ grid-template-columns:1fr 1fr !important; }
  .dl-h1{ font-size:42px !important; }
}
@media (max-width:900px){ .dm-cart{ grid-template-columns:1fr !important; } }
@media (max-width:560px){
  .dm-grid-4{ grid-template-columns:1fr !important; }
  .dm-trustbar{ grid-template-columns:1fr 1fr !important; gap:16px 12px !important; }
  .dm-h1{ font-size:38px !important; }
  .dm-band{ flex-direction:column !important; align-items:flex-start !important; }
  .dm-shop-grid{ grid-template-columns:1fr !important; }
  .dm-related{ grid-template-columns:1fr !important; }
  .dm-blog-grid{ grid-template-columns:1fr !important; }
  .dl-collection{ grid-template-columns:1fr !important; }
  .dl-stats{ grid-template-columns:1fr !important; }
  .dl-h1{ font-size:34px !important; }
}

/* ---- WooCommerce → Crown Sale skin ---- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce button.single_add_to_cart_button,
.wc-block-components-button, .wp-block-button__link.add_to_cart_button{
  background:var(--dm-gold) !important; color:var(--dm-ink) !important;
  border:0 !important; border-radius:999px !important; padding:13px 24px !important;
  font-family:'DM Sans',sans-serif !important; font-weight:700 !important; font-size:15px !important;
  box-shadow:0 12px 24px -14px rgba(196,154,42,.8); transition:transform .15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.single_add_to_cart_button:hover{ transform:translateY(-2px); }
.woocommerce ul.products li.product, .wc-block-grid__product{
  background:#fff; border:1px solid var(--dm-border);
  border-radius:20px; padding:18px; box-shadow:0 20px 40px -30px rgba(12,12,12,.35);
}
.woocommerce ul.products li.product img, .wc-block-grid__product img{ border-radius:12px; }
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title{
  font-family:'Playfair Display',serif !important; font-size:20px !important; color:var(--dm-ink) !important;
}
.woocommerce .price, .dm-price, .wc-block-grid__product-price{
  font-family:'Playfair Display',serif !important; font-weight:700 !important; color:var(--dm-ink) !important;
}
.woocommerce .price del, .dm-price del{ color:#8a8478 !important; font-weight:400 !important; }
.woocommerce .price ins, .dm-price ins{ color:var(--dm-gold) !important; text-decoration:none !important; }
.woocommerce span.onsale{
  background:#D32F2F !important; color:#FFFFFF !important; border-radius:999px !important;
  font-family:'DM Sans',sans-serif !important; font-weight:700 !important; font-size:11px !important;
  letter-spacing:.5px; text-transform:uppercase; padding:5px 11px !important; line-height:1.6 !important; min-height:0 !important;
}
.woocommerce div.product .product_title{ font-family:'Playfair Display',serif !important; font-weight:900 !important; color:var(--dm-ink) !important; letter-spacing:-0.5px; }
.woocommerce div.product div.images img{ border-radius:22px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom-color:var(--dm-gold) !important; }
.woocommerce table.variations select{ border:1.5px solid var(--dm-border); border-radius:12px; padding:10px 14px; font-family:'DM Sans',sans-serif; background:#fff; }
.woocommerce-message, .woocommerce-info{ border-top-color:var(--dm-gold) !important; background:#FBF3E1 !important; color:var(--dm-ink2) !important; border-radius:0 12px 12px 0; }
.woocommerce-message a.button{ background:var(--dm-ink) !important; color:var(--dm-cream) !important; }
.wc-block-components-product-badge{ border-radius:999px; }
#dm-featured .wc-affirm-messaging, #dm-featured .affirm-as-low-as{ display:block; margin-top:8px; color:var(--dm-muted); font-size:14px; }
#dm-featured, #dm-financing, #dm-newsletter, #dm-contact{ scroll-margin-top:96px; }

/* ---- Fluent Forms (financing + contact wrappers) ---- */
#dm-financing .ff-el-input--content input, #dm-financing .ff-el-input--content textarea,
#dm-contact .ff-el-input--content input, #dm-contact .ff-el-input--content textarea{
  background:#fff; border:1px solid var(--dm-border); border-radius:12px;
  padding:13px 16px; font-family:'DM Sans',sans-serif; font-size:15px; color:var(--dm-ink2); width:100%;
}
#dm-contact .ff-el-input--content input, #dm-contact .ff-el-input--content textarea{ background:#F9F5EE; }
#dm-financing .ff-btn-submit, #dm-contact .ff-btn-submit{
  background:var(--dm-gold) !important; color:var(--dm-ink) !important; border:0 !important; border-radius:999px !important;
  padding:15px 28px !important; font-weight:700 !important; font-size:16px !important; width:100%; cursor:pointer; font-family:'DM Sans',sans-serif !important;
}
#dm-financing .ff-el-input--label label, #dm-contact .ff-el-input--label label{
  font-family:'DM Sans',sans-serif; font-weight:600; color:var(--dm-ink2);
}
#dm-financing .ff-message-success, #dm-contact .ff-message-success{
  background:#FBF3E1; border:1px solid var(--dm-gold); border-radius:14px; padding:16px 18px;
  font-family:'DM Sans',sans-serif; color:var(--dm-ink2);
}

/* ---- MailPoet (newsletter) ---- */
#dm-newsletter .mailpoet_text, #dm-newsletter .mailpoet_email, .dm-nl-input{
  background:#151515; border:1px solid #3a3a3a; border-radius:999px;
  padding:15px 20px; color:#fff; font-family:'DM Sans',sans-serif; font-size:15px;
}
#dm-newsletter .mailpoet_submit, .dm-nl-btn{
  background:var(--dm-gold); color:var(--dm-ink); border:0; border-radius:999px;
  padding:15px 28px; font-weight:700; font-size:15px; cursor:pointer; font-family:'DM Sans',sans-serif;
}
#dm-newsletter .mailpoet_validate_success{ color:var(--dm-gold2); }

/* ---- layout wrappers for shortcode sections ---- */
.dm-wrap{ max-width:1240px; margin:0 auto; padding:0 32px; }
.dm-sizes-wrap{ max-width:1240px; margin:0 auto; padding:0 32px 60px; }

/* ---- labeled photo placeholders (never a gray box) ---- */
.dm-imgslot{ position:relative; background:#0C0C0C; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.dm-imgslot span{ border:1.5px dashed #C49A2A; color:#C49A2A; padding:10px 16px; border-radius:10px; font-family:'DM Sans',sans-serif; font-weight:600; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; text-align:center; max-width:80%; }

/* ---- featured product panel ([product_page] inside #dm-featured) ---- */
#dm-featured{ max-width:1240px; margin:80px auto; padding:48px 44px; background:#0C0C0C; border-radius:26px; color:#F9F5EE; }
#dm-featured .woocommerce div.product .product_title{ color:#F9F5EE !important; font-size:44px; }
#dm-featured .woocommerce div.product p, #dm-featured .woocommerce div.product .woocommerce-product-details__short-description{ color:#C9C3B8; }
#dm-featured .woocommerce div.product .price{ color:#F9F5EE !important; font-size:30px; }
#dm-featured .woocommerce div.product .price ins{ color:#E8B84B !important; }
#dm-featured .woocommerce div.product .price del{ color:#8a8478 !important; }
#dm-featured table.variations label, #dm-featured .woocommerce-variation-price{ color:#F9F5EE; }
#dm-featured .reset_variations{ color:#E8B84B; }
#dm-featured .woocommerce-tabs, #dm-featured .related.products, #dm-featured .woocommerce-product-rating, #dm-featured .product_meta, #dm-featured .woocommerce-breadcrumb{ display:none !important; }
/* keep the featured "15\" Black Ice" product inside the viewport on smaller screens */
#dm-featured *{ box-sizing:border-box; max-width:100%; }
#dm-featured img{ height:auto; }
@media (max-width:960px){
  #dm-featured{ margin:48px auto; max-width:calc(100% - 32px); width:auto; padding:28px 20px; }
  #dm-featured .elementor-element{ margin-left:0 !important; margin-right:0 !important; }
  #dm-featured .woocommerce div.product{ display:block; overflow-wrap:break-word; }
  #dm-featured .woocommerce div.product .woocommerce-product-gallery,
  #dm-featured .woocommerce div.product .summary{ width:100% !important; float:none !important; margin:0 0 22px !important; }
  #dm-featured .woocommerce div.product .summary{ margin-bottom:0 !important; }
}
@media (max-width:560px){
  #dm-featured{ margin:32px auto; max-width:calc(100% - 24px); width:auto; padding:22px 16px; }
  #dm-featured table.variations,
  #dm-featured table.variations tbody,
  #dm-featured table.variations tr,
  #dm-featured table.variations th,
  #dm-featured table.variations td{ display:block; width:100%; max-width:100%; padding-left:0 !important; padding-right:0 !important; text-align:left; }
  #dm-featured table.variations select{ width:100% !important; max-width:100%; }
  #dm-featured form.cart, #dm-featured .woocommerce-variation-add-to-cart{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
  #dm-featured form.cart .quantity{ flex:0 0 auto; }
  #dm-featured form.cart .single_add_to_cart_button{ flex:1 1 auto; width:auto !important; }
  #dm-featured .woocommerce div.product .price,
  #dm-featured .single_variation .price{ font-size:26px !important; overflow-wrap:break-word; }
}

/* ---- form cards (Fluent Forms containers) ---- */
#dm-financing{ max-width:560px; margin:-56px auto 0; background:#F9F5EE; border:1px solid #D9D3C7; border-radius:22px; padding:30px; box-shadow:0 30px 60px -30px rgba(0,0,0,.6); position:relative; z-index:2; }
#dm-contact{ max-width:640px; margin:24px auto 70px; background:#FFFFFF; border:1px solid #D9D3C7; border-radius:20px; padding:30px; }
@media (max-width:640px){ #dm-financing, #dm-contact{ margin-left:auto; margin-right:auto; width:auto; max-width:calc(100% - 32px); } }

/* ---- Woo archive (Shop) header + grid polish ---- */
.woocommerce-products-header{ display:none; } /* replaced by the custom design band */
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering select{ font-family:'DM Sans',sans-serif; color:var(--dm-muted); }
.woocommerce .woocommerce-ordering select{ border:1px solid var(--dm-border); border-radius:999px; padding:8px 14px; background:#fff; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{ border-radius:999px; font-family:'DM Sans',sans-serif; }
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--dm-gold); color:var(--dm-ink); }

/* ---- Cart / Checkout blocks polish ---- */
.wc-block-cart, .wc-block-checkout{ font-family:'DM Sans',sans-serif; }
.wc-block-components-sidebar .wc-block-components-totals-wrapper, .wc-block-components-sidebar{ border-radius:20px; }
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button{ background:var(--dm-gold) !important; color:var(--dm-ink) !important; border-radius:999px !important; font-weight:700 !important; border:0 !important; }
.wc-block-components-product-name, .wc-block-components-order-summary-item__description .wc-block-components-product-name{ font-family:'Playfair Display',serif; color:var(--dm-ink); }

/* ---- PDP polish ---- */
.woocommerce div.product form.cart .button{ padding:16px 32px !important; font-size:16px !important; }
.woocommerce div.product .woocommerce-variation-price .price{ font-size:26px; }
.woocommerce div.product .woocommerce-tabs ul.tabs{ font-family:'DM Sans',sans-serif; }
.woocommerce div.product .woocommerce-tabs .panel h2{ font-family:'Playfair Display',serif; color:var(--dm-ink); }

/* ---- headings inside design sections inherit their section's color (beats Astra's global heading color) ---- */
.elementor-widget-html h1, .elementor-widget-html h2, .elementor-widget-html h3,
.elementor-widget-html h4, .elementor-widget-html h5,
footer h1, footer h2, footer h3, footer h4,
#dm-header h1, #dm-header h2{ color:inherit; }

/* Astra's duplicate "Sale!" card badge — hidden in favor of the % badge */
.ast-onsale-card{ display:none !important; }

/* ---- hide SKU / category / tag meta row on product pages ---- */
.woocommerce div.product .product_meta{ display:none !important; }

/* ---- Shop filter sidebar → Crown Sale filter card ---- */
.ast-woocommerce-shop-sidebar, #secondary .widget-area, .woocommerce-page #secondary{ font-family:'DM Sans',sans-serif; }
/* hard cap the sidebar width; one single filter card */
.woocommerce-page.ast-left-sidebar #secondary{ max-width:260px; width:26% !important; }
@media (max-width:960px){ .woocommerce-page.ast-left-sidebar #secondary{ max-width:none; width:100% !important; } }
.woocommerce-page #secondary .widget-area, .woocommerce-page #secondary > aside, .woocommerce-page #secondary .sidebar-main{
  background:#FFFFFF; border:1px solid var(--dm-border); border-radius:18px; padding:22px 20px;
}
.woocommerce-page #secondary .sidebar-main::before{
  content:"Filters"; display:block; font-family:'Playfair Display',serif; font-size:20px; color:#0C0C0C; margin-bottom:16px;
}
.woocommerce-page #secondary .widget, .ast-left-sidebar #secondary .widget{
  background:transparent; border:0; border-radius:0; padding:0 0 16px; margin-bottom:16px; border-bottom:1px solid #EDE8DE;
}
.woocommerce-page #secondary .widget:last-child{ border-bottom:0; padding-bottom:0; margin-bottom:0; }
.woocommerce-page #secondary .widget-title, .woocommerce-page #secondary .wp-block-heading{
  font-family:'DM Sans',sans-serif !important; font-size:12px !important; letter-spacing:2px; text-transform:uppercase;
  color:#8a8478 !important; font-weight:700 !important; margin-bottom:12px;
}
.woocommerce-page #secondary ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.woocommerce-page #secondary ul li{ margin:0; padding:0; }
.woocommerce-page #secondary ul li a{
  display:inline-block; background:#F9F5EE; color:#1A1A1A; border:1px solid var(--dm-border);
  border-radius:999px; padding:5px 11px; font-size:12.5px; font-weight:600; text-decoration:none; transition:all .15s;
}
.woocommerce-page #secondary ul li a:hover{ border-color:var(--dm-gold); }
.woocommerce-page #secondary ul li.chosen a, .woocommerce-page #secondary ul li.woocommerce-widget-layered-nav-list__item--chosen a{
  background:#0C0C0C; color:#F9F5EE; border-color:#0C0C0C;
}
.woocommerce-page #secondary .count{ display:none; }
/* Category filter: stacked full-width buttons (like the design); Size/Firmness stay as wrapped chips */
.woocommerce-page #secondary .widget_product_categories ul{ flex-direction:column; gap:9px; }
.woocommerce-page #secondary .widget_product_categories ul li a{
  display:block; width:100%; border-radius:10px; padding:9px 13px; font-size:14px;
}
/* reset button */
.dm-filter-reset{
  display:block; width:100%; text-align:center; background:#EDE8DE; border:1px solid var(--dm-border);
  border-radius:999px; padding:11px; font-size:14px; font-weight:600; color:#0C0C0C !important;
  text-decoration:none !important; font-family:'DM Sans',sans-serif; transition:all .15s;
}
.dm-filter-reset:hover{ border-color:var(--dm-gold); }
/* price slider */
.woocommerce-page #secondary .price_slider_wrapper .ui-slider{ background:#EDE8DE; border-radius:999px; }
.woocommerce-page #secondary .price_slider_wrapper .ui-slider .ui-slider-range{ background:var(--dm-gold); }
.woocommerce-page #secondary .price_slider_wrapper .ui-slider .ui-slider-handle{ background:#0C0C0C; border:2px solid var(--dm-gold); }
.woocommerce-page #secondary .price_slider_amount .button{ padding:9px 18px !important; font-size:13px !important; }
.woocommerce-page #secondary .price_label{ font-size:13px; color:#4A4542; }

/* ---- no theme underlines inside design cards ---- */
.dm-sizecard, .dm-sizecard *, .dm-post, .dm-post *, .dmc-card a, .dl-card, .dl-card *{ text-decoration:none !important; }

/* ---- quantity box → rounded pill (featured panel + product pages) ---- */
.woocommerce .quantity .qty{
  border-radius:999px !important; border:1.5px solid var(--dm-border) !important; background:#fff;
  width:84px; height:52px; padding:0 10px; text-align:center;
  font-family:'DM Sans',sans-serif !important; font-size:16px; font-weight:700; color:var(--dm-ink);
}
.woocommerce .quantity .qty:focus{ outline:none; border-color:var(--dm-gold) !important; box-shadow:0 0 0 3px rgba(196,154,42,.25); }
/* Astra's +/- buttons, when present */
.woocommerce .quantity .ast-qty-minus, .woocommerce .quantity .ast-qty-plus,
.woocommerce .quantity .minus, .woocommerce .quantity .plus{
  border-radius:999px !important; border:1px solid var(--dm-border) !important; background:#F9F5EE !important;
  color:var(--dm-ink) !important; width:36px; height:36px; font-weight:700; cursor:pointer; transition:all .15s;
}
.woocommerce .quantity .ast-qty-minus:hover, .woocommerce .quantity .ast-qty-plus:hover,
.woocommerce .quantity .minus:hover, .woocommerce .quantity .plus:hover{ background:var(--dm-gold) !important; color:var(--dm-ink) !important; border-color:var(--dm-gold) !important; }
/* dark featured panel variant on the homepage */
#dm-featured .quantity .qty{ background:#151515; border-color:#3a3a3a !important; color:#F9F5EE; }
#dm-featured .quantity .ast-qty-minus, #dm-featured .quantity .ast-qty-plus,
#dm-featured .quantity .minus, #dm-featured .quantity .plus{ background:#151515 !important; border-color:#3a3a3a !important; color:#F9F5EE !important; }

/* ---- Fluent Forms newsletter (footer / home band / landing) → dark pill design ---- */
#dm-newsletter .frm-fluent-form, #dm-newsletter-footer .frm-fluent-form{ margin:0 !important; }
#dm-newsletter .ff-el-group, #dm-newsletter-footer .ff-el-group{ margin-bottom:10px !important; }
#dm-newsletter .ff-el-input--label, #dm-newsletter-footer .ff-el-input--label{ display:none !important; }
#dm-newsletter .ff-el-form-control, #dm-newsletter-footer .ff-el-form-control{
  width:100% !important; background:#151515 !important; border:1px solid #3a3a3a !important; border-radius:999px !important;
  padding:14px 20px !important; color:#F9F5EE !important; font-family:'DM Sans',sans-serif !important; font-size:14.5px !important; height:auto !important;
}
#dm-newsletter .ff-el-form-control:focus, #dm-newsletter-footer .ff-el-form-control:focus{ outline:none !important; border-color:var(--dm-gold) !important; box-shadow:none !important; }
#dm-newsletter .ff-btn-submit, #dm-newsletter-footer .ff-btn-submit{
  width:100% !important; background:var(--dm-gold) !important; color:var(--dm-ink) !important; border:0 !important; border-radius:999px !important;
  padding:14px 24px !important; font-family:'DM Sans',sans-serif !important; font-weight:700 !important; font-size:15px !important; cursor:pointer;
}
#dm-newsletter .ff-message-success, #dm-newsletter-footer .ff-message-success{
  background:#151515 !important; border:1px solid var(--dm-gold) !important; border-radius:14px !important;
  padding:16px 18px !important; color:#C9C3B8 !important; font-family:'DM Sans',sans-serif !important;
}
#dm-newsletter .ff-el-is-error .ff-el-form-control{ border-color:#ff9d9d !important; }
#dm-newsletter .error, #dm-newsletter-footer .error, #dm-newsletter .ff-el-is-error .text-danger, #dm-newsletter-footer .text-danger{ color:#ff9d9d !important; font-size:12.5px !important; }

/* ---- MailPoet footer/landing form → darkorchid newsletter design ---- */
/* the form's own "Subscribe to our newsletter" header duplicates our column heading — hide it */
#dm-newsletter-footer .dm-form-header, #dm-newsletter .dm-form-header{ display:none !important; }
/* privacy consent row: small, evenly spaced, aligned */
#dm-newsletter-footer .dm-privacy-check, #dm-newsletter .dm-privacy-check{ margin:6px 0 10px !important; }
#dm-newsletter-footer .mailpoet_checkbox_label, #dm-newsletter .mailpoet_checkbox_label{
  font-size:12px !important; line-height:1.55 !important;
}
#dm-newsletter-footer input.mailpoet_checkbox, #dm-newsletter input.mailpoet_checkbox{
  flex-shrink:0; width:14px; height:14px;
}
#dm-newsletter-footer .mailpoet_form_popup_overlay, #dm-newsletter .mailpoet_form_popup_overlay{ display:none !important; }
#dm-newsletter-footer .mailpoet_form, #dm-newsletter .mailpoet_form{ background:transparent !important; padding:0 !important; }
#dm-newsletter-footer .mailpoet_paragraph, #dm-newsletter .mailpoet_paragraph{ margin-bottom:10px !important; }
/* no labels — placeholder-style like the design */
#dm-newsletter-footer .mailpoet_text_label, #dm-newsletter .mailpoet_text_label{ display:none !important; }
#dm-newsletter-footer .mailpoet_text, #dm-newsletter-footer .mailpoet_textarea,
#dm-newsletter .mailpoet_text, #dm-newsletter .mailpoet_textarea{
  display:block !important; width:100% !important; box-sizing:border-box !important;
  background:#0C0C0C !important; border:1px solid #3a3a3a !important; border-radius:999px !important;
  padding:12px 16px !important; color:#F9F5EE !important; font-family:'DM Sans',sans-serif !important; font-size:14px !important;
}
#dm-newsletter-footer .mailpoet_text:focus, #dm-newsletter .mailpoet_text:focus{ outline:none !important; border-color:var(--dm-gold) !important; }
#dm-newsletter-footer .mailpoet_submit, #dm-newsletter .mailpoet_submit{
  width:100% !important; background:var(--dm-gold) !important; color:var(--dm-ink) !important;
  border:0 !important; border-radius:999px !important; padding:12px 20px !important;
  font-family:'DM Sans',sans-serif !important; font-weight:700 !important; font-size:14px !important; cursor:pointer;
  transition:transform .15s ease;
}
#dm-newsletter-footer .mailpoet_submit:hover, #dm-newsletter .mailpoet_submit:hover{ transform:translateY(-1px); }
/* consent checkbox row — small, muted, readable on dark */
#dm-newsletter-footer .mailpoet_checkbox_label, #dm-newsletter .mailpoet_checkbox_label{
  display:flex !important; gap:8px; align-items:flex-start; font-size:12px !important; color:#8a8478 !important;
  text-transform:none !important; letter-spacing:0 !important; line-height:1.5 !important;
}
#dm-newsletter-footer .mailpoet_checkbox_label a, #dm-newsletter .mailpoet_checkbox_label a{ color:#E8B84B !important; }
#dm-newsletter-footer input.mailpoet_checkbox, #dm-newsletter input.mailpoet_checkbox{ accent-color:var(--dm-gold); margin-top:2px; }
/* validation + success messages */
#dm-newsletter-footer .mailpoet_validate_success, #dm-newsletter .mailpoet_validate_success{ color:#E8B84B !important; font-size:13px !important; }
#dm-newsletter-footer .mailpoet_validate_error, #dm-newsletter .mailpoet_validate_error{ color:#ff9d9d !important; font-size:13px !important; }
#dm-newsletter-footer .mailpoet_message, #dm-newsletter .mailpoet_message{ margin-top:8px; }

/* ---- Affirm “as low as” messaging: larger, gold logo, readable on light AND dark ---- */
.affirm-as-low-as{
  display:block; font-family:'DM Sans',sans-serif !important; font-size:15px !important;
  color:var(--dm-muted) !important; margin:10px 0 !important; line-height:1.5 !important;
}
#dm-featured .affirm-as-low-as, .dm-dark .affirm-as-low-as{ color:#C9C3B8 !important; }
/* the injected Affirm wordmark (runtime element) — scale up + recolor to brand gold */
.affirm-as-low-as .__affirm-logo,
.affirm-as-low-as [class*="affirm-logo"]{
  display:inline-block !important; vertical-align:middle !important;
  min-width:72px !important; height:28px !important; background-size:contain !important; background-repeat:no-repeat !important;
  transform:scale(1.3); transform-origin:left center; margin:0 4px !important;
  filter: brightness(0) invert(69%) sepia(58%) saturate(500%) hue-rotate(6deg) brightness(95%) contrast(90%) !important;
}
/* learn-more / modal link */
.affirm-as-low-as a, .affirm-modal-trigger{ color:var(--dm-gold) !important; font-weight:600 !important; text-decoration:none !important; }
.affirm-as-low-as a:hover{ color:var(--dm-gold2) !important; }

/* ---- service-area chips (dark section) hover highlight ---- */
.dm-sa-chip:hover{ border-color:#C49A2A !important; color:#E8B84B !important; }

/* ---- motion safety ---- */
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important; } }
