/* Altera Home - storefront brand layer.
   Faces are SELF-HOSTED variable woff2 with real wght axes (fraunces 100-900, inter 100-900).
   src: url() MUST be ABSOLUTE - a relative url resolves against /wp-content/litespeed/css/ and 404s. */
@font-face{font-family:'AH Serif';src:url('https://alteraonline.store/wp-content/uploads/assets/fonts/fraunces.woff2') format('woff2-variations');
  font-weight:300 700;font-style:normal;font-display:swap;font-variation-settings:'opsz' 48;}
@font-face{font-family:'AH Sans';src:url('https://alteraonline.store/wp-content/uploads/assets/fonts/inter.woff2') format('woff2-variations');
  font-weight:300 700;font-style:normal;font-display:swap;}

:root{
  --ah-ink:#221F1B; --ah-ink-soft:#4A443C; --ah-paper:#F8F4ED; --ah-paper-2:#F1EADF;
  --ah-line:#E0D6C7; --ah-clay:#A85F3C; --ah-clay-dark:#8C4C2E; --ah-sage:#75846C; --ah-brass:#A8873F;
}

/* Astra's own rule is later in the cascade - `html body` outranks a bare `body`. */
html body{background:var(--ah-paper);color:var(--ah-ink);
  font-family:'AH Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;}
html body h1,html body h2,html body h3,html body h4,html body .ah-serif{
  font-family:'AH Serif',Georgia,'Times New Roman',serif;color:var(--ah-ink);
  font-weight:600;letter-spacing:-.012em;line-height:1.14;}
html body a{color:var(--ah-clay-dark);text-underline-offset:3px;}
html body a:hover{color:var(--ah-ink);}

/* header / nav */
.ast-primary-header-bar,.main-header-bar{background:var(--ah-paper)!important;border-bottom:1px solid var(--ah-line)!important;}
.main-header-menu .menu-link{font-size:.83rem!important;letter-spacing:.13em!important;text-transform:uppercase!important;font-weight:500!important;color:var(--ah-ink-soft)!important;}
.main-header-menu .menu-link:hover,.main-header-menu .current-menu-item > .menu-link{color:var(--ah-clay-dark)!important;}
.site-title,.site-title a{font-family:'AH Serif',Georgia,serif!important;letter-spacing:.02em!important;}

/* hero */
.ah-hero{position:relative;padding:clamp(4.5rem,11vw,9rem) 1.5rem;text-align:center;
  background:linear-gradient(180deg,#FBF8F2 0%,var(--ah-paper-2) 100%);
  border-bottom:1px solid var(--ah-line);}
.ah-hero:after{content:"";position:absolute;left:50%;bottom:-1px;width:120px;height:1px;
  transform:translateX(-50%);background:var(--ah-brass);}
.ah-kicker{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ah-sage);margin:0 0 1.15rem;font-weight:600;}
.ah-hero h1{font-size:clamp(2.3rem,5.6vw,4rem);margin:0 auto 1.1rem;max-width:16ch;}
.ah-lede{font-size:clamp(1.02rem,1.6vw,1.2rem);color:var(--ah-ink-soft);max-width:56ch;margin:0 auto 2.2rem;}
.ah-btn{display:inline-block;background:var(--ah-clay);color:#fff!important;padding:.92rem 2.3rem;
  border-radius:2px;font-size:.79rem;letter-spacing:.17em;text-transform:uppercase;font-weight:600;
  text-decoration:none;transition:background .18s ease;}
.ah-btn:hover{background:var(--ah-clay-dark);color:#fff!important;}
.ah-btn--ghost{background:transparent;color:var(--ah-ink)!important;border:1px solid var(--ah-ink);}
.ah-btn--ghost:hover{background:var(--ah-ink);color:var(--ah-paper)!important;}

/* sections */
.ah-wrap{max-width:1180px;margin:0 auto;padding:0 1.5rem;}
.ah-section{padding:clamp(3.2rem,7vw,5.5rem) 0;}
.ah-section--alt{background:var(--ah-paper-2);}
.ah-eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ah-sage);font-weight:600;margin:0 0 .7rem;}
.ah-h2{font-size:clamp(1.6rem,3.1vw,2.35rem);margin:0 0 .9rem;}
.ah-sub{color:var(--ah-ink-soft);max-width:60ch;margin:0 0 2.4rem;}

