/* ==========================================================================
   Minimal Boxed — editorial, boxed layout
   Cream ground, serif display type, hairline borders, one accent.
   Loaded after the core tokens; inherits templates from the default theme.
   ========================================================================== */

:root{
  --paper:#fbfaf7;
  --paper-2:#f5f3ed;
  --ink:#191714;
  --ink-soft:#5d5850;
  --rule:#e2ddd2;
  --rule-strong:#cfc7b7;
  --box:#fffefb;
  --accent-ink:#7a4b1e;

  --wrap:1120px;
  --gutter:clamp(1rem,4vw,2.5rem);
  --box-pad:clamp(1.15rem,3vw,2rem);
  --section-y:clamp(1.5rem,3.4vw,2.6rem);

  --font-display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --font-body:Georgia,"Iowan Old Style","Times New Roman",serif;
  --font-ui:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ---------- Foundations ---------- */
html{background:var(--paper);color:var(--ink)}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body)}
:root{--surface:var(--paper);--surface-2:var(--paper-2);--text:var(--ink);--muted:var(--ink-soft);--border:var(--rule)}

h1,h2,h3,h4,.site-header .brand,.hero h1,.hero h2,.block>.container>h2:first-child{font-family:var(--font-display)!important;font-weight:600;letter-spacing:-.01em;line-height:1.14;color:var(--ink)}
h1,.hero h1,.hero h2{font-size:clamp(1.9rem,4.6vw,3.1rem)}
h2{font-size:clamp(1.35rem,2.8vw,1.95rem)}
h3{font-size:clamp(1.05rem,1.8vw,1.22rem)}
body,.lead,.prose{font-family:var(--font-body);color:var(--ink)}
.lead{color:var(--ink-soft);font-size:1.05rem;line-height:1.68;max-width:64ch}
a{color:inherit;text-decoration-color:var(--rule-strong);text-underline-offset:.18em}
a:hover{color:var(--accent-ink)}
.eyebrow{font-family:var(--font-ui);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 .5rem}

.container{width:min(calc(100% - var(--gutter) * 2),var(--wrap));margin-inline:auto}

/* Every top-level section becomes a bordered box on the paper ground. */
.section,.article-page,.blog-index,.auth-section,.offline-page{padding-block:0}
main>.container,main>section>.container,article.container{padding-block:0}
main>section,main>article,section.section,article.article-page{padding-block:clamp(.4rem,1.2vw,1rem)}

/* ---------- Header ---------- */
.site-header{background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:50;backdrop-saturate:0}
.header-inner{min-height:76px;gap:clamp(.75rem,2vw,1.75rem);border-left:1px solid var(--rule);border-right:1px solid var(--rule);padding-inline:var(--box-pad)}
.site-header .brand{font-size:1.4rem;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}
.header-inner{background:var(--box)}
.primary-nav>ul{gap:clamp(.85rem,2vw,1.6rem);font-family:var(--font-ui);font-size:.82rem;letter-spacing:.09em;text-transform:uppercase}
.primary-nav a{text-decoration:none;padding-block:.4rem;border-bottom:1px solid transparent}
.primary-nav a:hover{border-bottom-color:var(--accent-ink)}
.header-actions{gap:.35rem}
.icon-button{border:1px solid transparent;border-radius:0}
.icon-button:hover{border-color:var(--rule);background:var(--paper-2)}
.instant-search input{background:var(--box);border:1px solid var(--rule);border-radius:0;font-family:var(--font-ui);font-size:.85rem}
.cart-link{border:1px solid var(--rule);border-radius:0;padding:.3rem .6rem;background:var(--box)}
.cart-count{background:var(--accent-ink);color:#fff;border-radius:0;font-family:var(--font-ui);font-size:.7rem;letter-spacing:.04em}

/* ---------- Hero ---------- */
.block--hero>.container,.hero{padding-block:0}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:center;border:1px solid var(--rule);background:var(--box);padding:clamp(1.4rem,3.5vw,2.6rem);margin-block:clamp(.6rem,1.6vw,1.1rem)}
.hero h1,.hero h2{font-size:clamp(1.9rem,4.4vw,3rem);max-width:18ch;margin-bottom:.65rem}
.hero .lead{max-width:44ch;margin-bottom:1.1rem}
.hero-slider__image{border-radius:0;border:1px solid var(--rule);max-height:min(42vh,340px);aspect-ratio:4/3}
.hero-slider__controls{display:none}

/* ---------- Buttons ---------- */
.button{border-radius:0;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--font-ui);font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;min-height:44px;padding:.6rem 1.1rem}
.button:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff;transform:none}
.button--ghost{background:transparent;color:var(--ink);border-color:var(--rule-strong)}
.button--ghost:hover{background:var(--paper-2);border-color:var(--ink);color:var(--ink)}
.button--light{background:var(--box);border-color:var(--ink);color:var(--ink)}
.button--small{min-height:38px;font-size:.74rem;padding:.4rem .8rem}

/* ---------- Blocks & boxes ---------- */
.block{border-bottom:1px solid var(--rule)}
.block>.container{padding-block:var(--section-y)}
.block>.container>h2:first-child,.section-heading h2{border-bottom:1px solid var(--rule-strong);padding-bottom:.5rem;margin-bottom:1.1rem;font-size:clamp(1.2rem,2.4vw,1.6rem)}
.section-heading{align-items:flex-end;gap:1rem;margin-bottom:0}
.section-heading>a{font-family:var(--font-ui);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);text-decoration:none;border-bottom:1px solid var(--accent-ink);padding-bottom:.1rem}

