/*
Theme Name: BLUEK Storefront
Theme URI: https://bluekwatch.jp/
Author: BLUEK WATCH COMPANY
Description: 日本向け腕時計・ブランドアイテムのオンラインストア。既存商品を保持したまま更新できます。
Version: 1.3.2
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: bluek-storefront
License: GPL-2.0-or-later
*/
:root { --bks-ink: #24231f; --bks-muted: #69665f; --bks-line: #e4e0d8; --bks-soft: #f6f4ef; --bks-paper: #fff; --bks-gold: #8b7043; --bks-error: #a12b30; --bks-max: 1320px; --bks-radius: 3px; --bks-header: 88px; --bks-button-hover: #48443b; --bks-button-active: #171612; --bks-button-disabled: #e7e4dc; --bks-button-disabled-ink: #69665f; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 110px; scrollbar-gutter: stable; }
body { margin: 0; background: var(--bks-paper); color: var(--bks-ink); font-family: -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; font-size: 16px; line-height: 1.8; -webkit-text-size-adjust: 100%; overflow-wrap: break-word; }
img, svg, video { max-width: 100%; height: auto; }
img { vertical-align: middle; }
a { color: inherit; text-decoration: none; text-underline-offset: 5px; }
a:hover { color: var(--bks-gold); }
button, input, select, textarea { font: inherit; color: inherit; }
button, a, input, select, textarea { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled, [aria-disabled=true] { cursor: not-allowed; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--bks-gold); outline-offset: 4px; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { line-height: 1.5; color: var(--bks-ink); font-weight: 600; }
h1 { font-size: clamp(26px,3vw,40px); }
h2 { font-size: clamp(22px,2vw,30px); }
h3 { font-size: 20px; }
p { margin-bottom: 1em; }
small, .bks-help { font-size: 13px; color: var(--bks-muted); line-height: 1.8; }
.bks-help { margin: 8px 0 16px; }
.screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; border: 0 !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; overflow: hidden !important; white-space: nowrap !important; }
.bks-skip:focus { z-index: 100000; width: auto !important; height: auto !important; clip: auto !important; clip-path: none !important; padding: 12px !important; background: #fff; }
.bks-container { width: min(calc(100% - 80px),var(--bks-max)); margin-inline: auto; }
.bks-main { padding-top: 24px; padding-bottom: 80px; min-height: 50vh; }
.bks-section { padding-block: 64px; }
.bks-section+.bks-section { padding-top: 16px; }
.bks-soft { background: var(--bks-soft); }
.bks-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.bks-section-heading h2 { margin: 0; }
.bks-section-heading>a { font-size: 14px; flex-shrink: 0; text-decoration: underline; }
.bks-page-heading { margin: 22px 0 36px; }
.bks-page-heading h1 { margin-bottom: 12px; }
.bks-page-heading p { color: var(--bks-muted); }
.bks-breadcrumb { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: var(--bks-muted); font-size: 13px; }
.bks-breadcrumb a { text-decoration: underline; }
.bks-underlined { text-decoration: underline; }
.bks-tax-intro { max-width: 900px; font-size: 16px; line-height: 1.9; }
.bks-tax-intro p:last-child { margin-bottom: 0; }
/* Shared control states. Layout remains in each component; WooCommerce's alternate,
   disabled and loading colours never supply the storefront palette. */
.bks-button, .bks-storefront .wc-block-components-button, .bks-storefront .wp-element-button, .bks-storefront .wp-block-button__link, .bks-storefront .woocommerce a.button, .bks-storefront .woocommerce button.button, .bks-storefront .woocommerce input.button, .bks-storefront .woocommerce #respond input#submit, .bks-storefront .woocommerce .button.alt, .bks-storefront .woocommerce .button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 48px; max-width: 100%; padding: 12px 24px; border: 1px solid var(--bks-ink); border-radius: var(--bks-radius); font-size: 16px; font-weight: 500; line-height: 1.5; text-align: center; white-space: normal; box-shadow: none; text-decoration: none; transition: background-color .14s,color .14s,border-color .14s; }
body.bks-storefront :is(a,button,input):is(.bks-button,.button,.wp-element-button,.wp-block-button__link,.wc-block-components-button),
body.bks-storefront .woocommerce :is(a,button,input).button.alt,
body.bks-storefront.woocommerce-page :is(a,button,input).button.alt,
body.bks-storefront .woocommerce #respond input#submit { --bks-control-bg: var(--bks-ink); --bks-control-ink: #fff; --bks-control-line: var(--bks-ink); --bks-control-hover: var(--bks-button-hover); --bks-control-active: var(--bks-button-active); --bks-control-hover-ink: #fff; --bks-control-opacity: 1; --bks-control-cursor: pointer; }
body.bks-storefront :is(a,button,input):is(.bks-button,.button,.wp-element-button,.wp-block-button__link,.wc-block-components-button).bks-button-outline,
body.bks-storefront .woocommerce :is(a,button,input).button.alt.bks-button-outline,
body.bks-storefront.woocommerce-page :is(a,button,input).button.alt.bks-button-outline,
body.bks-storefront .woocommerce #respond input#submit.bks-button-outline { --bks-control-bg: var(--bks-paper); --bks-control-ink: var(--bks-ink); --bks-control-hover: var(--bks-soft); --bks-control-active: #e9e5dc; --bks-control-hover-ink: var(--bks-ink); }
@media (hover: hover) and (pointer: fine) {
body.bks-storefront :is(a,button,input):is(.bks-button,.button,.wp-element-button,.wp-block-button__link,.wc-block-components-button):hover,
body.bks-storefront .woocommerce :is(a,button,input).button.alt:hover,
body.bks-storefront.woocommerce-page :is(a,button,input).button.alt:hover,
body.bks-storefront .woocommerce #respond input#submit:hover { --bks-control-bg: var(--bks-control-hover); --bks-control-ink: var(--bks-control-hover-ink); }
}
body.bks-storefront :is(a,button,input):is(.bks-button,.button,.wp-element-button,.wp-block-button__link,.wc-block-components-button):active,
body.bks-storefront .woocommerce :is(a,button,input).button.alt:active,
body.bks-storefront.woocommerce-page :is(a,button,input).button.alt:active,
body.bks-storefront .woocommerce #respond input#submit:active { --bks-control-bg: var(--bks-control-active); --bks-control-ink: var(--bks-control-hover-ink); }
body.bks-storefront :is(a,button,input):is(.bks-button,.button,.wp-element-button,.wp-block-button__link,.wc-block-components-button):is(:disabled,.disabled,[aria-disabled="true"]),
body.bks-storefront .woocommerce :is(a,button,input).button.alt:is(:disabled,.disabled,[aria-disabled="true"]),
body.bks-storefront.woocommerce-page :is(a,button,input).button.alt:is(:disabled,.disabled,[aria-disabled="true"]),
body.bks-storefront .woocommerce #respond input#submit:is(:disabled,.disabled,[aria-disabled="true"]) { --bks-control-bg: var(--bks-button-disabled); --bks-control-ink: var(--bks-button-disabled-ink); --bks-control-line: var(--bks-button-disabled); --bks-control-cursor: not-allowed; }
body.bks-storefront :is(a,button,input):is(.bks-button,.button,.wp-element-button,.wp-block-button__link,.wc-block-components-button):is(.is-loading,.loading,[aria-busy="true"]),
body.bks-storefront .woocommerce :is(a,button,input).button.alt:is(.is-loading,.loading,[aria-busy="true"]),
body.bks-storefront.woocommerce-page :is(a,button,input).button.alt:is(.is-loading,.loading,[aria-busy="true"]),
body.bks-storefront .woocommerce #respond input#submit:is(.is-loading,.loading,[aria-busy="true"]) { --bks-control-bg: var(--bks-ink); --bks-control-ink: #fff; --bks-control-line: var(--bks-ink); --bks-control-cursor: progress; }
body.bks-storefront :is(a,button,input):is(.bks-button,.button,.wp-element-button,.wp-block-button__link,.wc-block-components-button).bks-button-outline:is(.is-loading,.loading,[aria-busy="true"]),
body.bks-storefront .woocommerce :is(a,button,input).button.alt.bks-button-outline:is(.is-loading,.loading,[aria-busy="true"]),
body.bks-storefront.woocommerce-page :is(a,button,input).button.alt.bks-button-outline:is(.is-loading,.loading,[aria-busy="true"]),
body.bks-storefront .woocommerce #respond input#submit.bks-button-outline:is(.is-loading,.loading,[aria-busy="true"]) { --bks-control-bg: var(--bks-soft); --bks-control-ink: var(--bks-ink); --bks-control-line: var(--bks-ink); }
body.bks-storefront :is(a,button,input):is(.bks-button,.button,.wp-element-button,.wp-block-button__link,.wc-block-components-button),
body.bks-storefront .woocommerce :is(a,button,input).button.alt,
body.bks-storefront.woocommerce-page :is(a,button,input).button.alt,
body.bks-storefront .woocommerce #respond input#submit,
body.bks-storefront :is(a,button,input):is(.bks-button,.button,.wp-element-button,.wp-block-button__link,.wc-block-components-button):is(:hover,:focus,:active,:disabled,.disabled,.loading,.is-loading,[aria-busy="true"],[aria-disabled="true"],:disabled:hover,.disabled:hover,:disabled[disabled]),
body.bks-storefront .woocommerce :is(a,button,input).button.alt:is(:hover,:focus,:active,:disabled,.disabled,.loading,.is-loading,[aria-busy="true"],[aria-disabled="true"],:disabled:hover,.disabled:hover,:disabled[disabled]),
body.bks-storefront.woocommerce-page :is(a,button,input).button.alt:is(:hover,:focus,:active,:disabled,.disabled,.loading,.is-loading,[aria-busy="true"],[aria-disabled="true"],:disabled:hover,.disabled:hover,:disabled[disabled]),
body.bks-storefront .woocommerce #respond input#submit:is(:hover,:focus,:active,:disabled,.disabled,.loading,.is-loading,[aria-busy="true"],[aria-disabled="true"],:disabled:hover,.disabled:hover,:disabled[disabled]) { background: var(--bks-control-bg); color: var(--bks-control-ink); border-color: var(--bks-control-line); opacity: var(--bks-control-opacity); cursor: var(--bks-control-cursor); box-shadow: none; text-shadow: none; -webkit-tap-highlight-color: rgba(36,35,31,.12); }
.bks-text-button { border: 0; background: none; padding: 6px 0; min-height: 44px; text-decoration: underline; font-size: 14px; }
.bks-icon-button { display: inline-flex; align-items: center; justify-content: center; position: relative; flex: none; width: 44px; height: 44px; min-height: 44px; padding: 9px; border: 0; background: none; border-radius: 0; }
.bks-icon { display: block; width: 24px; height: 24px; flex: none; }
.bks-storefront :is(.bks-icon-button,.bks-text-button,.bks-sort-button) { color: var(--bks-ink); -webkit-tap-highlight-color: rgba(36,35,31,.12); }
@media (hover: hover) and (pointer: fine) {
  .bks-storefront :is(.bks-icon-button,.bks-text-button,.bks-sort-button):hover { background: var(--bks-soft); color: var(--bks-ink); }
}
.bks-storefront :is(.bks-icon-button,.bks-text-button,.bks-sort-button):active { background: #e9e5dc; color: var(--bks-ink); }
.bks-storefront :is(.bks-icon-button,.bks-text-button,.bks-sort-button):is(:disabled,[aria-disabled="true"]) { background: transparent; color: var(--bks-muted); opacity: .45; cursor: not-allowed; }
.bks-storefront :is(.bks-icon-button,.bks-text-button,.bks-sort-button):is(.is-loading,[aria-busy="true"]) { background: var(--bks-soft); color: var(--bks-ink); opacity: 1; cursor: progress; }
.bks-kicker { font-size: 14px; letter-spacing: .1em; color: var(--bks-gold); }
.bks-header { position: sticky; top: 0; z-index: 1000; background: #fff; border-bottom: 1px solid var(--bks-line); }
.admin-bar .bks-header { top: 32px; }
.bks-header-inner { display: grid; grid-template-columns: minmax(220px,1fr) auto auto; gap: 32px; align-items: center; min-height: var(--bks-header); }
.bks-logo { min-width: 0; max-width: 300px; line-height: 1.5; }
.bks-logo img { width: auto; max-width: 100%; max-height: 52px; }
.bks-logo>span { font-weight: 600; font-size: 18px; letter-spacing: .02em; }
.bks-nav { display: flex; gap: 28px; align-items: center; }
.bks-nav a { font-size: 15px; white-space: nowrap; padding-block: 18px; }
.bks-header-actions { display: flex; align-items: center; gap: 2px; }
.bks-bag-count { position: absolute; right: 1px; top: 1px; min-width: 17px; height: 17px; padding: 0 3px; background: var(--bks-ink); border-radius: 10px; color: white; font-size: 12px; line-height: 17px; text-align: center; }
.bks-menu-button { display: none; }
.bks-hero { background: #eeeae0; }
.bks-hero-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 520px; align-items: center; gap: 44px; }
.bks-hero-copy { padding-block: 56px; }
.bks-hero-copy h1 { font-family: "Yu Mincho","Hiragino Mincho ProN",serif; font-weight: 500; font-size: clamp(34px,4.4vw,60px); line-height: 1.6; letter-spacing: .06em; margin: 0 0 22px; }
.bks-hero-copy>p:not(.bks-kicker) { line-height: 2; margin-bottom: 30px; }
.bks-hero-visual { align-self: stretch; min-width: 0; display: flex; align-items: center; justify-content: center; }
.bks-hero-visual img { width: 100%; height: 100%; max-height: 580px; object-fit: cover; }
.bks-hero-type { font-family: "Yu Mincho",serif; font-size: 64px; line-height: 1.8; color: var(--bks-gold); padding: 32px; }
.bks-category-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.bks-category-links a { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 18px 20px; border: 1px solid var(--bks-line); min-height: 64px; font-size: 16px; background: #fff; }
.bks-category-links a:hover { border-color: var(--bks-gold); }
.bks-category-links a>span { flex: none; }
.bks-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 26px; }
.bks-chips a { display: inline-flex; align-items: center; min-height: 42px; max-width: 100%; padding: 8px 16px; border: 1px solid var(--bks-line); background: #fff; font-size: 14px; line-height: 1.5; border-radius: var(--bks-radius); }
.bks-chips a:hover { border-color: var(--bks-gold); }
.bks-products, .bks-storefront .woocommerce ul.products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 36px 24px; margin: 0; padding: 0; list-style: none; }
.bks-products::before, .bks-products::after, .bks-storefront .woocommerce ul.products::before, .bks-storefront .woocommerce ul.products::after { display: none; }
.bks-product-card, .bks-storefront .woocommerce ul.products li.product { float: none; width: auto; margin: 0; min-width: 0; text-align: left; }
.bks-product-card>a { display: block; }
.bks-product-image { aspect-ratio: 1; background: #f8f7f4; overflow: hidden; margin-bottom: 16px; }
.bks-product-image img { width: 100%; height: 100%; object-fit: contain; }
.bks-product-card h3, .bks-storefront .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; line-height: 1.75; font-weight: 400; margin: 0 0 10px; padding: 0; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bks-product-card a:hover h3 { text-decoration: underline; }
.bks-storefront .price, .bks-storefront .woocommerce .price, .bks-storefront .woocommerce ul.products li.product .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 10px; color: var(--bks-ink); font-size: 18px; font-weight: 600; line-height: 1.5; margin: 8px 0 0; }
.bks-storefront .price del { color: var(--bks-muted); font-size: 14px; font-weight: 400; opacity: 1; text-decoration: line-through; }
.bks-storefront .price del .woocommerce-Price-amount { text-decoration: line-through; }
.bks-storefront .price ins .woocommerce-Price-amount { text-decoration: none; }
.bks-storefront .price ins { font-weight: 600; color: var(--bks-ink); background: transparent; text-decoration: none; }
.bks-storefront .price .woocommerce-Price-amount { display: inline-block; white-space: nowrap; }
.bks-storefront .price .woocommerce-price-suffix { font-size: 12px; font-weight: 400; color: var(--bks-muted); }
.bks-recommendations { padding-block: 42px; border-top: 1px solid var(--bks-line); margin-top: 40px; }
.bks-home-brands { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.bks-home-brands a { display: flex; flex-direction: column; align-items: center; text-align: center; background: #fff; padding: 20px; min-width: 0; }
.bks-home-brands img { width: 100%; aspect-ratio: 1; object-fit: contain; max-height: 200px; margin-bottom: 16px; }
.bks-home-brands span { font-size: 16px; line-height: 1.6; }
.bks-brand-index { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.bks-brand-index a { padding: 22px; border: 1px solid var(--bks-line); display: flex; justify-content: space-between; gap: 12px; }
.bks-home-search { max-width: 820px; margin-inline: auto; text-align: center; }
.bks-home-search .bks-chips { justify-content: center; }
.bks-search-form { display: flex; align-items: center; gap: 10px; border: 1px solid var(--bks-line); background: #fff; padding: 6px 8px 6px 18px; width: 100%; margin: 16px 0; }
.bks-search-form input[type=search] { width: 100%; min-width: 0; min-height: 46px; border: 0; border-radius: 0; box-shadow: none; background: transparent; padding: 8px 0; font-size: 16px; }
.bks-search-form input:focus { outline-offset: 2px; }
.bks-search-form button { flex: none; }
.bks-home-price { text-align: center; margin-top: 40px; }
.bks-home-price .bks-chips { justify-content: center; }
.bks-guide-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.bks-guide-grid>a { padding: 20px 0; }
.bks-guide-grid h3 { font-size: 18px; }
.bks-guide-grid p { font-size: 14px; line-height: 1.9; color: var(--bks-muted); margin-bottom: 0; }
.bks-home-faq { max-width: 1000px; }
.bks-home-faq details { border-bottom: 1px solid var(--bks-line); padding: 18px 0; }
.bks-home-faq summary { cursor: pointer; min-height: 30px; padding-right: 8px; }
.bks-home-faq details p { margin: 16px 0 0; color: var(--bks-muted); }
.bks-home-about { text-align: center; border-top: 1px solid var(--bks-line); padding-bottom: 80px; }
.bks-home-about h2 { font-family: "Yu Mincho",serif; font-weight: 500; }
.bks-home-about p { color: var(--bks-muted); line-height: 2; }
.bks-footer { background: #eeebe4; padding-top: 54px; border-top: 1px solid var(--bks-line); }
.bks-footer-grid { display: grid; grid-template-columns: 1.7fr 1fr 1.2fr 1.3fr; gap: 36px; }
.bks-footer h2 { font-size: 18px; margin-bottom: 20px; }
.bks-footer h3 { font-size: 16px; margin-bottom: 18px; }
.bks-footer p { font-size: 14px; line-height: 1.9; color: var(--bks-muted); }
.bks-footer-grid>div>a { display: block; font-size: 14px; padding: 6px 0; line-height: 1.7; overflow-wrap: anywhere; }
.bks-footer-bottom { margin-top: 44px; padding-block: 22px; border-top: 1px solid #d8d3c8; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-size: 12px; color: var(--bks-muted); }
.bks-social { display: flex; gap: 16px; margin-top: 24px; }
.bks-social>span { display: block; padding: 4px; }
.bks-footer a:hover { text-decoration: underline; }
.bks-dialog { position: fixed; margin: auto; border: 0; padding: 0; background: #fff; color: var(--bks-ink); box-shadow: 0 10px 80px #0002; max-width: calc(100vw - 40px); max-height: calc(100dvh - 40px); width: 1000px; overflow: auto; overscroll-behavior: contain; border-radius: 4px; }
.bks-dialog[open] { animation: bks-enter .14s ease-out; }
.bks-dialog::backdrop { background: rgba(0,0,0,.4); }
.bks-dialog-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 28px; border-bottom: 1px solid var(--bks-line); position: sticky; top: 0; background: #fff; z-index: 2; }
.bks-dialog-header h2 { font-size: 22px; margin: 0; }
.bks-dialog-body { padding: 24px 28px 32px; }
.bks-bag-dialog { left: auto; right: 0; top: 0; bottom: 0; margin: 0; width: 490px; max-width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; }
.bks-discovery-block { margin-top: 28px; }
.bks-discovery-block h3 { font-size: 17px; margin-bottom: 14px; }
.bks-discovery-block .bks-category-links { grid-template-columns: repeat(3,minmax(0,1fr)); }
.bks-discovery-block .bks-category-links a { font-size: 14px; min-height: 52px; padding: 12px 14px; }
.bks-discovery-block .bks-products { gap: 24px 18px; }
.bks-status { min-height: 24px; margin: 12px 0; font-size: 14px; }
.bks-status:empty { display: none; }
.bks-modal-open { overflow: hidden; }
.bks-busy::after { content: ""; display: inline-block; width: 15px; height: 15px; vertical-align: middle; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; margin-left: 10px; animation: bks-spin .7s linear infinite; }
.bks-empty { text-align: center; padding: 46px 24px; background: var(--bks-soft); margin: 20px 0; }
.bks-empty h2, .bks-empty h3 { font-size: 22px; }
.bks-empty p { color: var(--bks-muted); }
.bks-empty-bag { padding: 32px 14px; }
.bks-bag-items { list-style: none; margin: 0; padding: 0; }
.bks-bag-item { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--bks-line); }
.bks-bag-image img { width: 96px; aspect-ratio: 1; object-fit: contain; background: var(--bks-soft); }
.bks-bag-item-copy { min-width: 0; font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.bks-bag-item-copy .bks-help { margin: 8px 0; }
.bks-bag-item-copy .price { font-size: 17px; }
.bks-bag-total { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-top: 24px; font-size: 18px; }
.bks-bag-total strong { white-space: nowrap; }
.bks-bag-actions { display: grid; gap: 10px; }
.bks-bag-dialog .bks-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 14px; }
.bks-bag-dialog .bks-product-card h3 { font-size: 14px; }
.bks-bag-dialog .bks-product-card .price { font-size: 16px; }
.bks-bag-dialog .bks-recommendations { margin-top: 26px; padding-top: 26px; }
.bks-bag-dialog .bks-section-heading h2 { font-size: 18px; }
.bks-catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 22px; margin-top: 24px; }
.bks-result-count { margin: 0; font-size: 14px; color: var(--bks-muted); }
.bks-sort-button { min-height: 46px; padding: 9px 20px; border: 1px solid var(--bks-line); background: #fff; white-space: nowrap; font-size: 15px; }
.bks-sort-button span { padding-left: 12px; }
.bks-sort-dialog { width: 450px; }
.bks-sort-options { display: grid; padding: 10px 24px 24px; }
.bks-sort-options a { display: block; padding: 17px 8px; border-bottom: 1px solid var(--bks-line); min-height: 52px; }
.bks-load-wrap { text-align: center; margin-top: 40px; }
.bks-load-wrap .bks-button { min-width: 220px; }
.bks-load-status { margin: 16px auto 0; font-size: 14px; max-width: 600px; }
.bks-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 32px; align-items: center; }
.bks-pagination a, .bks-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; padding: 8px 15px; min-height: 44px; border: 1px solid var(--bks-line); }
.bks-pagination .current { background: var(--bks-ink); color: #fff; }
.bks-storefront .woocommerce div.product { margin: 0; position: relative; }
.bks-storefront .woocommerce div.product div.summary { float: none; width: auto; max-width: 100%; margin: 0; }
.bks-product-action-status { color: var(--bks-error); font-size: 14px; line-height: 1.8; }
.bks-product-action-status:empty { display: none; }
.bks-storefront .woocommerce table.shop_attributes { border: 0; margin: 0; width: 100%; font-size: 15px; table-layout: fixed; }
.bks-storefront .woocommerce table.shop_attributes th { width: 28%; text-align: left; vertical-align: top; background: var(--bks-soft); padding: 16px; border-bottom: 1px solid var(--bks-line); font-weight: 500; }
.bks-storefront .woocommerce table.shop_attributes td { padding: 16px; border-bottom: 1px solid var(--bks-line); font-style: normal; background: none; overflow-wrap: anywhere; }
.bks-storefront .woocommerce table.shop_attributes td p { padding: 0; }
.bks-storefront .woocommerce form .form-row, .form-row { margin: 0 0 20px; padding: 0; float: none; width: auto; min-width: 0; }
.bks-storefront .woocommerce form .form-row label, .form-row>label { display: block; line-height: 1.6; font-size: 15px; margin-bottom: 8px; }
.bks-storefront input:not(.bks-password-input):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=search]), .bks-storefront select, .bks-storefront textarea, .bks-storefront .woocommerce form .form-row .input-text:not(.bks-password-input) { width: 100%; max-width: 100%; min-width: 0; min-height: 48px; padding: 11px 12px; border: 1px solid #ccc7bc; border-radius: 3px; background: #fff; box-shadow: none; font-size: 16px; line-height: 1.5; color: var(--bks-ink); }
.bks-storefront textarea { resize: vertical; min-height: 132px; }
.bks-storefront input[type=checkbox], .bks-storefront input[type=radio] { width: 19px; height: 19px; min-width: 19px; min-height: 19px; margin: 3px 6px 3px 0; vertical-align: middle; accent-color: var(--bks-ink); flex: none; }
.bks-storefront .required { color: #9a3e35; text-decoration: none; }
.bks-storefront .woocommerce fieldset, fieldset { border: 1px solid var(--bks-line); padding: 20px; margin: 28px 0; min-width: 0; }
.bks-storefront legend { font-size: 17px; padding-inline: 8px; }
.bks-storefront .woocommerce fieldset p:last-child { margin-bottom: 0; }
.bks-storefront .woocommerce form .form-row .select2-container { width: 100% !important; max-width: 100%; line-height: 1.5; }
.bks-storefront .select2-container .select2-selection--single { min-height: 48px; height: auto; border: 1px solid #ccc7bc; border-radius: 3px; }
.bks-storefront .select2-container .select2-selection__rendered { line-height: 46px; padding-left: 12px; font-size: 16px; }
.bks-storefront .select2-container .select2-selection__arrow { height: 46px; }
.bks-storefront .select2-dropdown { font-size: 16px; border-color: #ccc7bc; }
.bks-storefront .select2-results__option { padding: 10px 12px; }
.bks-checkbox-row label, .bks-storefront .woocommerce form .bks-checkbox-row label { display: flex; align-items: flex-start; gap: 8px; min-height: 36px; margin: 0; font-size: 14px; line-height: 1.8; }
.bks-checkbox-row a { font-size: 13px; margin-left: 27px; }
.bks-fields-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
.bks-fields-grid>.form-row { grid-column: 1/-1; }
.bks-fields-grid>.bks-name-field { grid-column: auto; }
.bks-storefront .woocommerce .woocommerce-error, .bks-storefront .woocommerce .woocommerce-message, .bks-storefront .woocommerce .woocommerce-info { background: var(--bks-soft); color: var(--bks-ink); padding: 18px 20px; border-top: 2px solid var(--bks-gold); border-radius: 0; list-style: none; margin-bottom: 24px; font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.bks-storefront .woocommerce .woocommerce-error { border-color: var(--bks-error); }
.bks-storefront .woocommerce-error::before, .bks-storefront .woocommerce-message::before, .bks-storefront .woocommerce-info::before { display: none; }
.bks-storefront .woocommerce .woocommerce-info a, .bks-storefront .woocommerce .woocommerce-message a { text-decoration: underline; }
.bks-storefront .woocommerce .woocommerce-error .button, .bks-storefront .woocommerce .woocommerce-message .button { float: none; margin-right: 16px; margin-bottom: 8px; }
.bks-cart-layout { display: grid; grid-template-columns: minmax(0,1fr) 370px; gap: 44px; align-items: start; }
.bks-cart-form, .bks-cart-summary { min-width: 0; }
.bks-cart-item { display: grid; grid-template-columns: 116px minmax(0,1fr) auto; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--bks-line); align-items: start; }
.bks-cart-item:first-child { padding-top: 0; }
.bks-cart-image img { width: 116px; aspect-ratio: 1; object-fit: contain; background: var(--bks-soft); }
.bks-cart-item h2 { font-size: 16px; line-height: 1.8; font-weight: 500; margin-bottom: 10px; overflow-wrap: anywhere; }
.bks-cart-item-copy { min-width: 0; }
.bks-cart-item-copy .bks-help { margin: 8px 0 0; }
.bks-cart-item-price { margin: 0 !important; font-size: 18px !important; justify-content: flex-end; text-align: right; }
.bks-cart-summary { border: 1px solid var(--bks-line); padding: 24px; background: var(--bks-soft); }
.bks-storefront .woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; }
.bks-storefront .woocommerce .cart_totals h2 { font-size: 22px; }
.bks-storefront .woocommerce .cart_totals table { border: 0; border-radius: 0; margin: 0; }
.bks-storefront .woocommerce .cart_totals table th, .bks-storefront .woocommerce .cart_totals table td { padding: 14px 0; border-color: var(--bks-line); font-size: 15px; vertical-align: top; }
.bks-storefront .woocommerce .cart_totals table th { font-weight: 500; width: 36%; text-align: left; }
.bks-storefront .woocommerce .cart_totals table td { text-align: right; }
.bks-storefront .woocommerce .cart_totals .woocommerce-shipping-destination { text-align: left; font-size: 13px; }
.bks-storefront .woocommerce .wc-proceed-to-checkout { padding: 18px 0 0; }
.bks-storefront .woocommerce .wc-proceed-to-checkout a.checkout-button { display: flex; margin: 0; width: 100%; font-size: 16px; }
.bks-coupon { border-block: 1px solid var(--bks-line); padding: 16px 0; margin-top: 26px; }
.bks-coupon summary { cursor: pointer; min-height: 32px; font-size: 15px; }
.bks-coupon-fields { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; margin-top: 16px; }
.bks-coupon-fields>label { grid-column: 1/-1; }
.bks-coupon-fields input { width: 100%; min-width: 0; }
.bks-checkout-coupon { max-width: 650px; margin: 0 0 26px; }
.bks-storefront .woocommerce .bks-checkout-coupon form.checkout_coupon { display: block !important; margin: 0; padding: 0; border: 0; }
.bks-storefront .woocommerce .bks-checkout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.9fr); gap: 54px; align-items: start; }
.bks-checkout-fields, .bks-checkout-summary { min-width: 0; }
.bks-storefront .woocommerce .bks-checkout #customer_details { display: block; float: none; width: 100%; margin: 0; }
.bks-storefront .woocommerce .bks-checkout .woocommerce-billing-fields__field-wrapper, .bks-storefront .woocommerce .bks-checkout .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
.bks-storefront .woocommerce .bks-checkout .form-row { grid-column: 1/-1; float: none; width: auto; margin: 0 0 20px; padding: 0; clear: none; }
.bks-storefront .woocommerce .bks-checkout .bks-name-field { grid-column: auto; }
.bks-storefront .woocommerce .bks-checkout #billing_country_field, .bks-storefront .woocommerce .bks-checkout #shipping_country_field { display: none; }
.bks-storefront .woocommerce .bks-checkout .woocommerce-billing-fields h3, .bks-storefront .woocommerce .bks-checkout .woocommerce-additional-fields h3 { font-size: 22px; margin-bottom: 24px; }
.bks-storefront .woocommerce .bks-checkout #ship-to-different-address { font-size: 17px; font-weight: 400; margin: 20px 0; }
.bks-checkout-summary { border: 1px solid var(--bks-line); padding: 28px; background: var(--bks-soft); }
.bks-checkout-summary>h2 { font-size: 24px; margin-bottom: 12px; }
.bks-storefront .woocommerce table.woocommerce-checkout-review-order-table { table-layout: fixed; width: 100%; border: 0; border-radius: 0; border-collapse: collapse; margin: 24px 0; }
.bks-storefront .woocommerce table.woocommerce-checkout-review-order-table th, .bks-storefront .woocommerce table.woocommerce-checkout-review-order-table td { padding: 15px 0; vertical-align: top; border-color: #ded9cd; font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.bks-storefront .woocommerce table.woocommerce-checkout-review-order-table th { text-align: left; font-weight: 500; }
.bks-storefront .woocommerce table.woocommerce-checkout-review-order-table .product-name { width: 62%; padding-right: 14px; font-weight: 400; word-break: normal; }
.bks-storefront .woocommerce table.woocommerce-checkout-review-order-table .product-total { width: 38%; text-align: right; }
.bks-storefront .woocommerce table.woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.bks-storefront .woocommerce table.woocommerce-checkout-review-order-table .woocommerce-Price-amount { display: inline-block; white-space: nowrap; }
.bks-storefront .woocommerce table.woocommerce-checkout-review-order-table .order-total { font-size: 18px; }
.bks-storefront .woocommerce #payment { background: none; border-radius: 0; }
.bks-storefront .woocommerce #payment ul.payment_methods { padding: 0; margin: 0; border-color: var(--bks-line); list-style: none; }
.bks-storefront .woocommerce #payment ul.payment_methods li { padding: 14px 0; border-bottom: 1px solid var(--bks-line); line-height: 1.8; }
.bks-storefront .woocommerce #payment ul.payment_methods li label { font-size: 16px; }
.bks-storefront .woocommerce #payment div.payment_box { padding: 16px; font-size: 14px; background: #eeebe3; color: var(--bks-ink); margin: 12px 0 0; }
.bks-storefront .woocommerce #payment div.payment_box::before { display: none; }
.bks-storefront .woocommerce #payment div.form-row { padding: 18px 0 0; margin: 0; }
.bks-storefront .woocommerce #payment #place_order { float: none; width: 100%; font-size: 17px; min-height: 54px; }
.bks-storefront .woocommerce-terms-and-conditions-wrapper { font-size: 13px; line-height: 1.9; margin-bottom: 18px; }
.bks-storefront .woocommerce-terms-and-conditions-wrapper label { display: block !important; font-size: 14px !important; line-height: 1.9 !important; }
.bks-payment-unavailable { padding: 18px; background: #fff; border: 1px solid var(--bks-line); font-size: 15px; }
.bks-payment-unavailable .bks-button { width: 100%; }
.bks-postcode-status { display: block; font-size: 13px; line-height: 1.8; margin-top: 8px; color: var(--bks-muted); min-height: 24px; }
.bks-postcode-status[data-state=error] { color: var(--bks-error); }
.bks-storefront .woocommerce ul#shipping_method { margin: 0; padding: 0; }
.bks-storefront .woocommerce ul#shipping_method li { font-size: 14px; text-align: left; line-height: 1.8; }
.bks-account-shell { display: block; }
.bks-storefront .woocommerce .bks-account-nav { float: none; width: 100%; margin: 0 0 36px; }
.bks-account-nav ul { display: flex; flex-wrap: wrap; list-style: none; gap: 8px; margin: 0; padding: 0; }
.bks-account-nav li { margin: 0; min-width: 0; }
.bks-account-nav a { display: flex; min-height: 46px; padding: 10px 18px; border: 1px solid var(--bks-line); font-size: 15px; align-items: center; line-height: 1.5; }
.bks-account-nav .is-active a { background: var(--bks-ink); border-color: var(--bks-ink); color: white; }
.bks-storefront .woocommerce .bks-account-content { float: none; width: 100%; min-width: 0; }
.bks-account-welcome { padding: 32px; background: var(--bks-soft); margin-bottom: 24px; }
.bks-account-welcome>p:first-child { font-size: 14px; color: var(--bks-muted); margin-bottom: 12px; }
.bks-account-welcome h2 { font-size: 30px; margin-bottom: 14px; }
.bks-account-welcome>p:last-child { margin: 0; font-size: 15px; }
.bks-account-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 18px; }
.bks-account-card { padding: 26px; border: 1px solid var(--bks-line); display: flex; flex-direction: column; min-width: 0; align-items: flex-start; }
.bks-account-card h3 { font-size: 20px; margin-bottom: 14px; }
.bks-account-card p { font-size: 14px; color: var(--bks-muted); line-height: 1.8; }
.bks-account-card>span { margin-top: auto; font-size: 22px; }
.bks-account-recent { margin-top: 42px; }
.bks-order-card { border: 1px solid var(--bks-line); padding: 24px; margin: 16px 0; }
.bks-order-card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.bks-order-card-top h3 { font-size: 18px; margin: 0; }
.bks-order-status { font-size: 13px; padding: 4px 10px; background: var(--bks-soft); }
.bks-order-meta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 20px; }
.bks-order-meta p { font-size: 13px; color: var(--bks-muted); margin: 0; }
.bks-order-meta p>span { display: block; color: var(--bks-ink); font-size: 16px; margin-top: 5px; }
.bks-order-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.bks-auth-layout { max-width: 600px; margin-inline: auto; }
.bks-auth-with-register { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px; max-width: 1080px; }
.bks-auth-panel { min-width: 0; padding: 30px; border: 1px solid var(--bks-line); background: #fff; }
.bks-auth-panel>h2 { font-size: 26px; margin-bottom: 16px; }
.bks-auth-panel>p { font-size: 15px; color: var(--bks-muted); margin-bottom: 28px; }
.bks-storefront .woocommerce .bks-auth-panel form.login, .bks-storefront .woocommerce .bks-auth-panel form.register { border: 0; padding: 0; margin: 0; }
.bks-auth-panel .button { width: 100%; }
.bks-auth-panel .button+p { margin: 24px 0 0; font-size: 14px; }
.bks-edit-account { max-width: 760px; margin-inline: auto; }
.bks-storefront .woocommerce .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.bks-storefront .woocommerce .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; min-width: 0; border: 1px solid var(--bks-line); padding: 24px; }
.bks-storefront .woocommerce .woocommerce-Address .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.bks-storefront .woocommerce .woocommerce-Address .woocommerce-Address-title::before, .bks-storefront .woocommerce .woocommerce-Address .woocommerce-Address-title::after { display: none; }
.bks-storefront .woocommerce .woocommerce-Address .woocommerce-Address-title h2, .bks-storefront .woocommerce .woocommerce-Address .woocommerce-Address-title h3 { font-size: 21px; margin: 0; }
.bks-storefront .woocommerce .woocommerce-Address .woocommerce-Address-title a { font-size: 14px; text-decoration: underline; }
.bks-storefront .woocommerce address { font-style: normal; font-size: 16px; line-height: 2; margin-top: 20px; overflow-wrap: anywhere; }
.bks-storefront .woocommerce table.shop_table { font-size: 15px; border-color: var(--bks-line); border-radius: 0; width: 100%; }
.bks-storefront .woocommerce table.shop_table th, .bks-storefront .woocommerce table.shop_table td { border-color: var(--bks-line); overflow-wrap: anywhere; }
.bks-storefront .woocommerce .woocommerce-order-details table { table-layout: fixed; }
.bks-storefront .woocommerce .woocommerce-order-details .product-name { width: 65%; }
.bks-storefront .woocommerce ul.order_details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; padding: 24px; background: var(--bks-soft); margin: 24px 0; list-style: none; }
.bks-storefront .woocommerce ul.order_details::before, .bks-storefront .woocommerce ul.order_details::after { display: none; }
.bks-storefront .woocommerce ul.order_details li { float: none; border: 0; padding: 0; margin: 0; font-size: 13px; min-width: 0; overflow-wrap: anywhere; }
.bks-storefront .woocommerce ul.order_details li strong { font-size: 16px; margin-top: 6px; }
.bks-storefront .woocommerce .woocommerce-customer-details address { border: 1px solid var(--bks-line); border-radius: 0; padding: 22px; font-size: 15px; }
.bks-storefront .woocommerce .woocommerce-customer-details .col2-set { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.bks-storefront .woocommerce .woocommerce-customer-details .col2-set .col-1, .bks-storefront .woocommerce .woocommerce-customer-details .col2-set .col-2 { width: auto; float: none; min-width: 0; }
.bks-prose, .bks-article { max-width: 860px; margin-inline: auto; }
.bks-entry-content { font-size: 16px; line-height: 2; overflow-wrap: anywhere; }
.bks-entry-content h2 { font-size: 26px; margin: 42px 0 22px; scroll-margin-top: 110px; }
.bks-entry-content h3 { font-size: 21px; margin: 30px 0 18px; scroll-margin-top: 110px; }
.bks-entry-content p { margin-bottom: 1.5em; }
.bks-entry-content a[href] { text-decoration: underline; color: var(--bks-gold); }
.bks-entry-content ul, .bks-entry-content ol { padding-left: 1.5em; }
.bks-entry-content li { margin-bottom: 8px; }
.bks-entry-content table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 15px; }
.bks-entry-content td, .bks-entry-content th { padding: 14px; border: 1px solid var(--bks-line); vertical-align: top; overflow-wrap: anywhere; }
.bks-entry-content th { background: var(--bks-soft); }
.bks-entry-content img { max-width: 100%; height: auto; }
.bks-entry-content pre { max-width: 100%; overflow: auto; white-space: pre-wrap; }
.bks-entry-content figure { max-width: 100%; margin: 24px 0; }
.bks-entry-content blockquote { margin: 24px 0; padding: 20px; border-left: 3px solid var(--bks-gold); background: var(--bks-soft); }
.bks-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 32px; }
.bks-post-card { min-width: 0; }
.bks-post-image { display: block; aspect-ratio: 16/10; background: var(--bks-soft); overflow: hidden; }
.bks-post-image img { width: 100%; height: 100%; object-fit: cover; }
.bks-post-placeholder { display: flex; align-items: center; justify-content: center; height: 100%; padding: 24px; background: #ebe5d9; color: #6d6149; font-family: "Yu Mincho",serif; font-size: 20px; line-height: 1.8; }
.bks-post-card-copy { padding-top: 18px; }
.bks-post-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; font-size: 12px; color: var(--bks-muted); margin-bottom: 12px; }
.bks-post-meta a { text-decoration: underline; }
.bks-post-card h3 { font-size: 19px; font-weight: 500; line-height: 1.8; margin-bottom: 12px; }
.bks-post-card p { font-size: 14px; color: var(--bks-muted); line-height: 1.9; }
.bks-article-header { padding: 24px 0; }
.bks-article-header h1 { font-size: clamp(26px,3vw,38px); line-height: 1.75; margin: 24px 0; }
.bks-article-dates { display: flex; flex-wrap: wrap; gap: 10px 24px; color: var(--bks-muted); font-size: 13px; }
.bks-article-hero { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; margin: 12px 0 32px; }
.bks-toc { border: 1px solid var(--bks-line); background: var(--bks-soft); padding: 22px 26px; margin: 28px 0 36px; }
.bks-toc summary { font-size: 18px; font-weight: 600; cursor: pointer; min-height: 32px; }
.bks-toc ol { margin: 16px 0 0; padding-left: 24px; }
.bks-toc li { font-size: 15px; line-height: 1.8; padding: 5px 0; }
.bks-toc a:hover { text-decoration: underline; }
.bks-toc-level-3 { margin-left: 16px; font-size: 14px !important; }
.bks-storefront .woocommerce #reviews { max-width: 920px; margin-inline: auto; }
.bks-storefront .woocommerce #reviews h2 { font-size: 24px; margin-bottom: 24px; }
.bks-storefront .woocommerce #reviews #comments ol.commentlist { margin: 0; padding: 0; list-style: none; }
.bks-storefront .woocommerce #reviews #comments ol.commentlist li { margin: 0 0 22px; padding: 0; min-width: 0; }
.bks-storefront .woocommerce #reviews #comments ol.commentlist li img.avatar { display: none; }
.bks-storefront .woocommerce #reviews #comments ol.commentlist li .comment-text { margin: 0; border: 1px solid var(--bks-line); border-radius: 0; padding: 22px; min-width: 0; }
.bks-storefront .woocommerce #reviews #comments ol.commentlist li .comment-text .meta { font-size: 13px; color: var(--bks-muted); line-height: 1.8; }
.bks-storefront .woocommerce #reviews #comments ol.commentlist li .comment-text .description { font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
.bks-storefront .woocommerce #reviews #comments .star-rating { float: none; margin-bottom: 12px; color: var(--bks-gold); }
.bks-storefront .woocommerce #reviews #respond { padding: 28px; border: 1px solid var(--bks-line); margin-top: 32px; background: var(--bks-soft); min-width: 0; }
.bks-storefront .woocommerce #reviews #respond h3 { font-size: 22px; line-height: 1.6; }
.bks-storefront .woocommerce #reviews #commentform { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
.bks-storefront .woocommerce #reviews #commentform>* { grid-column: 1/-1; min-width: 0; }
.bks-storefront .woocommerce #reviews #commentform .comment-form-author, .bks-storefront .woocommerce #reviews #commentform .comment-form-email { grid-column: auto; }
.bks-storefront .woocommerce #reviews #commentform label { display: block; font-size: 15px; margin-bottom: 8px; line-height: 1.8; }
.bks-storefront .woocommerce #reviews #commentform p { margin: 0 0 20px; }
.bks-storefront .woocommerce #reviews #commentform input[type=text], .bks-storefront .woocommerce #reviews #commentform input[type=email] { width: 100%; max-width: 100%; }
.bks-storefront .woocommerce #reviews #commentform textarea { min-height: 160px; max-width: 100%; }
.bks-storefront .woocommerce #reviews #commentform .comment-form-cookies-consent label { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; }
.bks-rating-field { padding: 0 !important; border: 0 !important; margin: 12px 0 24px !important; }
.bks-rating-field legend { font-size: 15px; padding: 0; }
.bks-rating-options { display: flex; gap: 10px; margin-top: 12px; }
.bks-storefront .woocommerce #reviews #commentform .bks-rating-options label { position: relative; flex: 1; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #ccc7bc; background: #fff; cursor: pointer; margin: 0; line-height: 1.5; }
.bks-rating-options input[type=radio] { position: absolute; width: 1px !important; height: 1px !important; min-width: 0; min-height: 0; opacity: 0; }
.bks-rating-options label:has(input:checked) { border-color: var(--bks-gold); background: #e9e1d2; color: #715326; }
.bks-rating-options label:focus-within { outline: 2px solid var(--bks-gold); outline-offset: 3px; }
.bks-rating-options label>span:first-of-type { color: var(--bks-gold); font-size: 21px; }
.bks-review-hub { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.bks-hub-review { padding: 26px; border: 1px solid var(--bks-line); font-size: 16px; }
.bks-review-rating { font-size: 20px; color: var(--bks-gold); letter-spacing: 3px; }
.bks-hub-review>a { font-size: 14px; overflow-wrap: anywhere; }
.bks-contact-layout { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1fr); gap: 60px; max-width: 1080px; margin-inline: auto; }
.bks-contact-intro h2 { font-size: 25px; }
.bks-contact-intro p { font-size: 15px; line-height: 1.9; }
.bks-contact-form { padding: 28px; border: 1px solid var(--bks-line); min-width: 0; }
.bks-contact-form .bks-button { width: 100%; }
.bks-contact-status { font-size: 14px; margin-bottom: 16px; }
.bks-contact-status:empty { display: none; }
.bks-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.bks-error { color: var(--bks-error); }
@keyframes bks-spin {to{transform:rotate(360deg)}}
@keyframes bks-enter {from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:1199px) {
  .bks-header-inner { grid-template-columns: minmax(0,1fr) auto; gap: 20px; }
  .bks-menu-button { display: inline-flex; }
  .bks-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 12px 40px 24px; background: #fff; border-bottom: 1px solid var(--bks-line); box-shadow: 0 12px 18px #0001; }
  .bks-nav.is-open { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; }
  .bks-nav a { padding: 14px 0; border-bottom: 1px solid var(--bks-line); }
  .bks-header-actions { grid-column: 2; }
  .bks-cart-layout { grid-template-columns: minmax(0,1fr) 330px; gap: 28px; }
  .bks-cart-item { grid-template-columns: 100px minmax(0,1fr); }
  .bks-cart-item-price { grid-column: 2; justify-content: flex-start; text-align: left; }
  .bks-checkout-summary { padding: 22px; }
  .bks-storefront .woocommerce .bks-checkout { gap: 30px; }
}
@media (min-width:768px) and (max-width:1099px) {
  .bks-container { width: calc(100% - 56px); }
  .bks-section { padding-block: 48px; }
  .bks-hero-grid { min-height: 430px; gap: 24px; }
  .bks-hero-copy h1 { font-size: 39px; }
  .bks-hero-copy { padding-block: 38px; }
  .bks-hero-visual img { max-height: 460px; }
  .bks-products, .bks-storefront .woocommerce ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 20px; }
  .bks-home-brands { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
  .bks-home-brands a { padding: 14px; }
  .bks-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 28px; }
  .bks-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 48px; }
  .bks-cart-layout { grid-template-columns: 1fr; gap: 32px; }
  .bks-cart-item { grid-template-columns: 110px minmax(0,1fr) auto; }
  .bks-cart-item-price { grid-column: auto; }
  .bks-cart-summary { max-width: 700px; width: 100%; justify-self: center; padding: 28px; }
  .bks-storefront .woocommerce .bks-checkout { grid-template-columns: 1fr; gap: 32px; max-width: 820px; margin-inline: auto; }
  .bks-checkout-summary { padding: 30px; }
  .bks-auth-with-register { gap: 24px; }
  .bks-auth-panel { padding: 24px; }
  .bks-account-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bks-account-cards>a:last-child:nth-child(odd) { grid-column: 1/-1; }
  .bks-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
  .bks-contact-layout { grid-template-columns: 1fr; max-width: 820px; gap: 28px; }
  .bks-brand-index { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bks-dialog { max-width: calc(100vw - 48px); }
  .bks-bag-dialog { max-width: 100vw; width: 480px; }
  .bks-discovery-block .bks-products { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:767px) {
  :root { --bks-header: 74px; }
  .bks-container { width: calc(100% - 32px); }
  .bks-main { padding-top: 18px; padding-bottom: 48px; }
  .bks-section { padding-block: 36px; }
  .bks-section+.bks-section { padding-top: 8px; }
  .bks-section-heading { align-items: flex-start; gap: 14px; margin-bottom: 22px; }
  .bks-section-heading h2 { font-size: 22px; line-height: 1.6; }
  .bks-section-heading>a { font-size: 13px; line-height: 1.8; padding-top: 4px; }
  .bks-page-heading { margin: 20px 0 26px; }
  .bks-page-heading h1 { font-size: 27px; line-height: 1.7; }
  .bks-header-inner { gap: 6px; min-height: 74px; }
  .bks-logo { max-width: 190px; }
  .bks-logo img { max-height: 40px; }
  .bks-logo>span { font-size: 14px; letter-spacing: 0; }
  .bks-header-actions { gap: 0; }
  .bks-nav { padding: 8px 20px 20px; }
  .bks-nav.is-open { grid-template-columns: 1fr; gap: 0; }
  .bks-nav a { font-size: 16px; }
  .admin-bar .bks-header { top: 46px; }
  .bks-hero-grid { grid-template-columns: 1fr; gap: 0; min-height: 0; }
  .bks-hero-copy { padding: 36px 4px 30px; }
  .bks-hero-copy h1 { font-size: 38px; line-height: 1.65; letter-spacing: .04em; margin-bottom: 18px; }
  .bks-hero-copy>p:not(.bks-kicker) { font-size: 15px; line-height: 1.9; margin-bottom: 24px; }
  .bks-hero-visual { max-height: 350px; overflow: hidden; }
  .bks-hero-visual img { width: 100%; aspect-ratio: 4/3; object-fit: cover; max-height: 350px; }
  .bks-hero-type { font-size: 48px; }
  .bks-kicker { font-size: 13px; }
  .bks-category-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .bks-category-links a { padding: 14px 12px; font-size: 14px; line-height: 1.7; min-height: 60px; }
  .bks-chips { gap: 8px; margin: 16px 0 22px; }
  .bks-chips a { font-size: 13px; padding: 8px 12px; min-height: 42px; }
  .bks-products, .bks-storefront .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 14px; }
  .bks-product-image { margin-bottom: 12px; }
  .bks-product-card h3, .bks-storefront .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; line-height: 1.75; margin-bottom: 8px; }
  .bks-storefront .price, .bks-storefront .woocommerce .price, .bks-storefront .woocommerce ul.products li.product .price { font-size: 17px; gap: 2px 8px; }
  .bks-storefront .price del { font-size: 13px; }
  .bks-home-brands { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
  .bks-home-brands a { padding: 16px; }
  .bks-home-brands span { font-size: 14px; }
  .bks-brand-index { grid-template-columns: 1fr; gap: 10px; }
  .bks-brand-index a { font-size: 16px; padding: 17px; }
  .bks-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 18px; }
  .bks-guide-grid>a { padding: 0; }
  .bks-guide-grid h3 { font-size: 16px; line-height: 1.7; margin-bottom: 12px; }
  .bks-guide-grid p { font-size: 13px; }
  .bks-home-faq summary { font-size: 15px; line-height: 1.8; }
  .bks-home-faq details p { font-size: 15px; }
  .bks-home-about { text-align: left; }
  .bks-home-about h2 { font-size: 23px; line-height: 1.8; }
  .bks-home-about br { display: none; }
  .bks-home-about p { font-size: 15px; }
  .bks-home-search h2 { font-size: 24px; }
  .bks-home-search>p { font-size: 14px; }
  .bks-home-price h3 { font-size: 18px; }
  .bks-footer { padding-top: 36px; }
  .bks-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 22px; }
  .bks-footer-grid>div:first-child { grid-column: 1/-1; }
  .bks-footer h2 { font-size: 17px; }
  .bks-footer-grid>div>a { font-size: 13px; line-height: 1.8; padding: 7px 0; }
  .bks-footer h3 { font-size: 15px; margin-bottom: 14px; }
  .bks-footer-bottom { margin-top: 30px; display: grid; font-size: 12px; gap: 7px; }
  .bks-social { margin-top: 18px; }
  .bks-dialog { width: 100%; max-width: 100vw; max-height: 100dvh; border-radius: 0; }
  .bks-search-dialog { top: 0; left: 0; right: 0; bottom: 0; margin: 0; height: 100dvh; }
  .bks-dialog-header { padding: 14px 16px; }
  .bks-dialog-header h2 { font-size: 20px; }
  .bks-dialog-body { padding: 18px 16px 26px; }
  .bks-search-form { padding-left: 12px; gap: 4px; }
  .bks-search-form input[type=search] { font-size: 16px; }
  .bks-discovery-block .bks-category-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .bks-discovery-block .bks-category-links a { font-size: 13px; padding: 12px; min-height: 52px; }
  .bks-discovery-block .bks-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 14px; }
  .bks-bag-dialog { width: 100%; }
  .bks-bag-item { grid-template-columns: 82px minmax(0,1fr); gap: 14px; padding: 18px 0; }
  .bks-bag-image img { width: 82px; }
  .bks-bag-item-copy { font-size: 14px; }
  .bks-bag-total { font-size: 18px; }
  .bks-empty { padding: 32px 18px; }
  .bks-empty h2, .bks-empty h3 { font-size: 20px; line-height: 1.7; }
  .bks-empty p { font-size: 15px; }
  .bks-sort-dialog { top: auto; bottom: 0; margin: 0; width: 100%; max-height: 78dvh; border-radius: 12px 12px 0 0; }
  .bks-catalog-toolbar { gap: 12px; align-items: center; padding-bottom: 20px; }
  .bks-result-count { font-size: 13px; line-height: 1.7; }
  .bks-sort-button { font-size: 14px; padding: 8px 12px; }
  .bks-sort-button span { padding-left: 4px; }
  .bks-load-wrap { margin-top: 30px; }
  .bks-load-wrap .bks-button { width: 100%; }
  .bks-storefront .woocommerce table.shop_attributes th { width: 34%; font-size: 14px; padding: 13px 10px; }
  .bks-storefront .woocommerce table.shop_attributes td { font-size: 14px; padding: 13px 10px; }
  .bks-recommendations { margin-top: 26px; padding-block: 26px; }
  .bks-cart-layout { grid-template-columns: 1fr; gap: 28px; }
  .bks-cart-item { grid-template-columns: 82px minmax(0,1fr); gap: 10px 14px; padding: 20px 0; }
  .bks-cart-image img { width: 82px; }
  .bks-cart-item h2 { font-size: 15px; line-height: 1.8; }
  .bks-cart-item-price { grid-column: 2; font-size: 18px !important; justify-content: flex-start; text-align: left; }
  .bks-cart-summary { padding: 22px 18px; }
  .bks-coupon-fields { grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
  .bks-coupon-fields .button { padding: 11px 15px !important; font-size: 15px !important; }
  .bks-coupon summary { font-size: 14px; }
  .bks-storefront .woocommerce .bks-checkout { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .bks-storefront .woocommerce .bks-checkout .woocommerce-billing-fields__field-wrapper, .bks-storefront .woocommerce .bks-checkout .woocommerce-shipping-fields__field-wrapper, .bks-fields-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
  .bks-storefront .woocommerce .bks-checkout .bks-name-field, .bks-fields-grid>.bks-name-field { grid-column: 1/-1; }
  .bks-checkout-summary { padding: 22px 16px; }
  .bks-checkout-summary>h2 { font-size: 23px; }
  .bks-storefront .woocommerce table.woocommerce-checkout-review-order-table th, .bks-storefront .woocommerce table.woocommerce-checkout-review-order-table td { font-size: 14px; line-height: 1.8; padding-block: 13px; }
  .bks-storefront .woocommerce table.woocommerce-checkout-review-order-table .product-name { width: 57%; padding-right: 10px; }
  .bks-storefront .woocommerce table.woocommerce-checkout-review-order-table .product-total { width: 43%; }
  .bks-storefront .woocommerce table.woocommerce-checkout-review-order-table .order-total td { font-size: 18px; }
  .bks-storefront .woocommerce table.woocommerce-checkout-review-order-table .woocommerce-Price-amount { white-space: nowrap; max-width: 100%; }
  .bks-storefront .woocommerce #payment .payment_box { padding: 14px; }
  .bks-storefront .woocommerce #payment ul.payment_methods li label { font-size: 15px; }
  .bks-auth-with-register { grid-template-columns: 1fr; gap: 24px; }
  .bks-auth-panel { padding: 24px 20px; }
  .bks-auth-panel>h2 { font-size: 24px; }
  .bks-account-nav ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .bks-account-nav a { font-size: 14px; min-height: 48px; padding: 10px 12px; height: 100%; }
  .bks-storefront .woocommerce .bks-account-nav { margin-bottom: 24px; }
  .bks-account-welcome { padding: 24px 20px; }
  .bks-account-welcome h2 { font-size: 26px; }
  .bks-account-cards { grid-template-columns: 1fr; gap: 12px; }
  .bks-account-card { padding: 22px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0 12px; }
  .bks-account-card h3 { font-size: 19px; grid-column: 1; margin-bottom: 10px; }
  .bks-account-card p { grid-column: 1; margin: 0; font-size: 14px; }
  .bks-account-card>span { grid-column: 2; grid-row: 1/3; align-self: center; margin: 0; }
  .bks-order-card { padding: 20px 16px; }
  .bks-order-card-top h3 { font-size: 17px; }
  .bks-order-meta { grid-template-columns: 1fr; gap: 12px; }
  .bks-order-meta p { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
  .bks-order-meta p>span { font-size: 15px; margin: 0; text-align: right; }
  .bks-order-actions .bks-button { flex: 1; min-width: 120px; padding: 10px; font-size: 14px; }
  .bks-storefront .woocommerce .woocommerce-Addresses, .bks-storefront .woocommerce .woocommerce-customer-details .col2-set { grid-template-columns: 1fr; gap: 20px; }
  .bks-storefront .woocommerce .woocommerce-Addresses .woocommerce-Address { padding: 22px 18px; }
  .bks-storefront .woocommerce table.shop_table_responsive tr { display: block; margin: 0 0 20px; padding: 12px; border: 1px solid var(--bks-line); }
  .bks-storefront .woocommerce table.shop_table_responsive tr td { display: flex; justify-content: space-between; gap: 16px; align-items: center; text-align: right !important; background: transparent; padding: 12px 0; }
  .bks-storefront .woocommerce table.shop_table_responsive tr td::before { font-weight: 500; float: none; text-align: left; }
  .bks-storefront .woocommerce .cart_totals table.shop_table_responsive tr { border: 0; padding: 0; margin: 0; display: table-row; }
  .bks-storefront .woocommerce .cart_totals table.shop_table_responsive td { display: table-cell; }
  .bks-storefront .woocommerce .cart_totals table.shop_table_responsive th { display: table-cell; }
  .bks-storefront .woocommerce .cart_totals table.shop_table_responsive td::before { display: none; }
  .bks-storefront .woocommerce ul.order_details { grid-template-columns: 1fr; padding: 22px; gap: 18px; }
  .bks-storefront .woocommerce .woocommerce-order-details .product-name { width: 58%; }
  .bks-post-grid { grid-template-columns: 1fr; gap: 28px; margin-top: 24px; }
  .bks-post-card h3 { font-size: 20px; }
  .bks-post-card p { font-size: 15px; }
  .bks-article-header { padding: 18px 0; }
  .bks-article-header h1 { font-size: 27px; line-height: 1.8; }
  .bks-article-dates { font-size: 12px; gap: 8px 16px; }
  .bks-article-hero { margin-top: 8px; }
  .bks-toc { padding: 20px 18px; margin: 24px 0; }
  .bks-toc li { font-size: 15px; line-height: 1.9; }
  .bks-toc ol { padding-left: 22px; }
  .bks-entry-content { font-size: 16px; line-height: 2; }
  .bks-entry-content h2 { font-size: 24px; margin-top: 34px; }
  .bks-entry-content h3 { font-size: 20px; }
  .bks-entry-content td, .bks-entry-content th { padding: 10px 8px; font-size: 14px; }
  .bks-storefront .woocommerce #reviews #respond { padding: 22px 16px; }
  .bks-storefront .woocommerce #reviews #respond h3 { font-size: 21px; }
  .bks-storefront .woocommerce #reviews #commentform { grid-template-columns: 1fr; gap: 0; }
  .bks-storefront .woocommerce #reviews #commentform .comment-form-author, .bks-storefront .woocommerce #reviews #commentform .comment-form-email { grid-column: 1/-1; }
  .bks-storefront .woocommerce #reviews #comments ol.commentlist li .comment-text { padding: 18px 16px; }
  .bks-rating-options { gap: 7px; }
  .bks-storefront .woocommerce #reviews #commentform .bks-rating-options label { gap: 4px; min-height: 48px; }
  .bks-storefront .woocommerce #reviews #commentform .form-submit button { width: 100%; min-height: 50px; }
  .bks-review-hub { grid-template-columns: 1fr; gap: 20px; }
  .bks-hub-review { padding: 22px 18px; }
  .bks-contact-layout { grid-template-columns: 1fr; gap: 24px; }
  .bks-contact-intro h2 { font-size: 24px; }
  .bks-contact-form { padding: 22px 18px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
@media print {
  .bks-header-actions, .bks-footer, .bks-dialog, .bks-sort-button { display: none !important; }
  .bks-container { width: 100%; }
  .bks-header { position: static; }
  .bks-products { grid-template-columns: repeat(3,1fr); }
}
/* Guide pages: native document flow, not imported desktop table layouts. */
.bks-guide-layout { display: grid; grid-template-columns: 228px minmax(0,1fr); gap: 48px; align-items: start; }
.bks-guide-navigation { display: grid; position: sticky; top: 112px; border: 1px solid var(--bks-line); border-radius: var(--bks-radius); overflow: hidden; }
.bks-guide-navigation a { display: block; padding: 15px 18px; font-size: 15px; line-height: 1.65; border-bottom: 1px solid var(--bks-line); min-height: 52px; }
.bks-guide-navigation a:last-child { border: 0; }
.bks-guide-navigation [aria-current=page] { background: var(--bks-soft); font-weight: 600; border-left: 3px solid var(--bks-gold); padding-left: 15px; }
.bks-reference-body { width: 100%; max-width: 900px; margin: 0; min-width: 0; overflow-wrap: anywhere; }
.bks-reference-body>article, .bks-reference-body>div { max-width: 100%; }
.bks-reference-body h2 { font-size: 25px; margin: 38px 0 20px; line-height: 1.65; scroll-margin-top: 112px; }
.bks-reference-body h3 { font-size: 19px; margin: 24px 0 12px; }
.bks-reference-body p, .bks-reference-body li { font-size: 16px; line-height: 1.95; }
.bks-reference-body ol, .bks-reference-body ul { padding-left: 1.5em; }
.bks-reference-body li+li { margin-top: 8px; }
.bks-definition-list { margin: 0; border-top: 1px solid var(--bks-line); }
.bks-definition-row { display: grid; grid-template-columns: 175px minmax(0,1fr); border-bottom: 1px solid var(--bks-line); }
.bks-definition-row dt { background: var(--bks-soft); font-weight: 600; padding: 20px 18px; }
.bks-definition-row dd { margin: 0; padding: 20px; min-width: 0; }
.bks-definition-row dd p:last-child { margin-bottom: 0; }
.bks-policy-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.bks-policy-cards>section { border: 1px solid var(--bks-line); padding: 24px; font-size: 16px; }
.bks-policy-cards h3:first-child { margin-top: 0; }
.bks-guide-jumps { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 40px; }
.bks-guide-jumps a { padding: 10px 14px; border: 1px solid var(--bks-line); border-radius: 3px; font-size: 14px; }
.bks-faq-group { margin: 36px 0; scroll-margin-top: 112px; }
.bks-faq-item { border-top: 1px solid var(--bks-line); }
.bks-faq-item:last-child { border-bottom: 1px solid var(--bks-line); }
.bks-faq-item>summary { display: flex; align-items: baseline; justify-content: space-between; gap: 22px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 600; padding: 22px 4px; line-height: 1.8; min-height: 60px; }
.bks-faq-item>summary::-webkit-details-marker { display: none; }
.bks-faq-item>summary::after { content: "＋"; flex: 0 0 20px; font-size: 20px; font-weight: 400; color: var(--bks-gold); }
.bks-faq-item[open]>summary::after { content: "−"; }
.bks-faq-answer { padding: 0 22px 24px 4px; }
.bks-faq-answer p:last-child { margin: 0; }
.bks-policy-contact { margin-top: 42px; padding: 28px; background: var(--bks-soft); }
.bks-policy-contact h2 { font-size: 21px; margin: 0 0 14px; }
.bks-guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.bks-guide-grid>a { display: block; border: 1px solid var(--bks-line); padding: 25px; text-decoration: none !important; }
.bks-guide-grid h2 { font-size: 20px; margin: 0 0 12px; }
.bks-guide-grid p { font-size: 14px; margin: 0; }
.bks-reference-body .bks-payment-method { padding: 24px 0; border-bottom: 1px solid var(--bks-line); }
.bks-payment-method h2 { margin: 0 0 16px; }
.bks-reference-body .bks-toc { margin-top: 0; }
/* One real input and one local reveal control. The grid reserves the button's
   own column: no overlay on typed text, negative margin, or duplicate eye icon. */
body.bks-storefront span.password-input.bks-password-field { display: grid; position: relative; grid-template-columns: minmax(0,1fr); align-items: stretch; width: 100%; max-width: 100%; min-width: 0; gap: 0; border: 1px solid #ccc7bc; border-radius: 3px; background: var(--bks-paper); padding: 0; }
body.bks-storefront span.password-input.bks-password-field[data-bks-password-ready] { grid-template-columns: minmax(0,1fr) 64px; }
body.bks-storefront span.password-input.bks-password-field:focus-within { border-color: var(--bks-gold); outline: 2px solid var(--bks-gold); outline-offset: 2px; }
body.bks-storefront span.password-input.bks-password-field > input.bks-password-input { display: block; grid-column: 1; grid-row: 1; float: none; position: static; width: 100%; max-width: 100%; min-width: 0; min-height: 48px; height: auto; margin: 0; padding: 11px 12px; border: 0; border-radius: 2px 0 0 2px; background: transparent; box-shadow: none; color: var(--bks-ink); font: inherit; font-size: 16px; line-height: 1.5; outline: none; }
body.bks-storefront span.password-input.bks-password-field > button.bks-password-toggle { display: inline-flex; position: static; grid-column: 2; grid-row: 1; align-self: stretch; align-items: center; justify-content: center; width: 64px; max-width: 100%; min-width: 44px; min-height: 48px; height: auto; margin: 0; padding: 8px; border: 0; border-left: 1px solid var(--bks-line); border-radius: 0 2px 2px 0; background: var(--bks-paper); box-shadow: none; color: var(--bks-ink); font-family: inherit; font-size: 14px; font-weight: 500; line-height: 1.5; text-align: center; white-space: nowrap; opacity: 1; cursor: pointer; -webkit-tap-highlight-color: rgba(36,35,31,.12); }
body.bks-storefront span.password-input.bks-password-field > button.bks-password-toggle[hidden] { display: none; }
@media (hover: hover) and (pointer: fine) {
  body.bks-storefront span.password-input.bks-password-field > button.bks-password-toggle:hover { background: var(--bks-soft); }
}
body.bks-storefront span.password-input.bks-password-field > button.bks-password-toggle:active { background: #e9e5dc; }
body.bks-storefront span.password-input.bks-password-field > button.bks-password-toggle:focus-visible { outline: 2px solid var(--bks-ink); outline-offset: -4px; }
body.bks-storefront span.password-input.bks-password-field[data-bks-password-ready] .show-password-input { display: none; }
/* Strength hints and validation messages inserted by WooCommerce get a full row. */
body.bks-storefront .bks-password-field > :is(.woocommerce-password-strength,.woocommerce-password-hint,.woocommerce-input-error,[role=alert]) { grid-column: 1 / -1; grid-row: auto; min-width: 0; max-width: 100%; margin: 0; padding: 10px 12px; font-size: 14px; line-height: 1.7; white-space: normal; overflow-wrap: anywhere; }
body.bks-storefront .form-row.woocommerce-invalid .bks-password-field { border-color: var(--bks-error); }
/* Edge's native eye is suppressed only after the working local control is ready.
   Browser password-manager/autofill controls and payment-provider fields are untouched. */
body.bks-storefront .bks-password-field[data-bks-password-ready] input::-ms-reveal { display: none; }
body.bks-storefront .bks-password-field:not([data-bks-password-ready]) .show-password-input { position: absolute; right: 2px; top: 2px; width: 44px; min-height: 44px; padding: 8px; background: transparent; border: 0; }
body.bks-storefront .bks-password-field:not([data-bks-password-ready]) > input.bks-password-input { padding-right: 52px; }

.bks-address-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.bks-address-card { padding: 26px; border: 1px solid var(--bks-line); min-width: 0; }
.bks-address-card h3 { font-size: 20px; }
.bks-address-card address { font-style: normal; line-height: 1.95; overflow-wrap: anywhere; margin: 18px 0 24px; }
.bks-account-intro { margin-bottom: 24px; }
.bks-address-edit .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
.bks-address-edit .form-row { grid-column: 1/-1; width: 100% !important; float: none !important; }
.bks-address-edit .bks-name-field { grid-column: auto; }
.bks-auth-reset { max-width: 620px; margin: 0 auto; border: 1px solid var(--bks-line); padding: 32px; }
.bks-auth-reset form { margin: 0 !important; }
.bks-auth-reset .form-row { width: 100% !important; float: none !important; }
@media (min-width:768px) and (max-width:1100px) {
  .bks-guide-layout { grid-template-columns: 1fr; gap: 28px; }
  .bks-guide-navigation { position: static; grid-template-columns: repeat(4,minmax(0,1fr)); border: 0; gap: 8px; }
  .bks-guide-navigation a { border: 1px solid var(--bks-line) !important; padding: 12px; font-size: 14px; display: flex; align-items: center; min-height: 58px; }
  .bks-guide-navigation [aria-current=page] { padding-left: 12px; border-left: 3px solid var(--bks-gold) !important; }
  .bks-reference-body { max-width: none; }
  .bks-definition-row { grid-template-columns: 170px minmax(0,1fr); }
}
@media (max-width:767px) {
  .bks-guide-layout { grid-template-columns: 1fr; gap: 26px; }
  .bks-guide-navigation { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); border: 0; gap: 8px; }
  .bks-guide-navigation a { border: 1px solid var(--bks-line) !important; padding: 12px; font-size: 13px; display: flex; align-items: center; min-height: 50px; }
  .bks-guide-navigation [aria-current=page] { padding-left: 10px; border-left: 3px solid var(--bks-gold) !important; }
  .bks-reference-body h2 { font-size: 22px; margin: 28px 0 18px; }
  .bks-reference-body h3 { font-size: 18px; }
  .bks-definition-row { display: block; }
  .bks-definition-row dt { padding: 12px 16px; font-size: 15px; }
  .bks-definition-row dd { padding: 16px; font-size: 16px; }
  .bks-policy-cards, .bks-guide-grid, .bks-address-grid { grid-template-columns: 1fr; gap: 14px; }
  .bks-policy-cards>section { padding: 20px; }
  .bks-faq-item>summary { padding: 18px 2px; gap: 12px; font-size: 16px; }
  .bks-faq-answer { padding: 0 8px 20px 2px; }
  .bks-policy-contact { padding: 22px 18px; }
  .bks-policy-contact .bks-button { width: 100%; }
  .bks-guide-jumps { gap: 8px; margin-bottom: 28px; }
  .bks-guide-jumps a { font-size: 13px; padding: 9px 10px; }
  .bks-address-card { padding: 22px 18px; }
  .bks-address-edit .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
  .bks-address-edit .bks-name-field { grid-column: 1/-1; }
  .bks-auth-reset { padding: 24px 18px; }
}
.bks-saved-payments { display: grid; gap: 18px; }
.bks-saved-payment { padding: 26px; border: 1px solid var(--bks-line); }
.bks-saved-payment-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.bks-saved-payment-heading h3 { font-size: 20px; margin: 0; }
.bks-saved-payment dl>div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; }
.bks-saved-payment dt { font-size: 14px; color: var(--bks-muted); }
.bks-saved-payment dd { margin: 0; text-align: right; }
.bks-order-overview { padding: 24px; background: var(--bks-soft); margin-bottom: 28px; }
.bks-order-overview h2 { font-size: 24px; margin: 0; }
.bks-order-overview p { margin: 16px 0 0; }
.bks-order-notes article { padding: 18px 0; border-bottom: 1px solid var(--bks-line); }
@media (max-width:767px) {
  .bks-saved-payment { padding: 22px 18px; }
  .bks-saved-payment .bks-order-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .bks-saved-payment .bks-order-actions a { min-width: 0; }
  .bks-saved-payment-heading h3 { font-size: 18px; }
  .bks-order-overview { padding: 22px 18px; }
  .bks-order-overview h2 { font-size: 21px; }
}
/* Long policy outlines stay compact; article outlines keep their own default. */
.bks-reference-body .bks-toc ol { margin: 12px 0 0; padding-left: 22px; }
.bks-reference-body .bks-toc li { margin: 5px 0; line-height: 1.7; font-size: 15px; break-inside: avoid; }
@media (min-width:1101px) {
  .bks-reference-body .bks-toc ol { columns: 2; column-gap: 30px; }
}
