/* =========================================================================
   Dream Home Furniture – main stylesheet
   System fonts only (no font downloads) for the fastest possible load.
   ========================================================================= */
:root{
  --dhf-navy:#1b2530;
  --dhf-navy-2:#141c25;
  --dhf-gold:#b0894f;
  --dhf-gold-2:#c9a46c;
  --dhf-cream:#f6f2ec;
  --dhf-text:#26292e;
  --dhf-muted:#6b6f76;
  --dhf-line:#e6e0d7;
  --dhf-white:#fff;
  --dhf-serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
  --dhf-sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --dhf-wrap:1240px;
  --dhf-radius:2px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--dhf-white);color:var(--dhf-text);font-family:var(--dhf-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto;vertical-align:middle}
a{color:inherit;text-decoration:none}
a:hover{color:var(--dhf-gold)}
:focus-visible{outline:2px solid var(--dhf-gold);outline-offset:3px}
h1,h2,h3,h4{margin:0 0 .5em;font-family:var(--dhf-serif);font-weight:500;line-height:1.15;color:var(--dhf-navy)}
p{margin:0 0 1em}
button{font:inherit;cursor:pointer}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.dhf-skip{position:absolute;left:-9999px;top:8px;z-index:999;padding:10px 16px;background:var(--dhf-navy);color:#fff}
.dhf-skip:focus{left:8px}
.dhf-wrap{width:100%;max-width:var(--dhf-wrap);margin:0 auto;padding:0 24px}
.dhf-section{padding:64px 0}
.dhf-ico{flex:none}

/* Buttons */
.dhf-btn,.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 26px;border:0;border-radius:var(--dhf-radius);
  font-family:var(--dhf-sans);font-size:13px;font-weight:700;letter-spacing:1.4px;line-height:1.2;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}
.dhf-btn--gold{background:var(--dhf-gold);color:#fff}
.dhf-btn--gold:hover{background:var(--dhf-gold-2);color:#fff}
.dhf-btn--dark,.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--dhf-navy);color:#fff}
.dhf-btn--dark:hover,.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover{background:var(--dhf-gold);color:#fff}
.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce a.button.alt{background:var(--dhf-gold);color:#fff}
.woocommerce .button.alt:hover,.woocommerce button.button.alt:hover{background:var(--dhf-navy)}
.dhf-btn--block{width:100%}

/* Eyebrow + section heads */
.dhf-eyebrow{margin:0 0 10px;color:var(--dhf-gold);font-size:12px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase}
.dhf-eyebrow--light{color:var(--dhf-gold-2)}
.dhf-head{margin:0 0 34px;text-align:center}
.dhf-head__title{margin:0;font-size:clamp(28px,3.4vw,38px)}
.dhf-head__title::after{content:"";display:block;width:44px;height:2px;margin:14px auto 0;background:var(--dhf-gold)}

/* Top bar */
.dhf-topbar{background:var(--dhf-navy);color:#e9e4dc;font-size:12.5px}
.dhf-topbar__in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:36px}
.dhf-topbar__item{display:inline-flex;align-items:center;gap:8px;color:inherit}
.dhf-topbar__right{display:flex;gap:28px}
a.dhf-topbar__item:hover{color:var(--dhf-gold-2)}

/* Header */
.dhf-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--dhf-line);transition:box-shadow .2s}
.dhf-header.is-stuck{box-shadow:0 6px 20px rgba(20,28,37,.08)}
.admin-bar .dhf-header{top:32px}
@media (max-width:782px){.admin-bar .dhf-header{top:0}}
.dhf-header__in{display:flex;align-items:center;gap:28px;min-height:84px}
.dhf-brand{flex:none}
.dhf-brand .custom-logo-link{display:block;line-height:0}
.dhf-brand .custom-logo{display:block;width:auto;height:56px;max-width:100%}
.dhf-textlogo{display:inline-grid;justify-items:center;color:var(--dhf-navy);line-height:1}
.dhf-textlogo .dhf-ico{color:var(--dhf-gold);margin-bottom:2px}
.dhf-textlogo__name{font-family:var(--dhf-serif);font-size:26px;letter-spacing:3px;text-transform:uppercase}
.dhf-textlogo__tag{margin-top:6px;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--dhf-muted)}
.dhf-textlogo:hover{color:var(--dhf-navy)}

