/* Orchestra Alkotb — inner pages and the bookshop (WooCommerce), in the black and gold of the house. */

.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; border: 0; clip-path: inset(50%); white-space: nowrap; }

/* ---------- Header extras ---------- */
.okb-brand__logo { display: block; width: auto; max-height: 48px; }
.okb-tool__count[data-count="0"] { display: none; }
.okb-search { display: none; position: absolute; inset: 100% 0 auto; padding: 14px 0; border-bottom: 1px solid var(--line); background: rgba(7, 6, 5, .97); }
.okb-search:target, .okb-header.is-searching .okb-search { display: block; }
.okb-search__form { display: flex; align-items: center; gap: 10px; }
.okb-search__form input[type="search"] { flex: 1; min-width: 0; height: 50px; padding: 0 16px; border: 1px solid var(--line); border-radius: 2px; background: var(--k-2); color: var(--ivory); font: inherit; }
.okb-search__form input[type="search"]::placeholder { color: var(--dim); }
.okb-search__form .okb-button { min-height: 50px; padding: 0 24px; }
.okb-search__close { display: grid; place-items: center; flex: none; width: 44px; height: 44px; color: var(--mute); font-size: 1.7rem; line-height: 1; text-decoration: none; }
.okb-search__close:hover { color: var(--gold-hi); }
.admin-bar .okb-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .okb-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .okb-header { position: absolute; } }

/* ---------- Homepage pieces that come from the shop ---------- */
.okb-intro--first { padding-top: clamp(20px, 3vw, 44px); }
.okb-cover--photo { display: block; aspect-ratio: auto; padding: 0; background: #17130f; }
.okb-cover--photo::before { display: none; }
.okb-cover--photo img { display: block; width: 100%; height: auto; }
.okb-feature__cover { display: grid; place-items: center; width: 100%; text-decoration: none; perspective: 1200px; }
.okb-feature__text { max-width: 32em; margin-bottom: 34px; font-size: 1.12rem; }
.okb-feature__text p + p { margin-top: .9em; }
.okb-book__media { position: relative; }
.okb-book__flag { position: absolute; inset-block-start: 12px; inset-inline-start: 12px; padding: 2px 10px; border-radius: 999px; background: var(--gold-hi); color: #140e08; font-size: .74rem; font-weight: 600; line-height: 1.6; }
.okb-book__flag--quiet { background: var(--k-3); color: var(--mute); }
.okb-price .woocommerce-Price-currencySymbol { color: var(--mute); font-size: .76em; font-weight: 400; }
.okb-price del { margin-inline-end: 6px; color: var(--dim); font-size: .84em; font-weight: 400; }
.okb-price ins { text-decoration: none; }

/* ---------- Inner pages ---------- */
.okb-page { min-height: 62vh; padding: calc(var(--header) + clamp(30px, 5vw, 66px)) 0 clamp(64px, 8vw, 120px); }
.okb-page__head { margin-bottom: clamp(26px, 4vw, 50px); }
.okb-page__head h1, .okb-page--centre h1 { font-size: clamp(2.2rem, 4.6vw, 3.7rem); }
.okb-page--centre { display: grid; align-items: center; }
.okb-page--centre .okb-button-row { margin-top: 30px; }
.okb-empty { margin-top: 12px; color: var(--mute); }
.okb-entry { max-width: 46rem; }
.okb-entry--wide, .woocommerce-cart .okb-entry, .woocommerce-checkout .okb-entry, .woocommerce-account .okb-entry { max-width: none; }
.okb-entry > * + * { margin-top: 1.1em; }
.okb-entry :is(h2, h3, h4) { margin-top: 1.7em; }
.okb-entry h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); }
.okb-entry h3 { font-size: 1.45rem; }
.okb-entry :is(ul, ol) { padding-inline-start: 1.4em; }
.okb-entry ul { list-style: disc; }
.okb-entry ol { list-style: decimal; }
.okb-entry a { color: var(--gold-hi); text-underline-offset: 3px; }
.okb-entry img { height: auto; }
.okb-entry blockquote { margin: 1.6em 0; padding-inline-start: 22px; border-inline-start: 2px solid var(--gold); color: var(--ivory); font-family: var(--f-display); font-size: 1.35rem; }
.okb-post-list { display: grid; gap: 0; max-width: 52rem; }
.okb-post { padding: 28px 0; border-bottom: 1px solid var(--line-soft); }
.okb-post__date { color: var(--gold); font-size: .84rem; }
.okb-post__title { font-size: clamp(1.5rem, 2.4vw, 2rem); }
.okb-post__title a { text-decoration: none; }
.okb-post__title a:hover { color: var(--gold-hi); }
.okb-post__excerpt { margin-top: 8px; color: var(--mute); }
.navigation.pagination { margin-top: 40px; }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 2px; color: var(--text); text-decoration: none; }
.page-numbers.current, a.page-numbers:hover { border-color: var(--gold); background: rgba(201, 164, 92, .14); color: var(--gold-hi); }

