/* Bag n Fable Site Tweaks: styles. Loaded after the shop and header styles. */

/* ---------- H4 colour swatches ---------- */
.bnf-sw{margin:14px 0 6px}
.bnf-sw-h{margin:0 0 8px!important;font-family:var(--bnf-ui,inherit);font-size:12px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--bnf-muted,#6b6158)}
.bnf-sw-h strong{color:var(--bnf-ink,#2a2420);font-weight:500;letter-spacing:.06em}
.bnf-sw-n{margin-left:6px;text-transform:none;letter-spacing:0;color:var(--bnf-muted,#6b6158)}
.bnf-sw-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none!important;margin:0!important;padding:0!important}
.bnf-sw-list li{margin:0!important;padding:0!important}
.bnf-sw-a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--bnf-line,#e2d8cb);background:#fff;transition:border-color .15s}
.bnf-sw-a:hover{border-color:var(--bnf-tan,#b5804c)}
.bnf-sw-a.is-on{border:2px solid var(--bnf-ink,#2a2420)}
.bnf-sw-dot{display:block;width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.bnf-sw-also{margin:10px 0 0!important;font-size:13.5px!important;color:var(--bnf-ink-soft,#4a413a)}
.bnf-sw-also a{color:var(--bnf-cognac,#9a4a1f)!important;text-decoration:underline;text-underline-offset:2px}

/* ---------- M1 size buttons ---------- */
select.bnf-size-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.bnf-sizes{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:2px 0 4px}
.bnf-size{display:flex!important;flex-direction:column;align-items:flex-start;gap:3px;min-height:52px;padding:10px 14px!important;background:#fff!important;color:var(--bnf-ink,#2a2420)!important;border:1px solid var(--bnf-line,#d9cdbd)!important;border-radius:var(--bnf-r,6px)!important;cursor:pointer;text-align:left;font-family:var(--bnf-ui,inherit)!important;text-transform:none!important;letter-spacing:0!important}
.bnf-size:hover{border-color:var(--bnf-tan,#b5804c)!important}
.bnf-size.is-on{border:2px solid var(--bnf-ink,#2a2420)!important;padding:9px 13px!important}
.bnf-size:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.bnf-size-name{font-size:14.5px;font-weight:500}
.bnf-size-note{font-size:12px;color:var(--bnf-muted,#6b6158);line-height:1.35}
.bnf-size-msg{margin:8px 0 0!important;font-size:13px!important;color:var(--bnf-sale,#a3311f)!important}
.bnf-shop .bnf-buynow.is-wait,.bnf-buynow.is-wait{opacity:.55!important}
.reset_variations{font-size:12px!important}

/* ---------- H3 / M13 one portrait shape for pictures ---------- */
.woocommerce ul.products li.product-category a img,
.bnf-shop ul.products li.product-category a img{aspect-ratio:4/5!important;width:100%!important;height:auto!important;object-fit:cover!important;object-position:center 40%!important}
/* 1.1.0: product cards and the product gallery show the whole picture (no cut top/bottom), on the photo's own light background, cards stay the same height */
.woocommerce ul.products li.product a img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product a img.attachment-woocommerce_single,
.woocommerce ul.products li.product a img.wp-post-image,
.bnf-shop ul.products li.product a.woocommerce-loop-image-link img{aspect-ratio:4/5!important;width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important;background:#ECE8E3!important}
.woocommerce-product-gallery .woocommerce-product-gallery__image img{aspect-ratio:4/5;object-fit:contain;height:auto!important;background:#ECE8E3}
.woocommerce-product-gallery .flex-control-thumbs img{aspect-ratio:4/5;object-fit:cover}

/* ---------- M2 product page ---------- */
.single-product .product_meta .posted_in{display:none!important}
.single-product .product_meta .sku_wrapper{color:#5f564e!important}
.wc-block-components-product-metadata__description,
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata{display:none!important}

/* ---------- M4 header row ---------- */
.bnf-nav-outer,.bnf-nav{align-items:center!important}

/* ---------- L9 cart: no lonely "OR" ---------- */
.wc-block-components-express-payment--cart:not(:has(iframe)),
.wc-block-components-express-payment--cart:not(:has(iframe)) + .wc-block-components-express-payment-continue-rule{display:none!important}

/* ---------- H5 checkout: full width express button ---------- */
.wc-block-components-express-payment__event-buttons{display:block!important;width:100%!important}
.wc-block-components-express-payment__event-buttons > *{width:100%!important;max-width:none!important;min-width:0!important}
.wc-block-components-express-payment__event-buttons .StripeElement{width:100%!important}

/* ---------- L11 contrast ---------- */
em.ok{color:#4d6a49!important}

/* ---------- L12 / L7 help blocks ---------- */
.bnf-help{margin:18px 0 32px;font-family:var(--bnf-ui,inherit)}
.bnf-help-lead{margin:0 0 12px!important;color:var(--bnf-ink-soft,#4a413a)}
.bnf-help-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px!important}
.bnf-help-chip{display:inline-block;padding:9px 16px;border:1px solid var(--bnf-line,#d9cdbd);border-radius:999px;color:var(--bnf-ink,#2a2420)!important;text-decoration:none!important;font-size:14px;background:#fff}
.bnf-help-chip:hover{border-color:var(--bnf-cognac,#9a4a1f);color:var(--bnf-cognac,#9a4a1f)!important}
.bnf-help-h{font-size:22px!important;margin:26px 0 14px!important}
.error-404 .entry-content-wrap,.error .entry-content-wrap{font-family:var(--bnf-ui,inherit)}

/* ---------- M2 description + "At a glance" card ---------- */
@media(min-width:1000px){
 .bnf-shop .bnf-pd,.bnf-pd{grid-template-columns:minmax(0,720px) minmax(330px,400px)!important;justify-content:start!important;gap:56px!important}
 .bnf-pd-main{max-width:none!important}
}
.bnf-pd-card .bnf-spec{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important}
.bnf-pd-card .bnf-spec th{width:38%!important;text-align:left!important;padding-right:12px!important;vertical-align:top!important;font-weight:500!important;color:var(--bnf-muted,#6b5a4a)!important}
.bnf-pd-card .bnf-spec td{text-align:left!important;vertical-align:top!important;color:var(--bnf-ink,#241A14)!important}
.bnf-pd-card .bnf-spec tr+tr th,.bnf-pd-card .bnf-spec tr+tr td{border-top:1px solid var(--bnf-line,#E6DDD0)!important}

/* ---------- M3 mobile: less chrome above the product ---------- */
@media(max-width:600px){
 .bnf-announce .bnf-wrap{min-height:30px!important;padding-top:6px!important;padding-bottom:6px!important}
 .bnf-announce p{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
 .bnf-announce .bnf-ann-2{display:none!important}
 .bnf-trust ul{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .bnf-trust ul::-webkit-scrollbar{display:none}
 .bnf-trust li{flex:0 0 auto!important;white-space:nowrap!important;scroll-snap-align:start;padding:8px 12px!important}
 .bnf-crumbs{padding:10px 0 2px!important;font-size:12.5px!important}
 .bnf-crumbs ol{flex-wrap:nowrap!important;white-space:nowrap!important;overflow:hidden!important}
 .bnf-crumbs li{flex:0 0 auto!important}
 .bnf-crumbs li:last-child{flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
 .single-product .bnf-crumbs li:last-child{display:none!important}
}

/* ---------- L8 article tables in brand colours ---------- */
.single-post .entry-content table,.single-post .wp-block-table table{border-collapse:collapse!important;width:100%!important;border:1px solid var(--bnf-line,#E6DDD0)!important;background:var(--bnf-cream,#FFFDF9)!important;font-size:15px!important}
.single-post .entry-content table th,.single-post .entry-content table td{border:0!important;border-bottom:1px solid var(--bnf-line,#E6DDD0)!important;padding:10px 14px!important;text-align:left!important;vertical-align:top!important;color:var(--bnf-ink-soft,#4A3A2E)!important}
.single-post .entry-content table thead th,.single-post .entry-content table tr:first-child th{background:var(--bnf-sand,#F6F1E9)!important;color:var(--bnf-ink,#241A14)!important;font-weight:500!important}
.single-post .entry-content table a{color:var(--bnf-cognac,#9a4a1f)!important}
.single-post .wp-block-table{border:0!important}
.single-post .wp-block-table thead{border-bottom:0!important}

/* ---------- L10 close buttons big enough to tap ---------- */
.bnf-drawer [data-bnf-drawer-close],button[data-bnf-drawer-close].bnf-act{width:44px!important;height:44px!important;min-width:44px!important}
[data-bnf-drawer-close] .bnf-i{width:24px!important;height:24px!important;stroke-width:1.9!important;color:var(--bnf-ink,#241A14)!important}
.bnf-mc-close{min-width:44px!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:30px!important}

/* M3 home on phones: picture first, then the words; the three small points are already in the bar above. */
@media(max-width:899px){
 .bnf-hero-in{display:flex!important;flex-direction:column!important}
 .bnf-hero-media{order:-1!important;min-height:0!important;aspect-ratio:4/3!important}
 .bnf-hero-copy{padding:26px 16px 34px!important}
 .bnf-hero-sub{margin-bottom:22px!important}
 .bnf-hero-cta{margin-bottom:0!important}
 .bnf-hero-meta{display:none!important}
}

/* ===== 1.1.0 ===== */

/* Zoom: Amazon style side view on desktop. */
.bnf-zoom-pane{position:absolute;z-index:9990;display:none;background-color:#F5EFE6;background-repeat:no-repeat;border:1px solid var(--bnf-line,#E6DCCF);border-radius:10px;box-shadow:0 18px 50px rgba(36,26,20,.18);pointer-events:none}
.bnf-zoom-lens{position:absolute;z-index:9989;display:none;background:rgba(255,253,249,.28);border:1px solid rgba(36,26,20,.35);box-shadow:0 0 0 9999px rgba(255,253,249,.06);pointer-events:none}
.bnf-zoom-pane.is-on,.bnf-zoom-lens.is-on{display:block}
@media (hover:hover) and (pointer:fine) and (min-width:1000px){.single-product .woocommerce-product-gallery__image img{cursor:crosshair}}
.single-product .woocommerce-product-gallery__trigger{z-index:5}

/* Card hover: the theme slides the text block up 32px on hover, but the model label ("THE LEYBURN") sits outside that block and stays put, so the title slid over it. Keep the text still. */
.woocommerce ul.products li.product:hover .product-details,
.woocommerce ul.products li.product .product-details{transform:none!important}

/* Header: the theme's default list margin (25px under every <ul>) pushed the main menu above the logo and icons. */
.bnf-header .bnf-nav,.bnf-header .bnf-nav-outer{margin:0!important;align-self:center!important}
.bnf-header .bnf-header-in{align-items:center!important}
.bnf-header .bnf-nav>li{display:flex!important;align-items:center!important}
/* The small gold dot after "Personalized" was a design accent from the header plugin; it sat after the arrow and read as a stray mark. Keep the cognac colour, drop the dot. */
.bnf-hl>.bnf-nav-top::after{content:none!important;display:none!important}

/* Spacing: the theme puts 80px above and below the content of every page (plus extra padding in the shop top row). Content now starts right under the title / breadcrumb. */
body:not(.home) .content-area{margin-top:24px!important;margin-bottom:56px!important}
body:not(.home) .entry-hero .entry-hero-container-inner{padding-top:0!important;padding-bottom:0!important}
body:not(.home) .entry-hero{padding-top:30px!important;padding-bottom:28px!important}
.woocommerce-products-header{padding-top:0!important;margin-bottom:0!important}
.kadence-shop-top-row{padding-bottom:16px!important;margin-bottom:20px!important}
.single-product div.product,.single-product .entry-content-wrap{padding-top:0!important}
.single-product .bnf-crumbs{padding-bottom:0!important}
body:not(.home) .entry-content-wrap>.entry-header:first-child{margin-bottom:16px!important}
.single-post .entry-header,.page .entry-header{margin-top:0!important}
@media(max-width:767px){
 body:not(.home) .content-area{margin-top:14px!important;margin-bottom:40px!important}
 body:not(.home) .entry-hero{padding-top:20px!important;padding-bottom:18px!important}
 .kadence-shop-top-row{margin-bottom:14px!important}
}
/* 1.1.0: picture lightbox always sits above the sticky header and the sticky add-to-cart bar */
.pswp{z-index:2147483000!important}
/* 1.1.0: guide, article and info pages - smaller title band and less air before the text */
body:not(.home) .bnf-page-hero{padding:40px 0 42px!important}
body:not(.home) .bnf-page{padding:44px 0 64px!important}
/* 1.1.0: My account (login form) was touching the screen edges */
body.woocommerce-account .entry-content>.woocommerce{max-width:1180px;margin:32px auto 64px;padding:0 24px;box-sizing:border-box}
@media (max-width:767px){
 body:not(.home) .bnf-page-hero{padding:26px 0 28px!important}
 body:not(.home) .bnf-page{padding:28px 0 44px!important}
 body.woocommerce-account .entry-content>.woocommerce{margin:20px auto 40px;padding:0 16px}
}