/* Category tiles */
.category-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0;border:1px solid var(--rule);border-bottom:0;border-right:0;background:var(--box);margin-top:.2rem}
.category-grid>*{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.category-card{border:0;border-radius:0;background:transparent;padding:1rem 1.1rem;min-height:0;display:flex;flex-direction:column}
.category-card:hover{background:var(--paper-2);box-shadow:none;transform:none}
.category-card h3{font-family:var(--font-display);font-size:1.02rem}
.category-card p{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.02em;color:var(--ink-soft)}
.category-card span{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}

/* Product & post cards */
.product-grid,.post-grid{gap:0;border:1px solid var(--rule);border-bottom:0;border-right:0;background:var(--box)}
.product-grid>*:last-child,.post-grid>*:last-child{border-right:1px solid var(--rule)}
.product-card,.post-card{border:0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);border-radius:0;background:var(--box);box-shadow:none;min-width:0}
.product-grid,.post-grid{grid-auto-rows:1fr}
.product-card:hover,.post-card:hover{box-shadow:none;transform:none;background:#fff}
.product-card__body,.post-card__body{padding:.85rem 1rem 1rem}
.product-card__price{font-family:var(--font-display);font-size:1.05rem}
.post-card__meta{font-family:var(--font-ui);font-size:.66rem;letter-spacing:.14em;color:var(--accent-ink)}
.post-card__title a{text-decoration:none}
.post-card__more{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}
.product-card__image,.post-card__image{background:var(--paper-2)}

/* Tool cards */
.tool-card,.card{border:1px solid var(--rule);border-radius:0;background:var(--box);box-shadow:none}
.tool-card .eyebrow{font-size:.62rem}

/* ---------- Footer ---------- */
.site-footer,.footer{background:var(--paper-2);border-top:1px solid var(--rule);color:var(--ink)}
.footer-grid{border-left:1px solid var(--rule);border-right:1px solid var(--rule);padding-inline:var(--box-pad)}
.footer h2{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.newsletter .input-group{border:1px solid var(--rule-strong);background:var(--box);border-radius:0}
.newsletter input{border:0;background:transparent;border-radius:0}
.newsletter .button{border-radius:0}
.footer-bottom{border-top:1px solid var(--rule);font-family:var(--font-ui);font-size:.78rem}

/* ---------- Article & prose ---------- */
.article-wrap{max-width:var(--wrap)}
.article-head h1{font-size:clamp(1.8rem,4vw,2.7rem);max-width:26ch}
.breadcrumbs{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding-top:1rem}
.prose{font-size:1.03rem;line-height:1.78;max-width:none}
.prose h2,.prose h3{font-family:var(--font-display)}
.prose img,.featured-figure img{border-radius:0;border:1px solid var(--rule)}
.prose blockquote{border-left:2px solid var(--accent-ink);background:var(--paper-2);border-radius:0;color:var(--ink-soft);font-style:italic}
.quick-answer{border:1px solid var(--rule);border-left:2px solid var(--accent-ink);background:var(--box);border-radius:0}
.faq-list details{border:1px solid var(--rule);border-radius:0;background:var(--box)}

/* ---------- Forms, auth, search ---------- */
input,select,textarea{border:1px solid var(--rule-strong);border-radius:0;background:var(--box);font-family:var(--font-ui);font-size:.92rem}
.auth-card{border:1px solid var(--rule);border-radius:0;background:var(--box);box-shadow:none;padding:clamp(1.3rem,3vw,2rem)}
.auth-card h1{font-size:clamp(1.5rem,3vw,2rem)}
.auth-divider{font-family:var(--font-ui)}
.captcha{border:1px solid var(--rule);border-radius:0;background:var(--paper-2);font-family:var(--font-ui)}
.captcha__question{font-family:var(--font-display);font-size:1.05rem}
.contact-card,.contact-form-panel{border:1px solid var(--rule);border-radius:0;background:var(--box);box-shadow:none}
.contact-icon{border-radius:0;background:var(--paper-2);color:var(--accent-ink)}
.search-group,.filter-bar,.search-hit{border:1px solid var(--rule);border-radius:0;background:var(--box)}
.cookie-banner{border-radius:0;border:1px solid var(--ink);background:var(--box);box-shadow:none}

/* Tables, pagination, empty state */
table{border:1px solid var(--rule)}
th{background:var(--paper-2);font-family:var(--font-ui);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
.pagination a,.pagination span{border:1px solid var(--rule);border-radius:0;font-family:var(--font-ui);font-size:.8rem}
.empty-state{border:1px dashed var(--rule-strong);border-radius:0;background:var(--box)}

/* ---------- Responsive ---------- */
@media(max-width:1023px){
  .hero{grid-template-columns:1fr;padding:clamp(1.1rem,3vw,1.7rem)}
  .hero-slider__image{max-height:none;aspect-ratio:16/10}
}
@media(max-width:767px){
  :root{--gutter:.9rem}
  .header-inner{min-height:60px;border-left:0;border-right:0;padding-inline:0}
  .site-header .brand{font-size:1.2rem}
  .category-grid{grid-template-columns:1fr}
  .product-grid{border-left:0}
  .post-grid .post-card{aspect-ratio:auto}
  .footer-grid{border-left:0;border-right:0;padding-inline:0}
  .primary-nav>ul{font-size:.9rem}
}
