/*
 * Sonali Bites — main stylesheet.
 * Ported from the original static site (styles.css / demo.css). Colour, radius, width and font
 * tokens are overridden at runtime by Sonali Bites → Design Settings (CSS custom properties).
 * Logical properties are used so Arabic (dir=rtl) mirrors without a separate stylesheet.
 */

/* ---------- Tokens (original defaults; Design Settings prints overrides) ---------- */
:root {
	--bg: #fbf5e8; --surface: #fffdf7; --surface2: #efe4cc; --ink: #202a21; --muted: #5f665b;
	--green: #092b1e; --green2: #154833; --gold: #e3b94f; --line: #ddcfad;
	--shadow: 0 14px 36px #0b2c1b15;
	--sb-header-bg: #072318; --sb-footer-bg: #061b12; --sb-header-text: #f5d477; --sb-button-text: #1a2418;
	--sb-radius: 18px; --sb-radius-btn: 999px; --sb-container: 1200px; --sb-font-size: 16px;
	--sb-font-body: "Noto Sans Bengali", "DM Sans", system-ui, sans-serif;
	--sb-font-heading: "Noto Serif Bengali", "Noto Sans Bengali", Georgia, serif;
	--price: #8a5c00; --eyebrow: #7d5a00;
	color-scheme: light;
}
[data-theme=dark] {
	--bg: #0e1711; --surface: #18251c; --surface2: #223329; --ink: #f4eddd; --muted: #bdc4b8;
	--green: #d9b75e; --green2: #ebca75; --gold: #e8bf55; --line: #34473a; --shadow: 0 14px 36px #0005;
	--price: #ebca75; --eyebrow: #e8bf55;
	color-scheme: dark;
}
html[lang=ar] { --sb-font-body: "Noto Sans Arabic", "DM Sans", system-ui, sans-serif; --sb-font-heading: "Noto Sans Arabic", "DM Sans", sans-serif; }
html[lang=en] { --sb-font-body: "DM Sans", "Noto Sans Bengali", system-ui, sans-serif; }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: var(--sb-font-size); -webkit-text-size-adjust: 100%; }
body.sb-theme { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--sb-font-body); line-height: 1.65; overflow-x: hidden; }
body.sb-theme img { max-width: 100%; height: auto; }
body.sb-theme a { color: inherit; }
body.sb-theme :where(h1, h2, h3, h4) { font-family: var(--sb-font-heading); line-height: 1.25; }
body.sb-theme button, body.sb-theme input, body.sb-theme select, body.sb-theme textarea { font: inherit; }
body.sb-theme :focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.container { width: min(var(--sb-container), 92%); margin-inline: auto; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; inset-block-start: 8px; inset-inline-start: 8px; z-index: 10000; background: var(--surface); color: var(--ink); padding: 10px 16px; border-radius: 8px; }
#content:focus { outline: none; }
[hidden] { display: none !important; }

/* Astra resets: our templates manage containers themselves. */
body.sb-theme .ast-container, body.sb-theme #primary, body.sb-theme .site-content > .ast-container { max-width: none; padding: 0; margin: 0; display: block; width: auto; }
body.sb-theme .site-content { padding: 0; }