.dhf-nav{flex:1;display:flex;justify-content:center}
.dhf-menu{display:flex;flex-wrap:wrap;gap:4px 30px;margin:0;padding:0;list-style:none}
.dhf-menu li{position:relative}
.dhf-menu a{display:block;padding:10px 0;font-size:14.5px;font-weight:500;color:var(--dhf-text)}
.dhf-menu a:hover,.dhf-menu .current-menu-item>a,.dhf-menu .current-menu-ancestor>a{color:var(--dhf-gold)}
.dhf-menu .menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.dhf-menu .sub-menu{position:absolute;top:100%;left:-18px;z-index:60;min-width:220px;margin:0;padding:10px 0;list-style:none;background:#fff;border:1px solid var(--dhf-line);box-shadow:0 18px 40px rgba(20,28,37,.12);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}
.dhf-menu li:hover>.sub-menu,.dhf-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.dhf-menu .sub-menu a{padding:8px 18px;font-size:14px}
.dhf-subtoggle{display:none}
.dhf-iconbtn.dhf-nav__close,.dhf-iconbtn.dhf-navtoggle{display:none}

.dhf-actions{display:flex;align-items:center;gap:6px}
.dhf-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:0;background:none;color:var(--dhf-navy)}
.dhf-iconbtn:hover{color:var(--dhf-gold)}
.dhf-cart-count{position:absolute;top:2px;right:0;display:flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--dhf-gold);color:#fff;font-size:11px;font-weight:700;line-height:1}

.dhf-search{border-top:1px solid var(--dhf-line);background:var(--dhf-cream);padding:16px 0}
.dhf-search__form{display:flex;gap:10px;max-width:720px;margin:0 auto}
.dhf-search__form input[type=search]{flex:1;min-height:46px;padding:0 16px;border:1px solid var(--dhf-line);border-radius:var(--dhf-radius);background:#fff;font:inherit}
.dhf-overlay{position:fixed;inset:0;z-index:45;background:rgba(20,28,37,.5)}

/* Hero */
.dhf-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(440px,62vh,600px);background:var(--dhf-navy-2);color:#fff;overflow:hidden}
.dhf-hero__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.dhf-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,19,25,.82) 0%,rgba(14,19,25,.6) 34%,rgba(14,19,25,.1) 62%,rgba(14,19,25,0) 100%)}
.dhf-hero__in{padding-top:70px;padding-bottom:70px}
.dhf-hero__content{max-width:470px}
.dhf-hero__title{margin:0 0 18px;color:#fff;font-size:clamp(38px,5.2vw,62px);line-height:1.05}
.dhf-hero__text{margin:0 0 30px;color:#ece6de;font-size:17px}

/* Trust bar */
.dhf-trust{background:var(--dhf-cream);border-bottom:1px solid var(--dhf-line)}
.dhf-trust__list{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0 auto;padding-top:26px;padding-bottom:26px;list-style:none}
.dhf-trust__item{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--dhf-navy)}
.dhf-trust__item strong{display:block;font-size:15px;font-weight:600}
.dhf-trust__item span{display:block;color:var(--dhf-muted);font-size:13px}
.dhf-stretch{position:absolute;inset:0}

/* Categories */
.dhf-cats__grid{--dhf-cols:6;display:grid;grid-template-columns:repeat(var(--dhf-cols),1fr);gap:14px;margin:0;padding:0;list-style:none}
.dhf-cat a{position:relative;display:block;aspect-ratio:6/7;overflow:hidden;background:var(--dhf-cream);color:#fff}
.dhf-cat img,.dhf-cat__ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.dhf-cat__ph{background:linear-gradient(135deg,#d9cdbb,#a99677)}
.dhf-cat a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.65))}
.dhf-cat a:hover img{transform:scale(1.05)}
.dhf-cat__label{position:absolute;left:14px;right:14px;bottom:14px;z-index:1}
.dhf-cat__label strong{display:block;font-family:var(--dhf-serif);font-size:19px;font-weight:500;line-height:1.2}
.dhf-cat__label span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;opacity:.9}