/* ---------- Shop: lists of books ---------- */
.woocommerce .woocommerce-breadcrumb { margin: 0 0 20px; color: var(--mute); font-size: .86rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--gold); text-decoration: none; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--gold-hi); }
.woocommerce-products-header { margin-bottom: clamp(20px, 3vw, 34px); }
.woocommerce-products-header__title { font-size: clamp(2.2rem, 4.6vw, 3.7rem); }
.woocommerce-products-header .term-description { max-width: 40rem; margin-top: 12px; color: var(--mute); }
.woocommerce .woocommerce-result-count { margin: 6px 0 30px; color: var(--mute); font-size: .9rem; }
.woocommerce .woocommerce-ordering { margin: 0 0 30px; }
.okb-shop select, .okb-entry select, .woocommerce .woocommerce-ordering select { min-height: 46px; padding: 0 14px; border: 1px solid var(--line); border-radius: 2px; background-color: var(--k-2); color: var(--ivory); font: inherit; font-size: .92rem; }

.woocommerce ul.products, .woocommerce-page ul.products, ul.okb-book-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(26px, 3.4vw, 48px) clamp(18px, 2.4vw, 34px); clear: both; margin: 0; padding: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after, .woocommerce-page ul.products::before, .woocommerce-page ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product, .woocommerce ul.products[class*="columns-"] li.product, .woocommerce-page ul.products[class*="columns-"] li.product { float: none; width: auto; margin: 0; padding: 0; }
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product a img { margin: 0; box-shadow: none; }
.woocommerce ul.products li.product .okb-book__title { padding: 0; margin: 4px 0 2px; color: var(--ivory); font-size: 1.42rem; }
.woocommerce ul.products li.product .price { display: inline; margin: 0; color: var(--ivory); font-size: 1.06rem; font-weight: 500; }
.woocommerce ul.products li.product .price del { display: inline; opacity: 1; }
.woocommerce ul.products li.product .price ins { font-weight: 500; }
.woocommerce ul.products li.product a.okb-add { display: grid; flex: none; margin: 0; padding: 0; }
.woocommerce a.okb-add.loading { opacity: .5; }
.woocommerce a.okb-add.added { border-color: var(--gold-hi); background: var(--gold-hi); color: #140e08; }
.woocommerce a.okb-add.added::after, .woocommerce a.okb-add.loading::after { display: none; }
.okb-book__foot { flex-wrap: wrap; }
.woocommerce a.added_to_cart { order: 3; flex-basis: 100%; padding: 6px 0 0; color: var(--gold-hi); font-size: .84rem; }

.woocommerce nav.woocommerce-pagination { margin-top: 50px; }
.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { float: none; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li :is(a, span) { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 2px; background: none; color: var(--text); }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--gold); background: rgba(201, 164, 92, .14); color: var(--gold-hi); }
.woocommerce .woocommerce-no-products-found, .woocommerce-no-products-found { clear: both; }