/* grids */
.ah-grid{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));}
.ah-card{background:#fff;border:1px solid var(--ah-line);border-radius:2px;overflow:hidden;
  display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease;}
.ah-card:hover{box-shadow:0 12px 30px rgba(34,31,27,.09);transform:translateY(-2px);}
.ah-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--ah-paper-2);}
.ah-card__body{padding:1.15rem 1.15rem 1.4rem;display:flex;flex-direction:column;gap:.42rem;flex:1;}
.ah-card__cat{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ah-sage);font-weight:600;}
.ah-card__name{font-family:'AH Serif',Georgia,serif;font-size:1.06rem;font-weight:600;margin:0;line-height:1.3;}
.ah-card__price{color:var(--ah-ink-soft);font-size:.95rem;margin-top:auto;padding-top:.5rem;}

.ah-three{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.ah-three h3{font-size:1.1rem;margin:.9rem 0 .45rem;}
.ah-three p{color:var(--ah-ink-soft);font-size:.95rem;margin:0;}
.ah-rule{width:34px;height:2px;background:var(--ah-brass);}

/* WooCommerce loop: Astra absolutely-positions the price and the on-card button */
.woocommerce ul.products li.product{display:flex!important;flex-direction:column!important;
  background:#fff;border:1px solid var(--ah-line);border-radius:2px;padding:0 0 1.2rem;}
.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;padding:0 1.1rem;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'AH Serif',Georgia,serif!important;font-size:1.03rem!important;font-weight:600!important;padding:.9rem 1.1rem .2rem!important;}
.woocommerce ul.products li.product .price{color:var(--ah-ink-soft)!important;font-size:.95rem!important;}
.woocommerce-product-gallery{opacity:1!important;}
.woocommerce span.onsale{background:var(--ah-clay);}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--ah-clay);color:#fff;border-radius:2px;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:600;}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{
  background:var(--ah-clay-dark);color:#fff;}
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--ah-clay);}

/* footer */
.ah-foot{border-top:1px solid var(--ah-line);background:var(--ah-paper-2);padding:2.8rem 0 2rem;}
.ah-foot__grid{display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
.ah-foot h4{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ah-sage);margin:0 0 .8rem;font-weight:600;font-family:'AH Sans',sans-serif;}
.ah-foot a{display:block;color:var(--ah-ink-soft);text-decoration:none;font-size:.93rem;margin-bottom:.42rem;}
.ah-foot a:hover{color:var(--ah-clay-dark);}
.ah-foot__legal{border-top:1px solid var(--ah-line);margin-top:2.2rem;padding-top:1.3rem;font-size:.83rem;color:var(--ah-ink-soft);}

/* long-form identity pages */
.ah-prose{max-width:70ch;}
.ah-prose h2{font-size:1.45rem;margin:2.4rem 0 .7rem;}
.ah-prose h3{font-size:1.12rem;margin:1.8rem 0 .5rem;}
.ah-prose p,.ah-prose li{color:var(--ah-ink-soft);}
.ah-prose ul{padding-left:1.2rem;}
.ah-prose li{margin-bottom:.4rem;}
.ah-note{border-left:2px solid var(--ah-brass);background:#fff;padding:1rem 1.2rem;margin:1.6rem 0;font-size:.95rem;}

@media (max-width:768px){
  html body{font-size:16px;}
  .ah-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:1rem;}
}

/* the page body carries its own h1 -- Astra's entry-title would be a second one */
html body.page .ast-single-post .entry-title,
html body.page .entry-header .entry-title,
html body.home .entry-title{display:none!important;}
html body.page .ast-single-post .entry-header{margin-bottom:0!important;padding:0!important;}
html body.page .site-content .ast-container{padding-left:0!important;padding-right:0!important;max-width:100%!important;}
html body.page .site-main .entry-content{margin-top:0!important;}

/* full-bleed bands inside Astra's boxed container */
.ah-hero,.ah-section{width:100vw;margin-left:calc(50% - 50vw);}

/* cards are links: never underline the name or price */
a.ah-card,a.ah-card:hover{text-decoration:none!important;color:inherit!important;}
a.ah-card .ah-card__name{color:var(--ah-ink);}
a.ah-card:hover .ah-card__name{color:var(--ah-clay-dark);}
.ah-cta{margin-top:2.4rem;}
.ah-foot a,.ah-btn{text-decoration:none!important;}
html body .ah-prose a{text-decoration:underline;}
