* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
a { text-underline-offset: .22em; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--wp--preset--color--focus, #92502c); outline-offset: 4px; }
input:not([type=checkbox]):not([type=radio]), select, textarea { max-width: 100%; }
.wp-site-blocks { min-height: 100vh; }
.tovari-main { padding: clamp(28px, 5vw, 64px) max(20px, calc((100vw - 1200px) / 2)) clamp(56px, 8vw, 104px); }
.tovari-main > * { max-width: 1200px; margin-inline: auto; }
.tovari-main:focus { outline: none; }
.tovari-page-content { min-height: 40vh; }
.tovari-content-narrow { max-width: 760px !important; }
.tovari-header { border-bottom: 1px solid var(--wp--preset--color--line); padding: 22px max(20px, calc((100vw - 1200px) / 2)); }
.tovari-site-navigation { gap: 24px; }
.tovari-brand { font-size: clamp(1.05rem, 2vw, 1.4rem); font-weight: 750; letter-spacing: -.04em; }
.tovari-brand a { text-decoration: none; }
.tovari-navigation-tools { gap: 18px; }
.tovari-header-search { max-width: 320px; width: 100%; margin-block: 18px 0; }
.tovari-header .wp-block-navigation { font-size: .88rem; }
.tovari-base-footer { border-top: 1px solid var(--wp--preset--color--line); padding: 44px max(20px, calc((100vw - 1200px) / 2)); }
.tovari-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; }
.tovari-footer-copy { color: var(--wp--preset--color--muted); max-width: 36rem; }
.tovari-eyebrow { font-size: .75rem; line-height: 1.5; text-transform: uppercase; letter-spacing: .15em; font-weight: 700; }
.tovari-hero { padding-block: clamp(20px, 4vw, 52px) clamp(36px, 6vw, 76px); }
.tovari-hero-title { font-size: clamp(2.75rem, 7vw, 6rem); line-height: 1.02; letter-spacing: -.065em; max-width: 860px; }
.tovari-lead { font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.7; max-width: 650px; color: var(--wp--preset--color--muted); }
.tovari-section { margin-block: clamp(44px, 7vw, 84px); }
.tovari-section-header { margin-bottom: 28px; }
.tovari-panel { padding: clamp(24px, 4vw, 44px); background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); border-radius: 16px; }
.tovari-notice { border-left: 3px solid var(--wp--preset--color--accent); padding-left: 20px; color: var(--wp--preset--color--muted); }
.tovari-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tovari-card-grid > * { min-width: 0; margin: 0; }
.tovari-catalog-layout { display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.tovari-catalog-layout > * { min-width: 0; margin-top: 0; }
.tovari-catalog-controls { gap: 20px; margin-bottom: 28px; }
.tovari-catalog-search { max-width: 420px; width: 100%; }
.tovari-catalog .wp-block-woocommerce-product-filters { gap: 28px; }
.tovari-catalog .wp-block-woocommerce-product-collection { margin-top: 0; }
.tovari-product-layout { gap: clamp(28px, 5vw, 72px); align-items: start; }
.tovari-product-summary { min-width: 0; }
/* Keep the native product option text and touch target fully visible. */
.tovari-product-summary select { line-height: normal; min-height: 44px; }
.tovari-product-summary > * { margin-block: 0 22px; }
.tovari-product-summary h1 { font-size: clamp(2.1rem, 4vw, 3.8rem); line-height: 1.08; }
.tovari-product-meta { border-top: 1px solid var(--wp--preset--color--line); padding-top: 18px; font-size: .85rem; }
.tovari-empty-state { padding: 44px 24px; border: 1px dashed var(--wp--preset--color--line); border-radius: 12px; background: var(--wp--preset--color--surface); }
.tovari-account { max-width: 1000px !important; }
.tovari-policy h2 { margin-top: 36px; }
.tovari-faq { border-bottom: 1px solid var(--wp--preset--color--line); padding-block: 20px; }
.tovari-faq summary { font-weight: 650; cursor: pointer; padding-block: 8px; }
.tovari-faq p { color: var(--wp--preset--color--muted); max-width: 65ch; }
.tovari-404 { padding-block: clamp(48px, 10vw, 120px); }
.tovari-404 h1 { font-size: clamp(3rem, 8vw, 6rem); }
/* Public block roots only; internal WooCommerce component markup stays upstream-owned. */
.wp-block-woocommerce-product-image, .wp-block-woocommerce-product-image-gallery { border-radius: 14px; overflow: hidden; }
.wp-block-woocommerce-product-button { margin-top: 16px; }
.wp-block-woocommerce-product-results-count, .wp-block-woocommerce-catalog-sorting { font-size: .875rem; }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-size: 1rem; }
/* Woo prints this public notice at body-open. Keep it in document flow so it
   cannot cover mobile checkout actions or other keyboard/pointer targets. */
.woocommerce-store-notice.demo_store { position: static; inset: auto; width: auto; margin: 0; padding: 12px 20px; font-size: .875rem; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); border-bottom: 1px solid var(--wp--preset--color--line); box-shadow: none; z-index: auto; }
.woocommerce-store-notice.demo_store a { color: inherit; }
/* Account remains the documented WooCommerce shortcode in this pinned version. */
.tovari-account input, .tovari-account select, .tovari-account textarea { border: 1px solid var(--wp--preset--color--line); border-radius: 6px; padding: 10px 12px; background: var(--wp--preset--color--base); }
.tovari-account button { min-height: 44px; border-radius: 6px; }
.tovari-account nav { line-height: 2.5; }
.tovari-account table { width: 100%; border-collapse: collapse; overflow-wrap: anywhere; }
.tovari-account th, .tovari-account td { text-align: left; padding: 12px 8px; border-bottom: 1px solid var(--wp--preset--color--line); }
@media (max-width: 780px) {
  .tovari-header { padding-block: 18px; }
  .tovari-site-navigation { gap: 16px; }
  .tovari-navigation-tools { gap: 14px; }
  .tovari-header-search { max-width: none; }
  .tovari-footer-grid, .tovari-catalog-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .tovari-card-grid { grid-template-columns: minmax(0, 1fr); }
  .tovari-catalog-controls { align-items: flex-start; }
  .tovari-catalog-search { max-width: none; }
  .tovari-product-layout { gap: 32px; }
}
/* Limit motion preferences to theme-owned behavior; native block galleries
   manage their own animation and measurement lifecycle. */
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