/* Product slider */
.dhf-best{padding-top:24px}
.dhf-slider{position:relative;padding:0 44px}
.dhf-slider__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.dhf-slider__track::-webkit-scrollbar{display:none}
.dhf-slider__btn{position:absolute;top:32%;z-index:2;display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;background:none;color:var(--dhf-navy)}
.dhf-slider__btn:disabled{opacity:.25;cursor:default}
.dhf-slider__btn--prev{left:0}.dhf-slider__btn--next{right:0}
.dhf-slider.is-static .dhf-slider__btn{display:none}
.dhf-card{display:flex;flex-direction:column;scroll-snap-align:start;background:#fff}
.dhf-card__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--dhf-cream)}
.dhf-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.dhf-card:hover .dhf-card__media img{transform:scale(1.04)}
.dhf-card__body{display:flex;flex:1;flex-direction:column;padding:14px 0 0}
.dhf-card__title{margin:0 0 6px;font-family:var(--dhf-sans);font-size:15px;font-weight:500;line-height:1.35}
.dhf-card__rating{display:flex;align-items:center;gap:6px;margin:0 0 4px}
.dhf-card__count{color:var(--dhf-muted);font-size:12px}
.dhf-card__price{margin:0 0 14px;color:var(--dhf-navy);font-size:18px;font-weight:700}
.dhf-card__price del{color:var(--dhf-muted);font-size:14px;font-weight:400}
.dhf-card__price ins{text-decoration:none}
.dhf-card .dhf-btn{margin-top:auto;min-height:40px;font-size:12px}
.dhf-card .added_to_cart{display:block;margin-top:8px;text-align:center;font-size:13px;color:var(--dhf-gold)}