/* ---------- Shop: the page of a book ---------- */
.woocommerce div.product { position: relative; }
.woocommerce div.product div.images, .woocommerce-page div.product div.images { margin-bottom: 40px; }
.woocommerce div.product div.images img { border-radius: 2px 4px 4px 2px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 30px 60px rgba(0, 0, 0, .7); }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { padding: clamp(18px, 4vw, 54px); border: 1px solid var(--line-soft); background: radial-gradient(90% 70% at 50% 28%, #211b17, var(--k-2) 72%); }
.woocommerce div.product div.images .flex-control-thumbs { margin-top: 12px; }
.woocommerce div.product div.images .flex-control-thumbs li img { box-shadow: none; opacity: .55; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { background: var(--k-0); border: 1px solid var(--line); }
.okb-product__cover { display: grid; place-items: center; perspective: 1200px; }
.okb-product__cover .okb-cover--large { width: min(72%, 340px); }
.okb-product__shelf { margin-bottom: 12px; }
.woocommerce div.product .product_title { font-size: clamp(2.2rem, 4.2vw, 3.5rem); }
.okb-product__author { margin: 6px 0 20px; color: var(--gold-hi); font-size: 1.18rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ivory); font-size: 1.7rem; font-weight: 500; }
.woocommerce div.product p.price .woocommerce-Price-currencySymbol { color: var(--mute); font-size: .6em; font-weight: 400; }
.woocommerce div.product p.price del { color: var(--dim); font-size: .7em; opacity: 1; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { margin: 22px 0 28px; font-size: 1.08rem; }
.woocommerce div.product .woocommerce-product-details__short-description p + p { margin-top: .9em; }
.woocommerce div.product .stock { color: var(--gold); font-size: .92rem; }
.woocommerce div.product .out-of-stock { color: #d98a8f; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 0 0 30px; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .quantity .qty { width: 84px; height: 54px; padding: 0 8px; border: 1px solid var(--line); border-radius: 2px; background: var(--k-2); color: var(--ivory); font: inherit; text-align: center; }
.woocommerce div.product form.cart .button { float: none; }
.woocommerce div.product .product_meta { display: grid; gap: 6px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--mute); font-size: .9rem; }
.woocommerce div.product .product_meta a { color: var(--text); text-decoration: none; }
.woocommerce div.product .product_meta a:hover { color: var(--gold-hi); }

.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: clamp(30px, 5vw, 60px); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 6px 28px; margin: 0 0 28px; padding: 0; border-bottom: 1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 0 -1px; padding: 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 0; color: var(--mute); font-weight: 500; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--gold); background: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a, .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--gold-hi); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 52rem; margin: 0; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel p + p { margin-top: 1em; }
.woocommerce table.shop_attributes { border: 0; border-top: 1px solid var(--line-soft); }
.woocommerce table.shop_attributes :is(th, td) { padding: 12px 0; border: 0; border-bottom: 1px solid var(--line-soft); background: none !important; font-style: normal; text-align: start; }
.woocommerce table.shop_attributes th { width: 34%; color: var(--mute); font-weight: 400; }
.woocommerce table.shop_attributes td p { padding: 0; }
.woocommerce div.product :is(.related, .upsells) { clear: both; padding-top: clamp(50px, 7vw, 96px); }
.woocommerce div.product :is(.related, .upsells) > h2, .woocommerce .cross-sells > h2, .woocommerce .cart_totals > h2 { margin-bottom: 30px; font-size: clamp(1.7rem, 2.8vw, 2.3rem); }
.woocommerce span.onsale { min-width: 0; min-height: 0; padding: 2px 12px; border-radius: 999px; background: var(--gold-hi); color: #140e08; font-size: .78rem; font-weight: 600; line-height: 1.7; }

/* ---------- Shop: buttons, notices, forms, tables ---------- */
.woocommerce :is(a.button, button.button, input.button), .woocommerce #respond input#submit, .okb-entry .wp-element-button, .wc-block-components-button:not(.is-link) { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 28px; border: 1px solid rgba(236, 212, 156, .38); border-radius: 2px; background: none; color: var(--ivory); font-family: var(--f-body); font-size: 1rem; font-weight: 600; line-height: 1.2; text-decoration: none; transition: background .3s ease, color .3s ease, border-color .3s ease; }
.woocommerce :is(a.button, button.button, input.button):hover, .woocommerce #respond input#submit:hover { border-color: var(--gold-hi); background: rgba(201, 164, 92, .1); color: var(--gold-hi); }
.woocommerce :is(a.button, button.button, input.button).alt, .woocommerce :is(a.button, button.button, input.button).alt:hover, .woocommerce a.checkout-button, .wc-block-components-button.contained:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-color: transparent; background: linear-gradient(135deg, var(--gold-hi), var(--gold) 58%, #a98440); color: #140e08; }
.woocommerce :is(a.button, button.button, input.button):disabled, .woocommerce :is(a.button, button.button, input.button).disabled, .woocommerce :is(a.button, button.button, input.button):disabled[disabled] { padding: 0 28px; background: none; color: var(--dim); opacity: .7; }
.woocommerce :is(a.button, button.button).alt.disabled, .woocommerce button.button.alt:disabled, .woocommerce button.button.alt:disabled[disabled] { border-color: var(--line); background: none; color: var(--dim); }

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, .wc-block-components-notice-banner { margin: 0 0 28px; padding: 16px 20px; border: 1px solid var(--line); border-inline-start: 3px solid var(--gold); border-radius: 2px; background: var(--k-2); color: var(--text); }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-error { border-inline-start-color: #b9545b; list-style: none; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a:not(.button) { color: var(--gold-hi); }
.woocommerce-message .button, .woocommerce-info .button { min-height: 40px; padding: 0 18px; font-size: .9rem; }
.wc-block-components-notice-banner { align-items: center; }
.wc-block-components-notice-banner > svg { background: var(--gold); fill: #140e08; }

.woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce form .form-row label, .woocommerce-page form .form-row label { margin-bottom: 6px; color: var(--mute); font-size: .92rem; line-height: 1.6; }
.woocommerce form .form-row :is(input.input-text, textarea, select), .woocommerce-page form .form-row :is(input.input-text, textarea), .okb-entry :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], textarea), .woocommerce .select2-container .select2-selection, .woocommerce #review_form #respond textarea, .woocommerce table.cart td.actions .input-text { min-height: 50px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 2px; background: var(--k-2); color: var(--ivory); font: inherit; }
.woocommerce form .form-row :is(input.input-text, textarea, select):focus, .okb-entry :is(input, textarea):focus { border-color: var(--gold); outline: 0; box-shadow: 0 0 0 1px var(--gold); }
.woocommerce .select2-container .select2-selection__rendered { padding: 0; color: var(--ivory); line-height: 28px; }
.woocommerce .select2-container .select2-selection__arrow { height: 48px; }
.select2-dropdown { border-color: var(--line); background: var(--k-2); color: var(--text); }
.select2-container--default .select2-search--dropdown .select2-search__field { border-color: var(--line); background: var(--k-0); color: var(--ivory); }
.select2-container--default .select2-results__option[aria-selected="true"], .select2-container--default .select2-results__option[data-selected="true"] { background: var(--k-3); }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--gold); color: #140e08; }
.woocommerce form :is(.login, .register), .woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon, .woocommerce form.woocommerce-ResetPassword { margin: 0 0 30px; padding: clamp(20px, 3vw, 34px); border: 1px solid var(--line); border-radius: 2px; }
.woocommerce form .show-password-input::before, .woocommerce-page form .show-password-input::before { filter: invert(1); }
.woocommerce :is(h2, h3) { margin-bottom: 14px; }
.woocommerce-account .okb-entry h2 { margin-top: 0; }
.woocommerce a { text-underline-offset: 3px; }

.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: 2px; border-collapse: collapse; }
.woocommerce table.shop_table :is(th, td) { padding: 14px 16px; border-top: 1px solid var(--line-soft); }
.woocommerce table.shop_table th { color: var(--mute); font-weight: 500; }
.woocommerce table.shop_table td a:not(.button) { color: var(--ivory); text-decoration: none; }
.woocommerce table.shop_table td a:not(.button):hover { color: var(--gold-hi); }
.woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot :is(td, th) { border-top: 1px solid var(--line-soft); }
.woocommerce table.cart img, .woocommerce-cart table.cart img { width: 54px; }
.okb-cover--mini { width: 54px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 6px 14px rgba(0, 0, 0, .6); }
.woocommerce a.remove { color: var(--mute) !important; font-weight: 400; }
.woocommerce a.remove:hover { background: var(--crimson); color: #fff !important; }
.woocommerce table.cart td.actions .coupon .input-text { width: 180px; margin-inline-end: 8px; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { margin-top: 30px; }
.woocommerce-checkout #payment, .woocommerce #payment { border-radius: 2px; background: var(--k-2); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--line); }
.woocommerce-checkout #payment div.payment_box { background: var(--k-3); color: var(--text); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--k-3); }
.woocommerce ul.order_details { padding: 0; }
.woocommerce ul.order_details li { border-color: var(--line); }

.woocommerce-account .woocommerce-MyAccount-navigation ul { padding: 0; list-style: none; border: 1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation li + li { border-top: 1px solid var(--line-soft); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; color: var(--text); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: rgba(201, 164, 92, .12); color: var(--gold-hi); }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--gold-hi); }

.woocommerce #reviews #comments ol.commentlist { padding: 0; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-color: var(--line); border-radius: 2px; }
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: var(--gold); }

/* ---------- Shop: basket and checkout built from blocks ---------- */
.wc-block-components-text-input input, .wc-block-components-text-input input[type="text"], .wc-block-components-text-input input[type="email"], .wc-block-components-text-input input[type="tel"], .wc-block-components-text-input input[type="number"], .wc-block-components-textarea, .wc-blocks-components-select .wc-blocks-components-select__container, .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input, .wc-block-components-totals-coupon__input input { border-color: var(--line) !important; border-radius: 2px; background: var(--k-2) !important; color: var(--ivory) !important; }
.wc-blocks-components-select .wc-blocks-components-select__select { color: var(--ivory); }
.wc-blocks-components-select .wc-blocks-components-select__select option { background: var(--k-2); color: var(--ivory); }
.wc-block-components-text-input label, .wc-blocks-components-select .wc-blocks-components-select__label, .wc-block-components-combobox .wc-block-components-combobox-control label.components-base-control__label { color: var(--mute) !important; }
.wc-block-components-text-input input:focus, .wc-block-components-textarea:focus { box-shadow: 0 0 0 1px var(--gold) !important; }
.wc-block-components-sidebar .wc-block-components-panel, .wc-block-components-totals-item, .wc-block-components-order-summary, .wc-block-cart-items, .wc-block-cart-items td, .wc-block-cart-items th, .wc-block-components-totals-wrapper, .wc-block-checkout__sidebar .wc-block-components-product-name, .wc-block-components-checkout-step, .wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option { border-color: var(--line-soft) !important; color: var(--text); }
.wc-block-cart-items .wc-block-cart-items__header, .wc-block-cart-items .wc-block-cart-items__header th { color: var(--mute); }
.wc-block-components-product-name, .wc-block-cart-item__product a { color: var(--ivory); text-decoration: none; }
.wc-block-components-product-name:hover { color: var(--gold-hi); }
.wc-block-components-quantity-selector, .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input, .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { border-color: var(--line) !important; background: var(--k-2); color: var(--ivory) !important; }
.wc-block-components-quantity-selector::after, .wc-block-components-radio-control .wc-block-components-radio-control__input { border-color: var(--line) !important; }
.wc-block-components-radio-control .wc-block-components-radio-control__input { background: var(--k-2); }
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before { background: var(--gold-hi); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { border-color: var(--line); background: var(--k-2); }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--gold-hi); }
.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-cart__totals-title, .wc-block-components-order-summary__button-text { color: var(--ivory); font-family: var(--f-display); }
.wc-block-components-checkout-step__description, .wc-block-components-product-metadata, .wc-block-components-totals-item__description, .wc-block-components-order-summary-item__quantity { color: var(--mute); }
.wc-block-components-order-summary-item__quantity { border-color: var(--line) !important; background: var(--k-3) !important; color: var(--ivory) !important; box-shadow: none !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--gold-hi); }
.wc-block-cart__empty-cart__title, .wp-block-woocommerce-empty-cart-block h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before { background-color: var(--gold); }
.wc-block-components-address-card, .wc-block-components-address-form-wrapper, .wc-block-checkout__no-payment-methods-notice, .wc-block-components-express-payment { border-color: var(--line) !important; background: none; color: var(--text); }
.wc-block-components-panel__button, .wc-block-components-address-card__edit, .wc-block-components-totals-coupon-link, .wc-block-components-checkout-return-to-cart-button { color: var(--gold-hi) !important; }
.wc-block-components-skeleton__element { background-color: var(--k-3); }
.is-large.wc-block-checkout .wc-block-checkout__sidebar, .wc-block-checkout__sidebar { background: none; }
.wp-block-woocommerce-checkout-order-summary-block { border-color: var(--line) !important; }
.wc-block-components-spinner::after, .wc-block-components-spinner::before { color: var(--gold); }

/* ---------- Narrower screens ---------- */
@media (max-width: 980px) {
  .woocommerce ul.products, .woocommerce-page ul.products, ul.okb-book-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .woocommerce ul.products, .woocommerce-page ul.products, ul.okb-book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce ul.products li.product .okb-book__title { font-size: 1.22rem; }
  .woocommerce ul.products[class*="columns-"] li.product, .woocommerce-page ul.products[class*="columns-"] li.product { width: auto; margin: 0; }
  .okb-search__form .okb-button { padding: 0 16px; }
  .woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count { float: none; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
}

/* ---------- Later adjustments ---------- */
.woocommerce div.product div.images .woocommerce-product-gallery__image--placeholder { border: 0; }