/* ---------- Buttons ---------- */
.btn, .button, button.button, .wp-element-button, .wp-block-button__link { border: 1px solid transparent; border-radius: var(--sb-radius-btn); padding: 12px 20px; display: inline-flex; justify-content: center; align-items: center; gap: 8px; font-weight: 800; text-decoration: none; cursor: pointer; transition: transform .2s, background .2s, color .2s; font-family: var(--sb-font-heading); line-height: 1.2; }
.btn:hover { transform: translateY(-2px); }
body.sb-theme .primary, body.sb-theme .wp-block-button__link { background: var(--gold); color: var(--sb-button-text); }
body.sb-theme .secondary { background: transparent; border-color: var(--gold); color: var(--gold); }
body.sb-theme .greenbtn { background: var(--green); color: #fff0c6; }
[data-theme=dark] body.sb-theme .greenbtn { color: #10180f; }
body.sb-theme .btn { text-decoration: none; }
.smallbtn { padding: 9px 13px; font-size: .85rem; }
.icon-btn { border: 1px solid #8b7b48; background: #0b2d20; color: #fff2cc; border-radius: 10px; min-width: 40px; height: 40px; display: inline-grid; place-items: center; cursor: pointer; padding: 0 8px; text-decoration: none; position: relative; }
.icon-btn:hover { border-color: var(--sb-header-text); }

/* ---------- Topline + header ---------- */
.topline { background: var(--sb-footer-bg); color: #f7d77e; font-size: .82rem; padding: 6px 0; }
.topline .container { display: flex; justify-content: space-between; gap: 12px; }
.header { background: color-mix(in srgb, var(--sb-header-bg) 97%, transparent); color: #fff5d8; z-index: 60; border-bottom: 1px solid #c69e3d55; backdrop-filter: blur(12px); }
.sb-sticky-header .header { position: sticky; top: 0; }
.admin-bar.sb-sticky-header .header { top: 32px; }
@media (max-width: 782px) { .admin-bar.sb-sticky-header .header { top: 0; } }
/* Light header: "Fixed colour" with a light colour, or "Dynamic" while the visitor is in Light mode.
   Only colours change — layout and sizes stay the same. */
.header { transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
.sb-header-light .header, [data-theme=light] .sb-header-dynamic .header { background: color-mix(in srgb, var(--sb-header-bg-light, var(--surface)) 97%, transparent); color: var(--ink); border-bottom-color: var(--line); box-shadow: 0 1px 0 #0000000a; }
:is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .header .logo { color: var(--green); }
:is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .header .logo-mark { color: #c69e3d; }
:is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .header .logo small { color: var(--muted); }
:is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .header .navlinks a:hover, :is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .header .navlinks .current-menu-item > a, :is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .header .navlinks .current_page_item > a, :is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .header .navlinks a[aria-current] { color: #8a5a00; }
:is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .header .navlinks .sub-menu { background: var(--surface); border-color: var(--line); box-shadow: 0 18px 40px #0b2c1b22; }
:is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .header .icon-btn { background: var(--surface2); color: var(--ink); border-color: var(--line); }
:is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .header .icon-btn:hover { border-color: #c69e3d; }
:is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .header .sb-lang-switcher summary { background: var(--surface2); color: var(--ink); border-color: var(--line); }
:is(.sb-header-light, [data-theme=light] .sb-header-dynamic) .sb-search { background: var(--sb-header-bg-light, var(--surface)); border-top-color: var(--line); }
.nav { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.logo, .custom-logo-link { display: flex; align-items: center; gap: 10px; color: var(--sb-header-text); font-weight: 800; font-size: 1.25rem; line-height: 1.1; text-decoration: none; font-family: var(--sb-font-heading); flex-shrink: 0; }
.custom-logo, .sb-logo-img { height: var(--sb-logo-h, 56px); max-height: none; width: auto; max-width: 240px; object-fit: contain; }
.footer .sb-logo-img { height: var(--sb-flogo-h, 56px); }
.logo-text { display: block; }
.logo-mark { font-size: 2rem; color: var(--sb-header-text); }
.logo small { display: block; font-size: .68rem; letter-spacing: .06em; color: #e7d9ae; font-weight: 500; margin-top: 5px; font-family: "DM Sans", var(--sb-font-body); }
.primary-nav { flex: 1; display: flex; justify-content: center; }
.navlinks { display: flex; align-items: center; gap: 21px; font-size: .92rem; list-style: none; margin: 0; padding: 0; }
.navlinks a { text-decoration: none; padding: 8px 2px; display: inline-block; }
.navlinks a:hover, .navlinks .current-menu-item > a, .navlinks .current_page_item > a, .navlinks a[aria-current] { color: var(--sb-header-text); }
.navlinks .sub-menu { display: none; position: absolute; background: var(--sb-header-bg); list-style: none; padding: 8px 14px; margin: 0; border-radius: 10px; min-width: 180px; z-index: 70; }
.navlinks li { position: relative; }
.navlinks li:hover > .sub-menu, .navlinks li:focus-within > .sub-menu { display: block; }
.navlinks .sub-menu { inset-inline-start: -14px; top: 100%; box-shadow: 0 18px 40px #0005; border: 1px solid #c69e3d44; }
.navlinks .sub-menu a { display: block; padding: 8px 2px; white-space: nowrap; }
.navlinks > .menu-item-has-children > a::after { content: "▾"; font-size: .7em; margin-inline-start: 5px; opacity: .8; }
.tools { display: flex; align-items: center; gap: 8px; }
.sb-cart-count { position: absolute; inset-block-start: -6px; inset-inline-end: -6px; min-width: 19px; height: 19px; border-radius: 99px; background: var(--gold); color: #1a2418; font-size: .7rem; font-weight: 800; display: grid; place-items: center; padding: 0 4px; }
.sb-cart-count[data-count="0"] { display: none; }
.sb-nav-toggle { display: none; }
.sb-search { background: var(--sb-header-bg); padding: 12px 0 16px; border-top: 1px solid #c69e3d33; }
.sb-search-form { display: flex; gap: 8px; }
.sb-search-form .search-field, .woocommerce-product-search .search-field { flex: 1; border: 1px solid var(--line); border-radius: 10px; padding: 11px 14px; background: var(--surface); color: var(--ink); min-width: 0; }
.woocommerce-product-search { display: flex; gap: 8px; }
.woocommerce-product-search button { border-radius: 10px; background: var(--gold); color: #1a2418; border: 0; padding: 0 18px; font-weight: 800; }
/* Mode toggle shows the icon of the current appearance. */
.sb-mode-icon { display: none; line-height: 0; }
html:not([data-appearance]) .sb-mode-icon--light, [data-appearance=light] .sb-mode-icon--light, [data-appearance=dark] .sb-mode-icon--dark, [data-appearance=system] .sb-mode-icon--system { display: inline; }

/* Focused landing layout. */
.sb-landing--focused .primary-nav, .sb-landing--focused .sb-nav-toggle, .sb-landing--focused .buy { display: none; }
.sb-landing--compact-footer .footgrid { display: none; }

/* ---------- Page hero + sections ---------- */
.pagehero { background: var(--surface2); padding: 48px 0; }
.pagehero h1 { font-size: clamp(2.1rem, 4vw, 3.5rem); line-height: 1.2; color: var(--green); margin: 8px 0; font-weight: 800; letter-spacing: -.02em; }
.pagehero p { color: var(--muted); max-width: 780px; margin: 0; }
.crumb, .woocommerce-breadcrumb { color: var(--muted); font-size: .86rem; margin: 0 0 6px; }
.crumb a, .woocommerce-breadcrumb a { text-decoration: none; }
.section { padding: 64px 0; }
.section.alt { background: var(--surface2); }
.eyebrow { color: var(--eyebrow, var(--gold)); font-weight: 800; letter-spacing: .04em; font-family: var(--sb-font-heading); }
.notice { background: var(--surface2); padding: 14px; border-radius: 12px; color: var(--muted); font-size: .92rem; }
.sb-blocks-page > *:first-child { margin-top: 0; }
.sb-blocks-page > :where(p, h2, h3, ul, ol, figure, .wp-block-image, .wp-block-group:not(.alignfull), .wp-block-columns) { width: min(860px, 92%); margin-inline: auto; }
.sb-blocks-page > .alignwide { width: min(var(--sb-container), 92%); margin-inline: auto; }

/* Prose (pages, posts, policies). */
.sb-prose { max-width: 820px; }
.sb-prose h2 { color: var(--green); font-size: 1.7rem; margin: 1.6em 0 .5em; }
.sb-prose h3 { color: var(--green); }
.sb-prose a { color: var(--green); text-underline-offset: 3px; }
[data-theme=dark] .sb-prose a { color: var(--green2); }
.sb-prose blockquote { border-inline-start: 4px solid var(--gold); margin-inline: 0; padding-inline-start: 18px; color: var(--muted); }
.sb-featured-image { border-radius: var(--sb-radius); margin-bottom: 24px; width: 100%; max-height: 460px; object-fit: cover; }
.sb-post-nav { display: flex; justify-content: space-between; gap: 16px; margin-top: 40px; border-top: 1px solid var(--line); padding-top: 18px; }

/* Cards (journal + product cards outside block sections). */
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--sb-radius); overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.sb-cards-bordered .card { box-shadow: none; }
.sb-cards-flat .card { box-shadow: none; border-color: transparent; }
.card img { width: 100%; height: 230px; object-fit: cover; background: var(--surface2); display: block; }
.cardbody { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.pill { font-size: .78rem; font-weight: 800; color: var(--green); background: var(--surface2); padding: 5px 10px; border-radius: 99px; align-self: flex-start; }
.card h2, .card h3 { margin: 10px 0 5px; color: var(--green); font-size: 1.18rem; }
.card h2 a, .card h3 a { text-decoration: none; }
.card p { color: var(--muted); margin: 0 0 12px; }
.cardfoot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; flex-wrap: wrap; }
.price { font-weight: 800; color: var(--price); }
.filterbar { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.filterbar a, .filterbar button { border: 1px solid var(--line); border-radius: 99px; background: var(--surface); color: var(--ink); padding: 8px 15px; text-decoration: none; cursor: pointer; }
.filterbar a.active, .filterbar button.active { background: var(--green); color: #fff0c6; border-color: var(--green); }
[data-theme=dark] .filterbar a.active { color: #10180f; }

/* Pagination. */
.navigation.pagination { margin-top: 32px; }
.nav-links { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; }
.page-numbers { min-width: 40px; height: 40px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; text-decoration: none; background: var(--surface); padding: 0 10px; }
.page-numbers.current { background: var(--green); color: #fff0c6; border-color: var(--green); }

/* Forms (comments, contact plugins, account). */
.sb-theme input[type=text], .sb-theme input[type=email], .sb-theme input[type=tel], .sb-theme input[type=password], .sb-theme input[type=number], .sb-theme input[type=search], .sb-theme input[type=url], .sb-theme select, .sb-theme textarea { background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; max-width: 100%; }
.sb-theme label { font-weight: 600; }
.sb-theme input:focus, .sb-theme select:focus, .sb-theme textarea:focus { border-color: var(--gold); }
.formbox { background: var(--surface); border: 1px solid var(--line); padding: 26px; border-radius: 20px; box-shadow: var(--shadow); }
.sb-404 .actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.sb-search-again { max-width: 560px; margin: 0 auto 28px; }

/* ---------- Cart drawer ---------- */
.sb-drawer-backdrop { position: fixed; inset: 0; background: #0007; z-index: 150; }
.cart-drawer { position: fixed; inset-block: 0; inset-inline-end: 0; width: min(420px, 100vw); background: var(--surface); color: var(--ink); z-index: 160; padding: 20px; overflow-y: auto; box-shadow: 0 0 55px #0004; display: flex; flex-direction: column; }
.cart-drawer__head { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); padding-bottom: 12px; margin-bottom: 12px; }
.cart-drawer__head h2 { margin: 0; color: var(--green); font-size: 1.4rem; }
.cart-drawer .icon-btn { background: var(--surface2); color: var(--ink); border-color: var(--line); }
.cart-drawer .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
/* Each item: photo + name, "1 × price" under the name, remove button at the end (never over the text).
   Strong selectors: WooCommerce's widget CSS floats the photo and shrinks it to 32px. */
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item { display: grid; grid-template-columns: minmax(0, 1fr) 32px; grid-template-rows: auto auto; column-gap: 10px; row-gap: 2px; align-items: center; padding: 14px 0; margin: 0; border-bottom: 1px solid var(--line); position: relative; }
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > a:not(.remove) { grid-column: 1; grid-row: 1; display: flex; align-items: center; gap: 12px; min-width: 0; text-decoration: none; font-weight: 700; color: var(--ink); line-height: 1.35; overflow-wrap: anywhere; }
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > a:not(.remove):hover { color: var(--green); }
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item img { float: none; width: 64px !important; height: 64px !important; max-width: none; flex: 0 0 64px; margin: 0 !important; object-fit: cover; object-position: center; border-radius: 12px; border: 1px solid var(--line); box-shadow: none; }
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item .quantity { grid-column: 1; grid-row: 2; margin: 0; padding-inline-start: 76px; color: var(--muted); font-size: .9rem; font-weight: 600; }
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove { position: static; grid-column: 2; grid-row: 1 / span 2; align-self: center; justify-self: end; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: 1.1rem; line-height: 1; font-weight: 400; text-decoration: none; color: var(--muted) !important; background: var(--surface2); border: 1px solid var(--line); transition: background .15s, color .15s, border-color .15s; }
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove:hover, .cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove:focus-visible { background: #b3261e !important; border-color: #b3261e; color: #fff !important; }
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item dl.variation { grid-column: 1; margin: 2px 0 0; padding-inline-start: 76px; font-size: .82rem; color: var(--muted); }
/* Close button: small, neat, aligned with the "Cart" title. */
.cart-drawer .cart-drawer__head .icon-btn { width: 36px; height: 36px; min-width: 36px; padding: 0; display: inline-grid; place-items: center; border-radius: 10px; background: transparent; border: 1px solid var(--line); color: var(--ink); box-shadow: none; font-size: 0; line-height: 0; flex: 0 0 36px; }
.cart-drawer .cart-drawer__head .icon-btn svg { width: 18px; height: 18px; }
.cart-drawer .cart-drawer__head .icon-btn:hover { background: var(--surface2); border-color: var(--gold); }
.cart-drawer .cart-drawer__head .icon-btn:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.cart-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; font-weight: 800; padding: 14px 0; }
.cart-drawer .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin-top: auto; }
.cart-drawer .woocommerce-mini-cart__buttons .button { width: 100%; background: var(--surface2); color: var(--ink); }
.cart-drawer .woocommerce-mini-cart__buttons .checkout { background: var(--gold); color: #1a2418; }
.cart-drawer .woocommerce-mini-cart__empty-message { color: var(--muted); }

/* ---------- Footer ---------- */
.footer { background: var(--sb-footer-bg); color: #eee1bd; padding: 48px 0 20px; }
.sb-footer-light .footer { background: var(--surface2); color: var(--ink); }
.footgrid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 26px; }
.footer-title { color: #f2cf69; font-size: 1.05rem; margin: 0 0 10px; }
.sb-footer-light .footer-title { color: var(--green); }
.footer a, .footer p, .footer li { color: #d2c9ae; font-size: .9rem; }
.sb-footer-light .footer a, .sb-footer-light .footer p, .sb-footer-light .footer li { color: var(--ink); }
.footer a { text-decoration: none; }
.footer a:hover { color: #f5d477; }
.footlinks { display: grid; gap: 7px; list-style: none; margin: 0; padding: 0; }
.footlinks--inline { display: inline-flex; gap: 14px; flex-wrap: wrap; }
.footbottom { border-top: 1px solid #ffffff2a; margin-top: 28px; padding-top: 16px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; color: #bdb59f; font-size: .82rem; align-items: center; }
.footbottom__links { display: inline-flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.footer .sb-link-button { color: #d2c9ae; font-size: .82rem; }
.sb-social { display: flex; gap: 10px; margin-top: 12px; }
.sb-social a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #ffffff33; border-radius: 50%; }

/* ---------- Comments ---------- */
.comment-list { list-style: none; padding: 0; }
.comment-body { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
	.navlinks { gap: 12px; font-size: .85rem; }
	.tools .buy { display: none; }
	.footgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
	.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	/* Tablet & phone: one row — logo, then the tools; the menu lives in the slide-in panel. */
	.nav { flex-wrap: nowrap; padding: 10px 0; gap: 10px; min-height: 66px; }
	.primary-nav, .tools .sb-account-btn { display: none; }
	.sb-nav-toggle { display: inline-grid; }
	.logo { font-size: 1.08rem; min-width: 0; }
	.logo-mark { font-size: 1.6rem; }
	.custom-logo, .sb-logo-img { height: var(--sb-logo-h-m, 42px); max-width: 170px; }
	.tools { margin-inline-start: auto; gap: 6px; flex-shrink: 0; }
}
@media (max-width: 720px) {
	.topline .container { justify-content: center; }
	.topline .container span:nth-child(2) { display: none; }
	.grid { grid-template-columns: 1fr; }
	.section { padding: 48px 0; }
	.pagehero { padding: 34px 0; }
	.footgrid { grid-template-columns: 1fr 1fr; }
	.footer-brand { grid-column: 1 / -1; }
	.footbottom { flex-direction: column; align-items: flex-start; }
	.tools .icon-btn { min-width: 38px; height: 38px; }
	.sb-lang-switcher summary { padding: 6px 8px; }
	.sb-lang-switcher summary > span:not(.sb-lang-switcher__globe) { display: none; }
}
@media (max-width: 520px) {
	.header .tools > .sb-mode-toggle { display: none; } /* In the menu panel instead. */
	.logo small { font-size: .62rem; letter-spacing: .04em; }
}
@media (max-width: 380px) {
	.logo small { display: none; }
	.tools { gap: 4px; }
	.tools .icon-btn { min-width: 36px; height: 36px; padding: 0 6px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.btn:hover { transform: none; }
}

/* ---------- Slide-in menu (tablet & phone) ---------- */
html.sb-scroll-lock, html.sb-scroll-lock body { overflow: hidden; }
.sb-mnav-backdrop, .sb-drawer-backdrop { position: fixed; inset: 0; background: #0b1a1299; z-index: 150; opacity: 0; transition: opacity .28s ease; }
.sb-mnav-backdrop.is-open, .sb-drawer-backdrop.is-open { opacity: 1; }
.sb-mnav { position: fixed; inset-block: 0; inset-inline-start: 0; width: min(340px, 88vw); background: var(--sb-header-bg); color: #fff5d8; z-index: 160; display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 24px; overflow-y: auto; overscroll-behavior: contain; box-shadow: 0 0 60px #0006; transform: translateX(-104%); transition: transform .28s cubic-bezier(.2,.8,.2,1); }
[dir=rtl] .sb-mnav { transform: translateX(104%); }
.sb-mnav.is-open { transform: none; }
.cart-drawer { transform: translateX(104%); transition: transform .28s cubic-bezier(.2,.8,.2,1); }
[dir=rtl] .cart-drawer { transform: translateX(-104%); }
.cart-drawer.is-open { transform: none; }
.sb-mnav__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid #ffffff1f; }
.sb-mnav__head .logo { font-size: 1.05rem; }
.sb-mnav__nav { padding: 6px 0; }
.sb-mnav__links, .sb-mnav__links ul { list-style: none; margin: 0; padding: 0; }
.sb-mnav__links li { position: relative; display: flex; flex-wrap: wrap; align-items: center; border-bottom: 1px solid #ffffff14; }
.sb-mnav__links a { flex: 1; color: inherit; text-decoration: none; padding: 14px 4px; font-size: 1.02rem; font-weight: 600; }
.sb-mnav__links a:hover, .sb-mnav__links a[aria-current], .sb-mnav__links .current-menu-item > a { color: var(--gold); }
.sb-mnav__links ul { flex-basis: 100%; padding-inline-start: 14px; padding-bottom: 6px; }
.sb-mnav__links ul li { border: 0; }
.sb-mnav__links ul a { padding: 9px 4px; font-weight: 500; font-size: .95rem; opacity: .9; }
.sb-mnav__sub-toggle { background: none; border: 1px solid #ffffff2a; color: inherit; width: 36px; height: 36px; border-radius: 9px; cursor: pointer; transition: transform .2s; }
.sb-mnav__sub-toggle[aria-expanded=true] { transform: rotate(180deg); }
.sb-mnav__extra { display: grid; gap: 6px; margin-top: 8px; }
.sb-mnav__row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 12px; border-radius: 12px; border: 1px solid #ffffff1f; background: #ffffff0a; color: inherit; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; text-align: start; }
.sb-mnav__row:hover { border-color: #c69e3d88; }
.sb-mnav__icon { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: #ffffff12; color: var(--gold); }
.sb-mnav__icon svg { width: 18px; height: 18px; }
.sb-mnav__cta { margin-top: 12px; width: 100%; }
.sb-mnav .sb-social { margin-top: 14px; }
.sb-mnav :focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.sb-mnav .sb-mode-icon { display: none; }
[data-appearance=light] .sb-mnav .sb-mode-icon--light, [data-appearance=dark] .sb-mnav .sb-mode-icon--dark, [data-appearance=system] .sb-mnav .sb-mode-icon--system, html:not([data-appearance]) .sb-mnav .sb-mode-icon--light { display: inline-grid; }
@media (min-width: 901px) { .sb-mnav, .sb-mnav-backdrop { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .sb-mnav, .cart-drawer, .sb-mnav-backdrop, .sb-drawer-backdrop { transition: none; } }

/* ---------- Single journal post ---------- */
.sb-single__header { background: radial-gradient(circle at 85% 0%, #e3b94f2e, transparent 45%), var(--surface2); padding: 56px 0 96px; }
.sb-single__head { max-width: 860px; text-align: center; }
.sb-single__cats { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.sb-single__cats .pill { text-decoration: none; background: var(--surface); }
.sb-single__title { font-size: clamp(2rem, 4.6vw, 3.4rem); line-height: 1.15; color: var(--green); margin: 0 0 14px; letter-spacing: -.01em; }
[data-theme=dark] .sb-single__title { color: #ffe39a; }
.sb-single__lead { font-size: 1.15rem; color: var(--muted); max-width: 680px; margin: 0 auto 18px; }
.sb-single__meta { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; color: var(--muted); font-size: .95rem; }
.sb-single__avatar { border-radius: 50%; width: 40px; height: 40px; border: 2px solid var(--gold); }
.sb-single__author { font-weight: 700; color: var(--ink); }
.sb-single__figure { margin: -64px auto 0; max-width: 1080px; }
.sb-single__image { width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: calc(var(--sb-radius) + 6px); box-shadow: 0 24px 60px #0b2c1b26; display: block; }
.sb-single__figure figcaption { text-align: center; color: var(--muted); font-size: .88rem; margin-top: 10px; }
.sb-single__body { max-width: 760px; padding-block: 48px 24px; }
.sb-single__content { max-width: none; font-size: 1.1rem; line-height: 1.85; }
.sb-single__content > * + * { margin-top: 1.1em; }
.sb-single__content h2 { font-size: clamp(1.5rem, 2.6vw, 1.9rem); margin: 1.8em 0 .5em; line-height: 1.3; }
.sb-single__content h3 { font-size: 1.3rem; margin: 1.6em 0 .4em; }
.sb-single__content p { margin: 0 0 1.1em; }
.sb-single__content img, .sb-single__content figure img { border-radius: 14px; height: auto; }
.sb-single__content figure { margin: 1.8em 0; }
.sb-single__content ul, .sb-single__content ol { padding-inline-start: 1.3em; }
.sb-single__content li + li { margin-top: .35em; }
.sb-single__content blockquote { font-size: 1.2rem; font-style: italic; color: var(--ink); background: var(--surface); border-radius: 0 14px 14px 0; padding: 16px 22px; }
.sb-single__footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 36px; padding-top: 22px; border-top: 1px solid var(--line); }
.sb-single__tags { display: flex; gap: 8px; flex-wrap: wrap; }
.sb-single__tags a { text-decoration: none; color: var(--muted); background: var(--surface); border: 1px solid var(--line); padding: 5px 12px; border-radius: 99px; font-size: .88rem; }
.sb-share { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; position: relative; }
.sb-share__label { font-weight: 700; color: var(--green); margin-inline-end: 4px; }
.sb-share__btn { width: 40px; height: 40px; border-radius: 50%; display: inline-grid; place-items: center; border: 1px solid var(--line); background: var(--surface); color: var(--green); cursor: pointer; transition: transform .15s, background .15s, color .15s; }
.sb-share__btn:hover { background: var(--green); color: #ffe39a; transform: translateY(-2px); }
.sb-share__btn svg { width: 18px; height: 18px; }
.sb-share__status { font-size: .85rem; color: #2b7a3d; }
.sb-post-nav--cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; border: 0; padding-top: 0; }
.sb-post-nav__card { display: flex; align-items: center; gap: 14px; padding: 14px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); text-decoration: none; color: var(--ink); transition: border-color .15s, transform .15s; min-width: 0; }
.sb-post-nav__card:hover { border-color: var(--gold); transform: translateY(-2px); }
.sb-post-nav__card--next { flex-direction: row-reverse; text-align: end; }
.sb-post-nav__card img { width: 64px; height: 64px; object-fit: cover; border-radius: 12px; flex: 0 0 64px; }
.sb-post-nav__card span { min-width: 0; }
.sb-post-nav__card small { display: block; color: var(--muted); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.sb-post-nav__card strong { display: block; color: var(--green); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sb-related-posts__title { text-align: center; color: var(--green); font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin: 0 0 26px; }
.sb-related-posts__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sb-post-card img { width: 100%; aspect-ratio: 16 / 10; height: auto; object-fit: cover; }
.sb-single__comments { padding-block: 40px 56px; max-width: 760px; }
@media (max-width: 900px) { .sb-related-posts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
	.sb-single__header { padding: 36px 0 72px; }
	.sb-single__figure { margin-top: -48px; }
	.sb-single__body { padding-top: 32px; }
	.sb-single__content { font-size: 1.04rem; }
	.sb-post-nav--cards, .sb-related-posts__grid { grid-template-columns: 1fr; }
	.sb-single__footer { flex-direction: column; align-items: flex-start; }
}
/* Comment form (Astra wraps the textarea in a fieldset): one clean, full-width style. */
.comment-respond fieldset.comment-form-comment { border: 0; padding: 0; margin: 0 0 14px; min-width: 0; }
.comment-respond .comment-form-textarea, .comment-respond textarea, .comment-respond input[type=text], .comment-respond input[type=email], .comment-respond input[type=url] { width: 100% !important; max-width: 100%; box-sizing: border-box; }
.comment-respond .ast-comment-formwrap, .comment-respond .ast-grid-common-col { width: 100%; padding: 0; float: none; }
.comment-respond .comment-form-author, .comment-respond .comment-form-email, .comment-respond .comment-form-url { margin: 0 0 12px; }
.comment-respond .form-submit input[type=submit] { background: var(--gold); color: #1a2418; border: 0; border-radius: var(--sb-radius-btn, 999px); padding: 12px 28px; font-weight: 800; font-family: var(--sb-font-heading); cursor: pointer; }
.comment-respond .comment-reply-title { color: var(--green); font-size: 1.4rem; }
.comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; font-size: .9rem; }
