/* Bradford Hardware — product page styles (ported from the approved static template).
   Scoped under body.single-product so it won't bleed into the rest of the parent theme. */
:root{--cream:#f5f5f3;--paper:#fafafa;--ink:#1a1a1a;--mut:#6e6e6e;--line:#e6e6e3;--acc:#1a1a1a;--acc-d:#111;--dark:#111;--serif:'Noto Serif',Georgia,serif;--sans:'Montserrat',sans-serif}
body.single-product{font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.single-product img{display:block;max-width:100%}
body.single-product a{color:inherit}
.bh .wrap{max-width:1220px;margin:0 auto;padding:0 30px}
.bh .eyebrow{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--acc);font-weight:600}
.bh .lnk{display:inline-flex;align-items:center;gap:8px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--acc);text-decoration:none}
.bh .lnk svg{width:13px;height:13px}
.bh .lnk:hover{color:var(--acc-d)}
.bh svg{stroke-width:1.5}
/* top bar */
.bh .topbar{background:var(--dark);color:#cccccc;text-align:center;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:8px}
/* site header — matches dev.bradfordhardware.com */
.bh .site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.bh .bar{max-width:1280px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:24px}
.bh .logo img{height:34px;width:auto;display:block;filter:brightness(0)}
.bh .primary{display:flex;align-items:center}
.bh .nav-list{list-style:none;display:flex;gap:6px;align-items:center;margin:0;padding:0}
.bh .nav-item>a,.bh .nav-list>li>a{color:var(--ink);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding:14px 14px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:.2s}
.bh .nav-item>a:hover,.bh .nav-item.active>a,.bh .nav-list>li.current-menu-item>a{color:#000}
.bh .nav-item.active>a{border-bottom:2px solid #000}
.bh .caret{font-size:.6rem;opacity:.65}
.bh .has-children,.bh .nav-list>li.menu-item-has-children{position:relative}
.bh .submenu,.bh .nav-list .sub-menu{position:absolute;top:100%;left:0;background:#fff;min-width:236px;box-shadow:0 18px 40px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;padding:8px 0;border-top:2px solid var(--ink);z-index:60;list-style:none}
.bh .has-children:hover .submenu,.bh .nav-list>li:hover .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.bh .submenu a,.bh .sub-menu a{display:block;padding:11px 22px;color:#333333;font-size:.8rem;letter-spacing:.04em;text-decoration:none}
.bh .submenu a:hover,.bh .sub-menu a:hover{background:var(--cream);color:#000}
.bh .hicons{display:flex;gap:18px;align-items:center}
.bh .hicons a{position:relative;color:var(--ink);line-height:0;transition:.2s}
.bh .hicons a:hover{color:#000}
.bh .hicons svg{width:19px;height:19px}
.bh .hicons .count{position:absolute;top:-7px;right:-6px;font-size:.56rem;color:var(--mut)}
.bh .nav-toggle,.bh .burger{display:none}
@media(max-width:900px){.bh .bar{min-height:72px}.bh .burger{display:block;color:var(--ink);font-size:1.5rem;cursor:pointer;background:none;border:0;line-height:1}.bh .nav-list{position:fixed;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;max-height:0;overflow:hidden;transition:max-height .3s;padding:0 14px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.08)}.bh .nav-toggle:checked~.nav-list{max-height:80vh;padding:8px 14px 18px}.bh .nav-item>a{padding:12px 4px}.bh .submenu,.bh .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;border-top:0;padding:0 0 8px 14px}.bh .submenu a,.bh .sub-menu a{color:var(--mut);padding:8px 0}.bh .submenu a:hover,.bh .sub-menu a:hover{background:transparent}}
/* breadcrumb */
.bh .crumb{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:20px 0 0}
.bh .crumb a{text-decoration:none}
/* ===== PDP ===== */
.bh .pdp{display:grid;grid-template-columns:1.06fr 1fr;gap:56px;padding:22px 0 26px;align-items:start}
.bh .pdp>.gallery,.bh .pdp>.info{min-width:0}
.bh .main-img{aspect-ratio:1/1;background:#eceae2;border:1px solid var(--line);overflow:hidden}
.bh .main-img img{width:100%;height:100%;object-fit:cover}
.bh .thumb-row{display:flex;align-items:center;gap:10px;margin-top:14px}
.bh .thumb-row .arw{flex:0 0 auto;width:30px;height:30px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center}
.bh .thumb-row .arw:hover{background:var(--cream)}
.bh .thumbs{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;flex:1;min-width:0}
.bh .thumbs::-webkit-scrollbar{display:none}
.bh .thumbs button{position:relative;width:88px;height:88px;border:1px solid var(--line);background:#eceae2;padding:0;cursor:pointer;overflow:hidden;flex:0 0 auto}
.bh .thumbs button.on{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
.bh .thumbs img{width:100%;height:100%;object-fit:cover}
/* info */
.bh .info .brand{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);font-weight:600}
.bh .info a.brand{display:block;width:fit-content;text-decoration:none;text-underline-offset:3px;transition:color .2s}
.bh .info a.brand:hover,.bh .info a.brand:focus-visible{color:var(--ink);text-decoration:underline}
.bh .info h1{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.16;font-weight:500;margin:10px 0 16px}
.bh .price{font-family:var(--sans);font-size:1.35rem;font-weight:600}
.bh .price .woocommerce-Price-amount{font-family:var(--sans)}
.bh .price small{font-family:var(--sans);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-left:8px}
.bh .lede{color:#555555;margin:16px 0 26px;max-width:46ch;font-size:.92rem}
.bh .opt-label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin:0 0 12px}
.bh .opt-label .sel{color:var(--mut);font-weight:500}
/* finish dropdown */
.bh .fin-row{display:flex;align-items:center;gap:12px;margin-bottom:26px;max-width:400px}
.bh .fin-swatch{width:46px;height:46px;border-radius:50%;overflow:hidden;flex:0 0 auto;box-shadow:0 0 0 1px var(--line)}
.bh .fin-swatch img{width:100%;height:100%;object-fit:cover;display:block}
.bh .fin-row .fin-select{flex:1;margin-bottom:0}
.bh .fin-select{position:relative;max-width:340px;margin-bottom:26px}
.bh .fin-select::after{content:'';position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:1.5px solid var(--mut);border-bottom:1.5px solid var(--mut);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.bh .fin-select select{appearance:none;-webkit-appearance:none;width:100%;font-family:var(--sans);font-size:.92rem;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:0;padding:13px 42px 13px 15px;cursor:pointer}
.bh .fin-select select:focus{outline:none;border-color:var(--acc)}
/* size buttons (enhanced from the size variation <select>) */
.bh .sizes{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}
.bh .size{font-family:var(--sans);font-size:.84rem;font-weight:600;padding:11px 17px;border:1px solid var(--line);background:#fff;cursor:pointer;min-width:78px;text-align:center;color:var(--ink)}
.bh .size.on{background:var(--acc);color:#fff;border-color:var(--acc)}
/* buy row */
.bh .buy{display:flex;gap:12px;align-items:stretch;margin-bottom:16px}
.bh .order-note{background:var(--cream);padding:16px 18px;margin-bottom:24px}
.bh .order-note b{display:flex;align-items:center;gap:10px;font-size:.86rem;font-weight:700;letter-spacing:.01em;color:var(--ink)}
.bh .order-note b svg{width:18px;height:18px;color:var(--ink);flex:0 0 auto;stroke-width:1.7}
.bh .order-note p{font-size:.77rem;color:var(--mut);margin-top:8px;line-height:1.5}
.bh .order-note p b{display:inline;font-weight:700;color:var(--ink);font-size:inherit}
.bh .qty{display:flex;align-items:center;border:1px solid var(--line)}
.bh .qty button{width:42px;height:50px;background:#fff;border:0;font-size:1.05rem;cursor:pointer;color:var(--ink)}
.bh .qty input{width:40px;height:50px;border:0;text-align:center;font-size:.95rem;font-family:var(--sans)}
.bh button.cart{flex:1;height:50px;background:var(--acc);color:#fff;border:0;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;cursor:pointer}
.bh button.cart:hover{background:var(--acc-d)}
.bh button.cart.disabled,.bh button.cart[disabled],.bh button.cart:disabled{opacity:.5;cursor:not-allowed}
/* WooCommerce form.cart also carries class "cart" — neutralize any inherited box styling */
.bh form.cart{background:none;height:auto;display:block}
.bh .variations{margin:0}
/* price is mirrored into the headline (#bh-price), so hide WooCommerce's duplicate variation price/description block */
.bh .single_variation{display:none !important}
.bh .reset_variations{display:inline-block;margin:0 0 18px;font-size:.7rem;color:var(--mut)}
.bh .wish{width:50px;height:50px;border:1px solid var(--line);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.bh .wish:hover{background:var(--cream)}
.bh .wish svg{width:18px;height:18px}
.bh .sku-line{font-size:.72rem;letter-spacing:.06em;color:var(--mut);margin:-10px 0 18px}
/* ===== generic section ===== */
.bh .section{padding:62px 0}
.bh .bg-cream{background:var(--cream)}
.bh .sec-head{max-width:640px;margin:0 0 34px}
.bh .sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.bh .sec-head h2{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:500;margin:8px 0 8px;line-height:1.2}
.bh .sec-head p{color:var(--mut);font-size:.92rem}
.bh .center{text-align:center}
/* about the brand */
.bh .about{display:grid;grid-template-columns:1fr 1.45fr;gap:48px;align-items:center}
.bh .about h2{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:500;margin:10px 0 16px;line-height:1.22}
.bh .about p{color:#555555;font-size:.9rem;margin-bottom:14px;max-width:42ch}
.bh .about .maker{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bh .about .maker img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#ddd}
/* technical specifications — collapsible */
.bh .spec-acc{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bh .spec-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 2px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.bh .spec-acc summary::-webkit-details-marker{display:none}
.bh .spec-acc summary::after{content:'+';font-size:1.25rem;line-height:1;color:var(--acc);font-weight:400}
.bh .spec-acc[open] summary::after{content:'\2013'}
.bh .spec-acc .acc-body{padding:2px 2px 26px}
.bh .spec-acc:not([open]) .acc-body{display:none}
.bh .info-spec{margin-top:6px}
.bh .info .specs{grid-template-columns:1fr;max-width:none}
.bh .info .spec-acc .acc-body{padding-bottom:18px}
.bh .specs{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;max-width:760px}
.bh .specs>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;border-bottom:1px solid var(--line)}
.bh .specs dt{font-size:.72rem;letter-spacing:.03em;color:var(--mut)}
.bh .specs dd{font-size:.76rem;text-align:right;color:var(--ink)}
@media(max-width:760px){.bh .specs{grid-template-columns:1fr;gap:0}}
/* finish rail */
.bh .rail{display:flex;gap:18px;overflow-x:auto;padding:2px 2px 20px;scroll-snap-type:x proximity}
.bh .rail::-webkit-scrollbar{height:6px}
.bh .rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.bh .fin-card{flex:0 0 auto;width:184px;cursor:pointer;scroll-snap-align:start}
.bh .fin-card .fi{position:relative;aspect-ratio:1/1;background:var(--paper);border:1px solid var(--line);overflow:hidden;margin-bottom:11px}
.bh .fin-card .fi img{width:100%;height:100%;object-fit:cover}
.bh .fin-card.on .fi{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
.bh .fin-card .fn{font-family:var(--serif);font-size:.96rem;font-weight:500;margin:3px 0 4px}
.bh .fin-card .fd{font-size:.74rem;color:var(--mut);line-height:1.4}
/* see it in real kitchens — lifestyle mosaic */
.bh .lifestyle{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.bh .lifestyle .gi{aspect-ratio:1/1;overflow:hidden;background:#eceae2}
.bh .lifestyle .gi img{width:100%;height:100%;object-fit:cover;display:block}
/* help bar */
.bh .help{background:var(--cream)}
.bh .help-in{display:flex;align-items:center;gap:26px;padding:26px 0}
.bh .help-in .team{width:84px;height:84px;object-fit:cover;flex:0 0 auto;background:#ccc}
.bh .help-in .htxt{flex:1}
.bh .help-in .htxt b{font-family:var(--serif);font-size:1.1rem;font-weight:500}
.bh .help-in .htxt p{font-size:.8rem;color:var(--mut)}
.bh .help-in .hopts{display:flex;gap:34px}
.bh .hopt{display:flex;gap:11px;align-items:center}
.bh .hopt svg{width:20px;height:20px;color:var(--acc)}
.bh .hopt b{display:block;font-size:.74rem}
.bh .hopt span{font-size:.72rem;color:var(--mut)}
/* you may also like */
.bh .ymal-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px}
.bh .ymal-arws{display:flex;gap:8px}
.bh .ymal-arws button{width:34px;height:34px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center}
.bh .ymal-arws button:hover{background:var(--cream)}
.bh .ymal{display:flex;gap:22px;overflow-x:auto;scroll-behavior:smooth;padding-bottom:6px}
.bh .ymal::-webkit-scrollbar{height:6px}
.bh .ymal::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.bh .pcard{flex:0 0 auto;width:200px}
.bh .pcard a{text-decoration:none}
.bh .pcard .fr{position:relative;aspect-ratio:1/1;background:#faf9f6;border:1px solid var(--line);overflow:hidden;margin-bottom:11px}
.bh .pcard .fr img{width:100%;height:100%;object-fit:cover}
.bh .pcard .fr .h{position:absolute;top:9px;right:9px;color:var(--mut)}
.bh .pcard .fr .h svg{width:16px;height:16px}
.bh .pcard .pb{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.bh .pcard h3{font-family:var(--serif);font-size:.96rem;font-weight:500;margin:3px 0 4px}
.bh .pcard .pr{font-size:.8rem}
/* footer — matches dev.bradfordhardware.com */
.bh .site-footer{background:var(--dark);color:#c4c4c4}
.bh .foot-grid{max-width:1180px;margin:0 auto;padding:52px 28px 48px;display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.bh .foot-col h4{color:#fff;font-family:var(--sans);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;font-weight:600}
.bh .foot-col a{display:block;color:#c4c4c4;font-size:.88rem;margin-bottom:10px;text-decoration:none;transition:.2s}
.bh .foot-col a:hover{color:#fff}
.bh .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 28px;max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;font-size:.78rem;letter-spacing:.06em;color:#c4c4c4}
.bh .foot-addr{font-size:.82rem;color:#c4c4c4}
.bh .foot-right{display:flex;align-items:center;gap:18px}
.bh .socials{display:flex;gap:10px}
.bh .soc{width:34px;height:34px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;color:#cccccc;text-decoration:none}
.bh .to-top{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;color:#cccccc;font-size:1.05rem;text-decoration:none;cursor:pointer}
@media(max-width:900px){.bh .foot-grid{grid-template-columns:1fr 1fr}.bh .foot-bottom{flex-direction:column;gap:12px;text-align:center}}
@media(max-width:980px){.bh .about{grid-template-columns:1fr}.bh .help-in{flex-wrap:wrap}}
@media(max-width:760px){.bh .lifestyle{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.bh .pdp{grid-template-columns:1fr;gap:30px}}

/* ---- Bradford Support (closing PDP section) ---- */
.bh .support{max-width:680px;margin:0 auto;text-align:center}
.bh .support h2{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:500;margin:8px 0 12px}
.bh .support-sub{color:var(--mut);font-size:.92rem;margin-bottom:26px}
.bh .support-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.bh .btn{display:inline-block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:14px 30px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;background:transparent;cursor:pointer;transition:.2s}
.bh .btn:hover{background:var(--ink);color:#fff}
.bh .btn-fill{background:var(--acc);color:#fff;border-color:var(--acc)}
.bh .btn-fill:hover{background:var(--acc-d);color:#fff}
.bh .support-contact{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;font-size:.82rem;color:var(--mut)}
.bh .support-contact span{display:inline-flex;align-items:center;gap:8px}
.bh .support-contact svg{width:16px;height:16px}
.bh .support-contact .sep{color:var(--line)}

/* ---- Buy-row hardening: beat third-party theme + WooCommerce button styles ---- */
.bh .buy button.cart,
.bh .info button.cart.single_add_to_cart_button,
.bh .woocommerce-variation-add-to-cart button.cart{
	flex:1 1 auto;min-width:0;height:50px!important;line-height:1!important;
	background:var(--acc)!important;color:#fff!important;border:0!important;border-radius:0!important;
	font-family:var(--sans)!important;font-size:.74rem!important;letter-spacing:.18em!important;
	text-transform:uppercase!important;font-weight:600!important;white-space:nowrap!important;
	padding:0 18px!important;box-shadow:none!important;text-shadow:none!important;width:auto!important;
}
.bh .buy button.cart:hover,.bh .info button.cart.single_add_to_cart_button:hover{background:var(--acc-d)!important}
.bh .wish{flex:0 0 auto;width:50px!important;height:50px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:0!important;color:var(--ink)!important;padding:0!important;box-shadow:none!important}
.bh .wish:hover{background:var(--cream)!important}
.bh .qty{flex:0 0 auto}
.bh .qty button,.bh .qty input{border-radius:0!important;box-shadow:none!important;-webkit-appearance:none;appearance:none;font-size:1rem!important;background:#fff!important;color:var(--ink)!important}