/* Stars (used by WooCommerce rating html) */
.star-rating{position:relative;display:inline-block;width:5.4em;height:1.1em;overflow:hidden;font-size:13px;line-height:1.1;letter-spacing:.1em}
.star-rating::before{content:"★★★★★";position:absolute;top:0;left:0;color:#ddd3c3}
.star-rating span{position:absolute;top:0;left:0;overflow:hidden;padding-top:1.5em}
.star-rating span::before{content:"★★★★★";position:absolute;top:0;left:0;color:var(--dhf-gold)}

/* Promo banner */
.dhf-promo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);margin-top:24px;background:var(--dhf-navy)}
.dhf-promo__text{display:flex;align-items:center;color:#e6e0d7}
.dhf-promo__in{max-width:470px;padding:56px clamp(24px,6vw,72px)}
.dhf-promo h2{color:#fff;font-size:clamp(30px,3.4vw,42px)}
.dhf-promo p{margin:0 0 26px}
.dhf-promo__media{position:relative;min-height:400px;background:#2a3540}
.dhf-promo__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Newsletter strip */
.dhf-news{background:var(--dhf-cream);border-bottom:1px solid var(--dhf-line)}
.dhf-news__in{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:30px;padding-top:26px;padding-bottom:26px}
.dhf-news__intro,.dhf-news__note{display:flex;align-items:center;gap:14px;color:var(--dhf-navy)}
.dhf-news__note{justify-content:flex-end}
.dhf-news strong{display:block;font-size:15px;font-weight:600}
.dhf-news span{display:block;color:var(--dhf-muted);font-size:13px}
.dhf-news__form form{display:flex}
.dhf-news__form input[type=email],.dhf-news__form input[type=text]{flex:1;min-height:44px;padding:0 14px;border:1px solid var(--dhf-line);border-right:0;background:#fff;font:inherit}
.dhf-news__form input[type=submit],.dhf-news__form button{min-height:44px;padding:0 22px;border:0;background:var(--dhf-navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
.dhf-news__form p{margin:0}

/* Footer */
.dhf-footer{background:var(--dhf-navy);color:#c9c4bc;font-size:14px}
.dhf-footer a{color:#c9c4bc}
.dhf-footer a:hover{color:var(--dhf-gold-2)}
.dhf-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;padding-top:56px;padding-bottom:44px}
.dhf-footer .dhf-textlogo{color:#fff}
.dhf-footer .dhf-textlogo__name{font-size:22px}
.dhf-footer .dhf-textlogo__tag{color:#a59f96}
.dhf-logo--footer{display:inline-block;line-height:0}
.dhf-logo--footer img{display:block;width:auto;height:92px;max-width:100%}
.dhf-footer__contact{display:grid;gap:8px;margin-top:20px;font-style:normal}
.dhf-footer__contact>*{display:flex;gap:10px;align-items:flex-start}
.dhf-footer__contact .dhf-ico{margin-top:3px;color:var(--dhf-gold-2)}
.dhf-footer__title{margin:0 0 14px;color:#fff;font-family:var(--dhf-sans);font-size:15px;font-weight:600}
.dhf-footer__title--sm{margin-top:20px;font-size:13px}
.dhf-footer__links,.dhf-footer .dhf-menu{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.dhf-footer .dhf-menu a{padding:0;font-size:14px;color:#c9c4bc}
.dhf-social{display:flex;gap:10px;margin:0;padding:0;list-style:none}
.dhf-social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:50%}
.dhf-pay{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.dhf-pay li{padding:5px 10px;border-radius:3px;background:#fff;color:var(--dhf-navy);font-size:12px;font-weight:700}
.dhf-footer__note{margin-top:14px;font-size:13px}
.dhf-footer__bottom{border-top:1px solid rgba(255,255,255,.1);font-size:12.5px}
.dhf-footer__bottom-in{padding-top:16px;padding-bottom:16px}
.dhf-footer__bottom p{margin:0}

/* Inner pages */
.dhf-pagehead{padding:46px 0 30px;background:var(--dhf-cream);border-bottom:1px solid var(--dhf-line)}
.dhf-pagehead__title{margin:0;font-size:clamp(30px,4vw,44px)}
.dhf-pagehead .woocommerce-breadcrumb{margin:0 0 10px;color:var(--dhf-muted);font-size:13px}
.dhf-content{max-width:860px;margin:0 auto}
.dhf-content--wide{max-width:none}
.dhf-content h2{margin-top:1.6em;font-size:28px}
.dhf-content h3{margin-top:1.4em;font-size:22px}
.dhf-content a{color:var(--dhf-gold);text-decoration:underline}
.dhf-content__img{margin-bottom:24px}
.dhf-content table{width:100%;border-collapse:collapse}
.dhf-content th,.dhf-content td{padding:10px 12px;border:1px solid var(--dhf-line);text-align:left}
.dhf-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.dhf-post__media{display:block;aspect-ratio:4/3;overflow:hidden;margin-bottom:14px;background:var(--dhf-cream)}
.dhf-post__media img{width:100%;height:100%;object-fit:cover}
.dhf-post__meta{margin:0 0 4px;color:var(--dhf-muted);font-size:13px}
.dhf-post__title{font-size:22px}
.nav-links{display:flex;gap:8px;margin-top:40px}
.nav-links .page-numbers{padding:8px 14px;border:1px solid var(--dhf-line)}
.nav-links .current{background:var(--dhf-navy);color:#fff}
.dhf-404{text-align:center}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=number],textarea,select{max-width:100%;padding:10px 12px;border:1px solid var(--dhf-line);border-radius:var(--dhf-radius);background:#fff;font:inherit;color:var(--dhf-text)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--dhf-gold);box-shadow:0 0 0 3px rgba(176,137,79,.18)}

/* =========================================================================
   WooCommerce
   ========================================================================= */
.dhf-shop .woocommerce-result-count{color:var(--dhf-muted);font-size:14px}
.dhf-shop .woocommerce-ordering select{min-height:42px}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px;margin:0 0 40px;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{display:flex;flex-direction:column;width:auto!important;margin:0!important;float:none!important;text-align:left}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:4/3;margin:0 0 12px;object-fit:cover;background:var(--dhf-cream);transition:transform .5s}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{display:block;overflow:hidden}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0;margin:0 0 6px;font-family:var(--dhf-sans);font-size:15px;font-weight:500;color:var(--dhf-text)}
.woocommerce ul.products li.product .price{display:block;margin:0 0 12px;color:var(--dhf-navy);font-size:17px;font-weight:700}
.woocommerce ul.products li.product .price del{color:var(--dhf-muted);font-size:14px;font-weight:400}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{width:100%;margin-top:auto;min-height:40px;font-size:12px}
.woocommerce span.onsale{position:absolute;top:10px;left:10px;z-index:2;min-width:0;min-height:0;padding:4px 10px;border-radius:2px;background:var(--dhf-gold);color:#fff;font-size:12px;font-weight:700;line-height:1.4}
.woocommerce ul.products li.product{position:relative}
.woocommerce nav.woocommerce-pagination ul{display:flex;gap:6px;border:0}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{padding:9px 14px;border:1px solid var(--dhf-line)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--dhf-navy);color:#fff}
.woocommerce-products-header{display:none}

/* Single product */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;margin-top:20px}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product .product_title{font-size:clamp(28px,3vw,38px)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--dhf-navy);font-size:26px;font-weight:700}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.woocommerce div.product form.cart .quantity .qty{width:80px;min-height:46px;text-align:center}
.woocommerce div.product form.cart .button{flex:1;min-width:200px}
.woocommerce div.product .product_meta{padding-top:18px;border-top:1px solid var(--dhf-line);color:var(--dhf-muted);font-size:14px}
.woocommerce div.product .product_meta>span{display:block;margin-bottom:4px}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:4px;margin:0;padding:0;border-bottom:1px solid var(--dhf-line);list-style:none}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0;padding:0;border:0;background:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:12px 20px;font-weight:600;color:var(--dhf-muted)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--dhf-navy);box-shadow:inset 0 -2px 0 var(--dhf-gold)}
.woocommerce div.product .woocommerce-tabs .panel{padding:28px 0}
.woocommerce .related>h2,.woocommerce .upsells>h2{text-align:center;font-size:30px}
.woocommerce-breadcrumb{margin-bottom:14px;color:var(--dhf-muted);font-size:13px}

/* Notices, cart, checkout */
.woocommerce-message,.woocommerce-info,.woocommerce-error{margin:0 0 24px;padding:14px 18px;border:0;border-left:3px solid var(--dhf-gold);background:var(--dhf-cream);list-style:none}
.woocommerce-error{border-left-color:#b23b1e}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce table.shop_table{border:1px solid var(--dhf-line);border-collapse:collapse;border-radius:0}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:14px;border-top:1px solid var(--dhf-line)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{min-height:46px}

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width:1280px){.dhf-menu{gap:4px 22px}.dhf-menu a{font-size:14px}}
@media (max-width:1180px){
  .dhf-menu{gap:4px 18px}
  .dhf-cats__grid{grid-template-columns:repeat(3,1fr)}
  .dhf-slider__track{grid-auto-columns:calc((100% - 48px)/3)}
}
@media (max-width:1024px){
  .dhf-topbar__mid{display:none}
  .dhf-iconbtn.dhf-navtoggle{display:inline-flex}
  .dhf-header__in{gap:10px;min-height:70px}
  .dhf-brand{flex:1;display:flex;justify-content:center}
  .dhf-brand .custom-logo{height:44px}
  .dhf-nav{position:fixed;top:0;bottom:0;left:0;z-index:80;display:block;width:min(86vw,340px);padding:64px 24px 24px;background:#fff;overflow-y:auto;transform:translateX(-102%);transition:transform .25s}
  .dhf-nav-open .dhf-nav{transform:none}
  .dhf-iconbtn.dhf-nav__close{display:inline-flex;position:absolute;top:12px;right:12px}
  .dhf-menu{display:block}
  .dhf-menu li{border-bottom:1px solid var(--dhf-line)}
  .dhf-menu a{padding:13px 0;font-size:16px}
  .dhf-menu .menu-item-has-children>a::after{display:none}
  .dhf-subtoggle{display:flex;position:absolute;top:6px;right:0;align-items:center;justify-content:center;width:40px;height:40px;border:0;background:none;color:var(--dhf-navy)}
  .dhf-menu .is-open>.dhf-subtoggle{transform:rotate(180deg)}
  .dhf-menu .sub-menu{position:static;display:none;min-width:0;padding:0 0 8px 14px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .dhf-menu .is-open>.sub-menu{display:block}
  .dhf-menu .sub-menu li{border:0}
  .dhf-trust__list{grid-template-columns:repeat(2,1fr)}
  .dhf-trust__item{justify-content:flex-start}
  .dhf-promo{grid-template-columns:1fr}
  .dhf-promo__media{order:-1;min-height:260px}
  .dhf-news__in{grid-template-columns:1fr;gap:18px}
  .dhf-news__note{justify-content:flex-start}
  .dhf-footer__grid{grid-template-columns:1fr 1fr}
  .woocommerce ul.products{grid-template-columns:repeat(3,1fr)}
  .woocommerce div.product{grid-template-columns:1fr;gap:28px}
  .dhf-posts{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .dhf-wrap{padding:0 16px}
  .dhf-section{padding:48px 0}
  .dhf-topbar__in{justify-content:center;min-height:32px}
  .dhf-topbar__right{display:none}
  .dhf-account{display:none!important}
  .dhf-hero{min-height:440px}
  .dhf-hero::before{background:linear-gradient(180deg,rgba(14,19,25,.55),rgba(14,19,25,.8))}
  .dhf-hero__text{font-size:16px}
  .dhf-trust__list{gap:16px;padding-top:20px;padding-bottom:20px}
  .dhf-trust__item .dhf-ico{width:26px;height:26px}
  .dhf-trust__item strong{font-size:14px}
  .dhf-cats__grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .dhf-slider{padding:0}
  .dhf-slider__btn{display:none}
  .dhf-slider__track{grid-auto-columns:72%;gap:16px}
  .dhf-footer__grid{grid-template-columns:1fr;gap:30px}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:24px 14px}
  .dhf-posts{grid-template-columns:1fr}
  .dhf-search__form{flex-direction:column}
}
@media (max-width:420px){
  .dhf-trust__list{grid-template-columns:1fr}
}

/* =========================================================================
   Shop sidebar (categories + price filter)
   ========================================================================= */
.dhf-shop--sidebar{display:grid;grid-template-columns:260px minmax(0,1fr);gap:44px;align-items:start}
.dhf-shop__main{min-width:0}
.dhf-shop--sidebar .woocommerce ul.products,.dhf-shop--sidebar ul.products{grid-template-columns:repeat(3,1fr)}
.dhf-iconbtn.dhf-sidebar__close,.dhf-btn.dhf-filtertoggle{display:none}
.dhf-sidebar{position:sticky;top:108px;max-height:calc(100vh - 128px);overflow-y:auto;padding-right:6px;scrollbar-width:thin}
.admin-bar .dhf-sidebar{top:140px}
.dhf-sidebar__top{display:none}
.dhf-filter{margin:0 0 24px;padding:0 0 24px;border-bottom:1px solid var(--dhf-line)}
.dhf-filter:last-child{border-bottom:0}
.dhf-filter__title{margin:0 0 12px;color:var(--dhf-navy);font-family:var(--dhf-serif);font-size:20px;line-height:1.2}
.dhf-catmenu,.dhf-catmenu .children,.dhf-filter--widgets ul{margin:0;padding:0;list-style:none}
.dhf-catmenu li{position:relative}
.dhf-catmenu a{display:block;padding:7px 64px 7px 0;color:var(--dhf-text);font-size:14.5px;line-height:1.4}
.dhf-catmenu a:hover{color:var(--dhf-gold)}
.dhf-catmenu .current-cat>a{color:var(--dhf-gold);font-weight:600}
.dhf-count{position:absolute;top:8px;right:0;min-width:28px;padding:1px 8px;border-radius:10px;background:var(--dhf-cream);color:var(--dhf-muted);font-size:11.5px;font-weight:600;line-height:1.6;text-align:center}
.dhf-catmenu .has-kids>.dhf-count{right:32px}
.dhf-cattoggle{position:absolute;top:4px;right:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;background:none;color:var(--dhf-navy);transition:transform .2s}
.dhf-catmenu .is-open>.dhf-cattoggle{transform:rotate(180deg)}
.dhf-catmenu .children{display:none;margin:2px 0 6px 2px;padding-left:12px;border-left:1px solid var(--dhf-line)}
.dhf-catmenu .is-open>.children{display:block}
.dhf-catmenu .children a{font-size:14px;color:var(--dhf-muted)}
.dhf-price__row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.dhf-price label span{display:block;margin-bottom:4px;color:var(--dhf-muted);font-size:12px}
.dhf-price input{width:100%;min-height:42px}
.dhf-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.dhf-chip{display:inline-block;padding:5px 12px;border:1px solid var(--dhf-line);border-radius:20px;background:var(--dhf-cream);font-size:13px}
a.dhf-chip--clear{border-color:var(--dhf-gold);background:#fff;color:var(--dhf-gold)}
.dhf-filter--widgets .widget{margin-bottom:20px}
.dhf-filter--widgets li{padding:5px 0;font-size:14.5px}
.dhf-filter--widgets .count{float:right;color:var(--dhf-muted);font-size:12px}

@media (max-width:1180px){
  .dhf-shop--sidebar{grid-template-columns:230px minmax(0,1fr);gap:30px}
  .dhf-shop--sidebar ul.products{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){
  .dhf-shop--sidebar{display:block}
  .dhf-btn.dhf-filtertoggle{display:inline-flex;margin:0 0 22px}
  .dhf-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:95;width:min(88vw,340px);max-height:none;padding:0 22px 24px;background:#fff;transform:translateX(-102%);transition:transform .25s;box-shadow:0 0 40px rgba(0,0,0,.2)}
  .admin-bar .dhf-sidebar{top:0}
  .dhf-filters-open .dhf-sidebar{transform:none}
  .dhf-filters-open .dhf-overlay{z-index:90}
  .dhf-sidebar__top{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;margin:0 -22px 18px;padding:12px 12px 12px 22px;background:#fff;border-bottom:1px solid var(--dhf-line)}
  .dhf-sidebar__top strong{font-family:var(--dhf-serif);font-size:22px;font-weight:500;color:var(--dhf-navy)}
  .dhf-iconbtn.dhf-sidebar__close{display:inline-flex}
  .dhf-shop--sidebar ul.products{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .dhf-shop--sidebar ul.products{grid-template-columns:repeat(2,1fr)}
  .dhf-btn.dhf-filtertoggle{width:100%}
}

/* =========================================================================
   Product grid buttons – centred, consistent, with hover + loading states
   (overrides WooCommerce's default inline-block/left-aligned button)
   ========================================================================= */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.dhf-card .dhf-btn{
  position:relative;display:flex!important;align-items:center;justify-content:center;gap:8px;
  width:100%;min-height:46px;margin:auto 0 0!important;padding:12px 18px!important;
  border:1px solid var(--dhf-navy);border-radius:3px;background:var(--dhf-navy);color:#fff!important;
  font-family:var(--dhf-sans);font-size:12.5px;font-weight:700;letter-spacing:1.6px;line-height:1.2;text-align:center;text-transform:uppercase;
  box-shadow:0 2px 0 rgba(27,37,48,.08);transition:background .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s}
.woocommerce ul.products li.product .button::before,
.dhf-card .dhf-btn::before{
  content:"";flex:none;width:16px;height:16px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.5 12h12L22 7H6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.5 12h12L22 7H6'/%3E%3C/svg%3E") center/contain no-repeat}
.woocommerce ul.products li.product .button:hover,
.dhf-card .dhf-btn:hover{background:var(--dhf-gold);border-color:var(--dhf-gold);color:#fff!important;transform:translateY(-1px);box-shadow:0 8px 18px rgba(176,137,79,.28)}
.woocommerce ul.products li.product .button:focus-visible,
.dhf-card .dhf-btn:focus-visible{outline:2px solid var(--dhf-gold);outline-offset:3px}
/* Loading spinner (replaces WooCommerce's icon-font spinner) */
.woocommerce ul.products li.product .button.loading,
.dhf-card .dhf-btn.loading{opacity:.85;pointer-events:none}
.woocommerce ul.products li.product .button.loading::after,
.dhf-card .dhf-btn.loading::after{content:""!important;position:static!important;width:14px;height:14px;margin:0;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;font-family:inherit!important;animation:dhf-spin .7s linear infinite}
/* Added: show a tick instead of the cart icon */
.woocommerce ul.products li.product .button.added::after,
.dhf-card .dhf-btn.added::after{display:none!important}
.woocommerce ul.products li.product .button.added::before,
.dhf-card .dhf-btn.added::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")}
/* "View basket" link that WooCommerce adds after adding */
.woocommerce ul.products li.product .added_to_cart,
.dhf-card .added_to_cart{position:absolute;left:0;right:0;bottom:-26px;display:block;margin:0;padding:0;color:var(--dhf-gold);font-size:13px;font-weight:600;text-align:center;text-decoration:underline;text-underline-offset:3px}
/* Out-of-stock / "Read more" / "Select options" buttons: outline style */
.woocommerce ul.products li.product .button:not(.add_to_cart_button){background:#fff;color:var(--dhf-navy)!important}
.woocommerce ul.products li.product .button:not(.add_to_cart_button):hover{background:var(--dhf-navy);border-color:var(--dhf-navy);color:#fff!important;box-shadow:none}
.woocommerce ul.products li.product .button:not(.add_to_cart_button)::before{display:none}
/* All other WooCommerce buttons: centred text */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button{text-align:center;line-height:1.2}
@keyframes dhf-spin{to{transform:rotate(360deg)}}
@media (max-width:720px){
  .woocommerce ul.products li.product .button,.dhf-card .dhf-btn{min-height:42px;padding:10px 10px!important;font-size:11.5px;letter-spacing:1px}
  .woocommerce ul.products li.product .button::before,.dhf-card .dhf-btn::before{width:14px;height:14px}
}

.dhf-card{position:relative}
.woocommerce ul.products{row-gap:44px}
