/* Slate Online — self-hosted variable faces, root-relative so the http→https flip cannot break them */
@font-face{font-family:'SO Serif';src:url('/wp-content/uploads/fonts/newsreader-latin.woff2') format('woff2-variations');font-weight:200 800;font-style:normal;font-display:swap;}
@font-face{font-family:'SO Sans';src:url('/wp-content/uploads/fonts/inter-latin.woff2') format('woff2-variations');font-weight:100 900;font-style:normal;font-display:swap;}

:root{
  --so-ink:#2e3338; --so-ink-2:#3d444b; --so-muted:#7a8189;
  --so-clay:#a8763e; --so-clay-d:#8a5f30;
  --so-paper:#f2efe9; --so-line:#e2ddd3; --so-white:#fff;
}

body,.ast-container{font-family:'SO Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--so-ink-2);}
h1,h2,h3,h4,.site-title{font-family:'SO Serif',Georgia,'Times New Roman',serif;color:var(--so-ink);font-weight:700;letter-spacing:-.01em;}
h1{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.12;}
h2{font-size:clamp(1.4rem,2.6vw,2.05rem);line-height:1.2;margin-top:2.2em;}

/* ---- sections / prose ---- */
.sfc-section{padding:clamp(2.4rem,6vw,4.6rem) 0;}
.sfc-prose{max-width:44rem;margin:0 auto;padding:0 1.25rem;font-size:1.055rem;line-height:1.72;}
.sfc-prose h1{margin-bottom:.5em;}
.sfc-prose .sfc-lede{font-size:1.24rem;line-height:1.6;color:var(--so-muted);margin-bottom:2.1em;}
.sfc-prose ul{padding-left:1.15rem;margin:1.1em 0;}
.sfc-prose li{margin:.42em 0;}
.sfc-prose a{color:var(--so-clay);text-underline-offset:3px;}
.sfc-prose a:hover{color:var(--so-clay-d);}

/* ---- home ---- */
.so-hero{background:var(--so-paper);border-bottom:1px solid var(--so-line);padding:clamp(3rem,8vw,6rem) 1.25rem;text-align:center;}
.so-hero h1{max-width:19ch;margin:0 auto .5em;}
.so-hero p{max-width:52ch;margin:0 auto 1.9em;font-size:1.16rem;line-height:1.65;color:var(--so-muted);}
.so-btn{display:inline-block;background:var(--so-ink);color:#fff!important;padding:.92em 2.1em;border-radius:2px;
  font-weight:600;letter-spacing:.02em;text-decoration:none;transition:background .18s;}
.so-btn:hover{background:var(--so-clay);}
.so-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:2.6rem;padding:1.5rem 1.25rem;border-bottom:1px solid var(--so-line);
  font-size:.83rem;letter-spacing:.13em;text-transform:uppercase;color:var(--so-muted);}
.so-wrap{max-width:1200px;margin:0 auto;padding:0 1.25rem;}
.so-head{text-align:center;margin:clamp(2.6rem,6vw,4.4rem) 0 2rem;}
.so-head p{color:var(--so-muted);max-width:50ch;margin:.6em auto 0;}
.so-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:1.6rem;margin-bottom:3.2rem;}
.so-card{display:block;text-decoration:none;color:inherit;}
.so-card .so-ph{aspect-ratio:1/1;background:var(--so-paper);border:1px solid var(--so-line);overflow:hidden;}
.so-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.so-card:hover img{transform:scale(1.035);}
.so-card b{display:block;margin-top:.78em;font-weight:600;font-size:1.005rem;color:var(--so-ink);}
.so-card span{display:block;color:var(--so-muted);font-size:.94rem;margin-top:.14em;}
.so-band{background:var(--so-paper);border-top:1px solid var(--so-line);border-bottom:1px solid var(--so-line);
  padding:clamp(2.4rem,5vw,3.8rem) 1.25rem;text-align:center;margin:1rem 0 0;}
.so-band p{max-width:56ch;margin:.7em auto 0;color:var(--so-muted);line-height:1.7;}

/* ---- woo ---- */
.woocommerce ul.products li.product .price{color:var(--so-ink);font-weight:600;}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--so-clay);}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--so-ink);color:#fff;border-radius:2px;font-weight:600;}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover{background:var(--so-clay);color:#fff;}
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce input.button.alt{background:var(--so-clay);}
.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--so-clay-d);}

/* ---- Astra loop card: stop price/button overlap (absolute-positioned add-to-cart) ---- */
.woocommerce ul.products li.product{display:flex!important;flex-direction:column!important;}
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{position:static!important;float:none!important;transform:none!important;}
.ast-on-card-button,.ast-card-action-tooltip,.ast-select-options-trigger{display:none!important;}
.astra-shop-summary-wrap{display:flex;flex-direction:column;}
.woocommerce-product-gallery{opacity:1!important;}

/* ---- checkout: chain body.woocommerce-checkout so it also wins on MOBILE ---- */
body.woocommerce-checkout .site-header,
body.woocommerce-checkout .ast-above-header,
body.woocommerce-checkout .ast-below-header,
body.woocommerce-checkout .site-footer{display:none!important;}
body.woocommerce-checkout #content{padding-top:1.6rem!important;}
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout #order_review_heading{font-family:'SO Serif',Georgia,serif;}
@media (max-width:768px){
  body.woocommerce-checkout #customer_details{width:100%!important;float:none!important;}
  body.woocommerce-checkout .col2-set .col-1,
  body.woocommerce-checkout .col2-set .col-2{width:100%!important;float:none!important;}
}

/* ---- kill theme/platform attribution ---- */
.site-footer a[href*='wpastra'],.site-footer a[href*='wordpress.org']{display:none!important;}
.ast-footer-copyright p{color:var(--so-muted);font-size:.88rem;}
.ast-footer-copyright a{color:var(--so-muted);}

/* ---- header/title corrections ---- */
.site-header .site-title,.ast-site-identity .site-title,.site-header .site-description{display:none!important;}
.custom-logo-link img,.site-logo-img img{max-height:76px!important;width:auto!important;}
.home .entry-title,.home .ast-archive-title{display:none!important;}
.home .entry-header{display:none!important;}
.home .site-content .ast-container{padding-top:0!important;}
.home .entry-content{margin-top:0!important;}

/* WooCommerce renders a price as nested spans; the card's blanket span rule turned each of
   them into its own line ($ / 50.00 / – / $ / 110.00). Keep card meta block-level but force
   anything WooCommerce emits inside a price back to inline. */
.so-card .so-price,.so-card b{text-decoration:none;}
.so-card .so-price span,.so-card .woocommerce-Price-amount,
.so-card .woocommerce-Price-currencySymbol,.so-card del,.so-card ins{display:inline!important;}
.so-card .so-price{display:block;color:var(--so-muted);font-size:.94rem;margin-top:.14em;}
.so-card .so-price ins{text-decoration:none;}
.so-card,.so-card *{text-decoration:none!important;}
