/*
Theme Name: Asante Sana
Author: Asante Sana
Version: 0.2.0
Text Domain: asante-sana
*/

:root{
  --asante-bg: #141311;
  --asante-fg: #f6f3ea;
  --asante-muted: rgba(246,243,234,.72);
  --asante-card: #1b1a18;
  --asante-border: rgba(246,243,234,.14);
  --asante-accent: #2f8f90;
  --asante-radius: 4px;
}

body{
  background: var(--asante-bg);
  color: var(--asante-fg);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

h1,h2,h3,.asante-display{
  font-family: "Cormorant Garamond", Georgia, serif;
  letter-spacing: .18em;
}

a{ color: inherit; }
a:hover{ color: var(--asante-accent); }

.asante-muted{ color: var(--asante-muted); }

.asante-container{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

.asante-main{
  max-width: 1180px;
  margin: 0 auto;
  padding: 170px 24px 0;
}

.home .asante-main{
  max-width: none;
  padding: 0;
}

@media (max-width: 640px){
  .asante-container{ padding: 0 16px; }
  .asante-main{ padding: 150px 16px 0; }
}

/* Header (React parity) */
.asante-site-header{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  color: rgba(246,243,234,.85);
  pointer-events: none;
}

.asante-site-header a,
.asante-site-header button{
  pointer-events: auto;
}

.asante-site-header__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 24px 24px 0;
}

@media (min-width: 768px){
  .asante-site-header__top{ padding: 24px 48px 0; }
}

.asante-site-header__spacer{
  width: 80px;
}

.asante-site-header__brand{
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 24px;
  letter-spacing: .35em;
  font-weight: 500;
  text-decoration:none;
  color: rgba(246,243,234,.95);
  text-transform: uppercase;
}

@media (min-width: 768px){
  .asante-site-header__brand{ font-size: 30px; }
}

.asante-site-header__actions{
  width: 80px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 18px;
}

.asante-action{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  color: rgba(246,243,234,.80);
  background: transparent;
  border: 0;
  padding: 0;
  cursor:pointer;
  text-decoration:none;
}

.asante-action:hover{
  color: var(--asante-accent);
}

.asante-action svg{
  width: 16px;
  height: 16px;
}

.asante-action__label{
  display:none;
  font-size: 12px;
  letter-spacing: .08em;
}

@media (min-width: 640px){
  .asante-action__label{ display:inline; }
}

.asante-action--cart{
  position: relative;
}

.asante-cart-badge{
  position:absolute;
  top: -8px;
  right: -8px;
  background: var(--asante-accent);
  color: var(--asante-fg);
  font-size: 9px;
  border-radius: 999px;
  width: 16px;
  height: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 600;
}

.asante-site-header__star{
  display:flex;
  justify-content:center;
  margin-top: 4px;
  color: var(--asante-accent);
  font-size: 18px;
  line-height: 1;
}

.asante-site-nav{
  display:flex;
  justify-content:center;
  margin-top: 8px;
  padding-bottom: 16px;
}

.asante-site-nav__list{
  display:flex;
  gap: 40px;
  list-style:none;
  margin:0;
  padding:0;
}

.asante-site-nav__toggle{
  display:none;
}

@media (max-width: 640px){
  .asante-site-header__spacer{ width: 44px; }
  .asante-site-header__actions{ width: 44px; gap: 12px; }
  .asante-action__label{ display:none; }
  .asante-site-header__brand{ font-size: 22px; letter-spacing: .22em; }

  .asante-site-nav{
    padding-bottom: 10px;
    flex-direction:column;
    align-items:center;
  }

  .asante-site-nav__toggle{
    display:inline-flex;
    margin: 8px auto 0;
    background: transparent;
    border: 1px solid rgba(246,243,234,.16);
    color: rgba(246,243,234,.80);
    padding: 10px 14px;
    border-radius: var(--asante-radius);
    font-size: 10px;
    letter-spacing: .22em;
    text-transform: uppercase;
    cursor:pointer;
  }

  .asante-site-nav__list{
    display:none;
    flex-direction:column;
    gap: 14px;
    padding: 14px 0 0;
  }

  .asante-site-header.is-nav-open .asante-site-nav__list{
    display:flex;
  }
}
.asante-site-nav__list a{
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration:none;
  color: rgba(246,243,234,.80);
}

.asante-site-nav__list a:hover{
  color: var(--asante-accent);
}

.asante-site-nav__list .current-menu-item > a,
.asante-site-nav__list .current_page_item > a{
  color: var(--asante-accent);
}

/* Footer (React parity) */
.asante-site-footer{
  border-top: 1px solid var(--asante-border);
  background: var(--asante-bg);
  padding: 48px 0;
  text-align:center;
}

.asante-site-footer__brand{
  margin:0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 20px;
  letter-spacing: .35em;
  text-transform: uppercase;
  font-weight: 500;
}

.asante-site-footer__nav{
  margin-top: 22px;
}

.asante-site-footer__list{
  display:flex;
  justify-content:center;
  gap: 32px;
  list-style:none;
  margin:0;
  padding:0;
}

@media (max-width: 640px){
  .asante-site-footer__list{
    flex-wrap:wrap;
    gap: 18px 22px;
  }
}
.asante-site-footer__list a{
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration:none;
  color: rgba(246,243,234,.80);
}

.asante-site-footer__list a:hover{
  color: var(--asante-accent);
}

.asante-site-footer__copy{
  margin-top: 30px;
  font-size: 12px;
  color: rgba(246,243,234,.65);
}

.asante-title{
  text-transform: uppercase;
  font-size: clamp(34px, 4vw, 56px);
  margin: 0 0 12px;
}

.asante-lede{
  margin: 0;
  font-size: 14px;
}

.asante-page-title{
  margin: 34px 0 18px;
  text-transform: uppercase;
}

.asante-page-content{
  max-width: 850px;
  margin: 0 auto 40px;
  color: rgba(246,243,234,.88);
  line-height: 1.7;
  font-size: 16px;
}

.asante-404{
  padding: 72px 0;
  text-align:center;
}

.asante-contact-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 22px;
  align-items:start;
}

@media (min-width: 900px){
  .asante-contact-grid{
    grid-template-columns: 1fr 380px;
    gap: 40px;
  }
}

.asante-contact-card{
  border: 1px solid var(--asante-border);
  background: rgba(27,26,24,.8);
  border-radius: var(--asante-radius);
  padding: 22px;
}

.asante-contact-title{
  margin: 0 0 10px;
  text-transform: uppercase;
  font-size: 16px;
}

.asante-contact-text{
  margin: 0 0 18px;
  font-size: 13px;
}

.asante-contact-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap: 10px;
  font-size: 13px;
}

.asante-contact-list li span{
  display:inline-block;
  min-width: 90px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 10px;
  color: var(--asante-muted);
}

.asante-contact-note{
  margin: 18px 0 0;
  font-size: 12px;
  line-height: 1.6;
}

/* Home */
.asante-home-hero{
  padding: 56px 0 32px;
}

.asante-home-hero__inner{
  max-width: 920px;
  margin: 0 auto;
  text-align:center;
}

.asante-kicker{
  margin:0 0 14px;
  font-size: 10px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: var(--asante-muted);
}

.asante-home-title{
  margin: 0 0 16px;
  text-transform: uppercase;
  font-size: clamp(34px, 4.2vw, 64px);
}

.asante-home-subtitle{
  margin: 0 auto 22px;
  max-width: 720px;
  font-size: 14px;
}

.asante-home-cta{
  display:flex;
  gap: 12px;
  justify-content:center;
  flex-wrap:wrap;
}

.asante-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: var(--asante-fg);
  color: var(--asante-bg);
  padding: 14px 22px;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  border-radius: var(--asante-radius);
  text-decoration:none;
}

.asante-cta:hover{
  background: var(--asante-accent);
  color: var(--asante-fg);
}

.asante-cta--ghost{
  background: transparent;
  border: 1px solid var(--asante-border);
  color: var(--asante-fg);
}

.asante-section{
  padding: 22px 0 34px;
}

.asante-section-title{
  text-transform: uppercase;
  margin: 0 0 18px;
  font-size: 22px;
}

/* Shop */
.asante-shop-hero{
  padding: 56px 0 22px;
  text-align: center;
}

.asante-shop-filters{
  border-top: 1px solid var(--asante-border);
  border-bottom: 1px solid var(--asante-border);
  padding: 14px 0;
  margin: 0 0 28px;
}

.asante-filter-row{
  display:flex;
  flex-wrap:wrap;
  gap: 14px 18px;
  align-items:center;
  justify-content: space-between;
}

.asante-filter{
  display:flex;
  align-items:center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--asante-muted);
}

.asante-filter select{
  background: transparent;
  border: 1px solid var(--asante-border);
  color: var(--asante-fg);
  padding: 10px 14px;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  border-radius: var(--asante-radius);
}

.asante-product-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 24px 0 48px;
}

@media (min-width: 900px){
  .asante-product-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
}

.asante-card__media{
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--asante-radius);
  background: var(--asante-card);
}

.asante-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 600ms ease;
}

.asante-card__link:hover .asante-card__media img{
  transform: scale(1.04);
}

.asante-card__body{
  display:flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  padding-top: 10px;
}

.asante-card__body > div:first-child{
  flex: 1 1 auto;
  min-width: 0;
}

.asante-card__body > div:last-child{
  flex: 0 0 auto;
  margin-left: auto;
  text-align: right;
}

.asante-card__title{
  margin: 0;
}

.asante-card__meta{
  margin: 6px 0 0;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--asante-muted);
}

/* Single product */
.asante-single{
  padding: 34px 0 10px;
}

.asante-backlink{
  display:inline-block;
  margin-bottom: 22px;
  font-size: 12px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--asante-muted);
  text-decoration:none;
}

.asante-single-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 28px;
}

@media (min-width: 900px){
  .asante-single-grid{
    grid-template-columns: 1fr 1fr;
    gap: 56px;
  }
}

.asante-single-media__frame{
  aspect-ratio: 4 / 5;
  border-radius: var(--asante-radius);
  overflow:hidden;
  background: var(--asante-card);
}

.asante-single-img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

.asante-single-media__placeholder{
  width:100%;
  height:100%;
  background: rgba(246,243,234,.06);
}

.asante-single-summary{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.asante-single-artist{
  margin: 0 0 14px;
  font-size: 10px;
  letter-spacing: .30em;
  text-transform: uppercase;
  color: rgba(246,243,234,.70);
}

.asante-single-title{
  margin: 0 0 16px;
  font-size: clamp(44px, 4.2vw, 72px);
  letter-spacing: .12em;
  text-transform: uppercase;
  line-height: 1.05;
}

@media (max-width: 640px){
  .asante-single-title{ font-size: 40px; }
  .asante-single-attrs{ grid-template-columns: 1fr; }
}

.asante-single-price{
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 22px;
  color: rgba(246,243,234,.90);
}

.asante-single-divider{
  height: 1px;
  background: rgba(246,243,234,.14);
  margin: 18px 0 22px;
}

.asante-single-desc{
  color: rgba(246,243,234,.78);
  line-height: 1.7;
  font-size: 15px;
  max-width: 620px;
}

.asante-single-attrs{
  margin: 22px 0 22px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 24px;
}

.asante-single-attr dt{
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: rgba(246,243,234,.55);
  margin-bottom: 8px;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.asante-single-attr dd{
  margin: 0;
  font-size: 14px;
  color: rgba(246,243,234,.90);
}

.asante-single-cart form.cart{
  margin: 0;
}

.asante-single-cart .quantity{
  display:none;
}

.asante-single-cart button.single_add_to_cart_button{
  width: 100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 16px 18px;
  border-radius: var(--asante-radius);
  background: rgba(246,243,234,.92);
  color: rgba(20,19,17,.95);
  letter-spacing: .25em;
  text-transform: uppercase;
  font-size: 12px;
}

.asante-single-cart button.single_add_to_cart_button::before{
  content: "";
  width: 16px;
  height: 16px;
  display: inline-block;
  background: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2l2 4h12l2-4'/%3E%3Cpath d='M6 6l-1 14h14L18 6'/%3E%3Cpath d='M9 10a3 3 0 0 0 6 0'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2l2 4h12l2-4'/%3E%3Cpath d='M6 6l-1 14h14L18 6'/%3E%3Cpath d='M9 10a3 3 0 0 0 6 0'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
}

.asante-single-cart button.single_add_to_cart_button:hover{
  background: var(--asante-accent);
  color: var(--asante-fg);
}

.asante-single-note{
  margin: 16px 0 0;
  font-size: 12px;
  color: rgba(246,243,234,.55);
  letter-spacing: .03em;
}

.asante-related{
  margin-top: 76px;
}

.asante-related-title{
  margin: 0 0 18px;
  font-size: 22px;
  letter-spacing: .30em;
  text-transform: uppercase;
}

/* Woo tweaks */
.woocommerce ul.products{
  margin:0;
  padding:0;
}

.woocommerce ul.products li.product{
  list-style:none;
  margin:0;
  width: auto !important;
}

.woocommerce ul.products li.product a{
  text-decoration:none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size: 14px;
  letter-spacing: .03em;
  color: var(--asante-fg);
  margin: 10px 0 6px;
  font-family: "Cormorant Garamond", Georgia, serif;
}

.woocommerce ul.products li.product .price{
  margin: 0;
  color: var(--asante-fg);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 16px;
  white-space: nowrap;
  display: block;
}

.woocommerce div.product .product_title{
  font-family: "Cormorant Garamond", Georgia, serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color: var(--asante-fg);
  font-family: "Cormorant Garamond", Georgia, serif;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background: var(--asante-fg);
  color: var(--asante-bg);
  border-radius: var(--asante-radius);
  padding: 12px 18px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 12px;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background: var(--asante-accent);
  color: var(--asante-fg);
}

/* ================================
   Homepage (React parity)
   ================================ */

.asante-cta--pill{
  border-radius: 999px;
}

.asante-kicker--accent{
  color: var(--asante-accent);
}

.asante-hero{
  position: relative;
  height: 88vh;
  min-height: 600px;
  width: 100%;
  overflow: hidden;
  margin: 0;
}

.asante-hero__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
}

.asante-hero__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(to bottom, rgba(20,19,17,.40), rgba(20,19,17,.10), rgba(20,19,17,.70));
}

.asante-hero__content{
  position:relative;
  z-index: 2;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 80px 24px 24px;
}

.asante-hero__title{
  font-weight: 300;
  font-size: clamp(44px, 5.6vw, 92px);
  letter-spacing: .15em;
  line-height: 1.05;
  margin: 0 0 18px;
  text-transform: uppercase;
}

@media (max-width: 640px){
  .asante-hero{
    height: 78vh;
    min-height: 520px;
  }
  .asante-hero__content{ padding-top: 92px; }
  .asante-hero__title{ letter-spacing: .10em; }
}

.asante-home-section{
  padding: 86px 0;
}

.asante-home-section--border{
  border-top: 1px solid rgba(246,243,234,.14);
}

.asante-home-heading{
  text-align:center;
  margin: 0 auto 44px;
}

/* Category cards */
.asante-category-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

@media (min-width: 900px){
  .asante-category-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }
}

.asante-category-card{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius: var(--asante-radius);
  aspect-ratio: 4 / 5;
  text-decoration:none;
}

.asante-category-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 700ms ease;
}

.asante-category-card:hover img{
  transform: scale(1.10);
}

.asante-category-card__shade{
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(20,19,17,.90), rgba(20,19,17,.20), transparent);
}

.asante-category-card__label{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding: 22px 22px 26px;
  text-align:center;
}

.asante-category-card__title{
  display:block;
  font-size: 22px;
  letter-spacing: .20em;
  text-transform: uppercase;
}

.asante-category-card__cta{
  display:inline-block;
  margin-top: 8px;
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--asante-accent);
  transition: color 200ms ease;
}

.asante-category-card:hover .asante-category-card__cta{
  color: var(--asante-fg);
}

/* Intro */
.asante-intro{
  max-width: 850px;
  margin: 0 auto;
  text-align:center;
}

.asante-intro__copy{
  color: rgba(246,243,234,.82);
  font-size: 15px;
  line-height: 1.75;
}

.asante-intro__copy p{
  margin: 0 0 14px;
}

.asante-intro__signoff{
  margin-top: 18px;
  font-style: italic;
  font-size: 18px;
}

/* Experience stripe */
.asante-experience{
  display:grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-radius: var(--asante-radius);
  overflow:hidden;
}

@media (min-width: 900px){
  .asante-experience{
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.asante-experience__img img{
  width:100%;
  height:100%;
  object-fit: cover;
  aspect-ratio: 3 / 4;
  display:block;
}

.asante-experience__center{
  background: var(--asante-accent);
  color: var(--asante-fg);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 36px 26px;
  aspect-ratio: 3 / 4;
}

@media (min-width: 900px){
  .asante-experience__center{ aspect-ratio: auto; }
  .asante-experience__img img{ aspect-ratio: auto; }
}

.asante-experience__title{
  margin:0;
  font-size: 32px;
  letter-spacing: .15em;
  text-transform: uppercase;
  line-height: 1.1;
}

.asante-experience__welcome{
  margin: 16px 0 0;
  font-style: italic;
  font-size: 18px;
}

.asante-experience__text{
  margin: 14px 0 0;
  font-size: 12px;
  letter-spacing: .06em;
  opacity: .92;
  max-width: 320px;
  line-height: 1.6;
}

.asante-experience__btn{
  margin-top: 14px;
  background: rgba(20,19,17,.95);
  color: var(--asante-fg);
  padding: 10px 16px;
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
  border-radius: var(--asante-radius);
  text-decoration:none;
}

.asante-experience__btn:hover{
  background: var(--asante-fg);
  color: var(--asante-bg);
}

/* Row header */
.asante-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
  margin-bottom: 18px;
}

@media (max-width: 640px){
  .asante-home-section{ padding: 62px 0; }
  .asante-home-heading{ margin-bottom: 28px; }
  .asante-row{ flex-direction:column; align-items:flex-start; gap: 10px; }
}
.asante-row .asante-section-title{
  margin: 0;
}

.asante-link{
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(246,243,234,.72);
  text-decoration:none;
}

.asante-link:hover{
  color: var(--asante-accent);
}

.asante-center{
  display:flex;
  justify-content:center;
  margin-top: 22px;
}

/* Why us */
.asante-why{
  padding: 70px 0;
  border-top: 1px solid rgba(246,243,234,.14);
  background: rgba(27,26,24,.25);
}

.asante-why__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px 18px;
  text-align:center;
  max-width: 1100px;
  margin: 0 auto;
}

@media (min-width: 900px){
  .asante-why__grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px;
  }
}

.asante-why__icon{
  width: 30px;
  height: 30px;
  margin: 0 auto 14px;
  color: var(--asante-accent);
}

.asante-why__icon svg{
  width:100%;
  height:100%;
  display:block;
}

.asante-why__title{
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.asante-why__desc{
  margin: 0 auto;
  max-width: 180px;
  font-size: 12px;
  color: rgba(246,243,234,.72);
  line-height: 1.6;
}

/* Artists */
.asante-artists{
  display:grid;
  grid-template-columns: 1fr;
  gap: 26px;
}

@media (min-width: 900px){
  .asante-artists{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
}

.asante-artist__img{
  aspect-ratio: 1 / 1;
  border-radius: var(--asante-radius);
  overflow:hidden;
  background: var(--asante-card);
  margin-bottom: 16px;
}

.asante-artist__img img{
  width:100%;
  height:100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 700ms ease;
}

.asante-artist:hover .asante-artist__img img{
  transform: scale(1.05);
}

.asante-artist__name{
  margin: 0 0 10px;
  font-size: 22px;
}

.asante-artist__desc{
  margin: 0;
  line-height: 1.7;
  font-size: 14px;
}

/* Testimonials */
.asante-testimonials{
  padding: 86px 0;
  border-top: 1px solid rgba(246,243,234,.14);
  border-bottom: 1px solid rgba(246,243,234,.14);
  background: rgba(27,26,24,.35);
}

.asante-testimonials__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

@media (min-width: 900px){
  .asante-testimonials__grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}

.asante-testimonial{
  background: rgba(20,19,17,.70);
  border: 1px solid rgba(246,243,234,.16);
  border-radius: var(--asante-radius);
  padding: 26px;
  margin:0;
  display:flex;
  flex-direction:column;
  min-height: 240px;
}

.asante-testimonial__mark{
  color: var(--asante-accent);
  font-size: 30px;
  line-height: 1;
  margin-bottom: 10px;
}

.asante-testimonial__quote{
  margin: 0;
  font-style: italic;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(246,243,234,.92);
  flex:1;
}

.asante-testimonial__meta{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(246,243,234,.14);
  font-size: 14px;
}

.asante-testimonial__role{
  margin-top: 6px;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

/* FAQ */
.asante-faq{
  max-width: 850px;
  margin: 0 auto;
}

.asante-faq__item{
  border-top: 1px solid rgba(246,243,234,.14);
  padding: 14px 0;
}

.asante-faq__item:last-child{
  border-bottom: 1px solid rgba(246,243,234,.14);
}

.asante-faq__q{
  cursor:pointer;
  list-style:none;
  font-size: 14px;
  letter-spacing: .04em;
  padding: 6px 0;
}

.asante-faq__q::-webkit-details-marker{
  display:none;
}

.asante-faq__q::after{
  content:"+";
  float:right;
  color: rgba(246,243,234,.72);
}

details[open] .asante-faq__q::after{
  content:"–";
}

.asante-faq__a{
  color: rgba(246,243,234,.72);
  font-size: 14px;
  line-height: 1.7;
  padding: 8px 0 2px;
}

/* Newsletter */
.asante-newsletter{
  background: var(--asante-accent);
  color: var(--asante-fg);
  padding: 64px 0;
}

.asante-newsletter__inner{
  max-width: 760px;
  margin: 0 auto;
  text-align:center;
}

.asante-newsletter__title{
  margin: 0 0 10px;
  font-size: 34px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.asante-newsletter__desc{
  margin: 0 0 18px;
  opacity: .92;
  line-height: 1.7;
  font-size: 14px;
}

.asante-newsletter__form{
  display:flex;
  flex-direction:column;
  gap: 10px;
  max-width: 520px;
  margin: 18px auto 0;
}

@media (min-width: 640px){
  .asante-newsletter__form{ flex-direction: row; }
}

.asante-newsletter__form input{
  flex:1;
  background: rgba(20,19,17,.10);
  border: 1px solid rgba(20,19,17,.25);
  color: var(--asante-fg);
  padding: 12px 14px;
  border-radius: var(--asante-radius);
  font-size: 14px;
  outline: none;
}

.asante-newsletter__form input::placeholder{
  color: rgba(246,243,234,.65);
}

.asante-newsletter__form button{
  background: rgba(20,19,17,.95);
  color: var(--asante-fg);
  border: 0;
  padding: 12px 16px;
  border-radius: var(--asante-radius);
  font-size: 12px;
  letter-spacing: .25em;
  text-transform: uppercase;
  cursor:pointer;
}

.asante-newsletter__form button:hover{
  opacity: .92;
}

.asante-newsletter__note{
  margin: 12px 0 0;
  font-size: 12px;
  opacity: .85;
}

/* Events */
.asante-events{
  position:relative;
  padding: 86px 0;
  overflow:hidden;
}

.asante-events__bg{
  position:absolute;
  inset:0;
  background-size: cover;
  background-position: center;
  opacity: .40;
}

.asante-events__shade{
  position:absolute;
  inset:0;
  background: rgba(20,19,17,.60);
}

.asante-events__inner{
  position:relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
  text-align:center;
}

.asante-events__card{
  overflow:hidden;
  border-radius: var(--asante-radius);
  box-shadow: 0 30px 80px rgba(0,0,0,.55);
  margin-top: 16px;
}

.asante-events__card img{
  width:100%;
  height:auto;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  display:block;
}

/* ================================
   About / Contact (React parity)
   ================================ */

.asante-page-hero{
  padding: 0 0 22px;
  text-align:center;
}

.asante-page-h1{
  margin: 0;
  font-size: clamp(42px, 5vw, 72px);
  letter-spacing: .2em;
  text-transform: uppercase;
}

.asante-page-sub{
  margin: 18px auto 0;
  max-width: 680px;
  line-height: 1.7;
  font-size: 14px;
}

.asante-page-shell{
  padding: 0 0 40px;
}

.asante-about__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 26px;
  align-items:center;
  margin: 0 0 56px;
}

@media (min-width: 900px){
  .asante-about__grid{
    grid-template-columns: 1fr 1fr;
    gap: 56px;
  }
  .asante-about__grid--reverse .asante-about__copy{ order: 1; }
  .asante-about__grid--reverse .asante-about__media{ order: 2; }
}

.asante-about__media img{
  width:100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--asante-radius);
  display:block;
  background: var(--asante-card);
}

.asante-about__copy{
  color: rgba(246,243,234,.82);
  line-height: 1.75;
  font-size: 15px;
}

.asante-about__copy p{ margin: 0 0 14px; }
.asante-about__strong{ color: rgba(246,243,234,.95); }
.asante-about__editor{ margin-top: 18px; }

.asante-page-h2{
  text-align:center;
  margin: 0 0 24px;
  font-size: 26px;
  letter-spacing: .30em;
  text-transform: uppercase;
}

.asante-about__mission{ margin: 0 0 56px; }

.asante-about__mission-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

@media (min-width: 900px){
  .asante-about__mission-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}

.asante-mission{
  border-top: 1px solid rgba(246,243,234,.14);
  padding-top: 18px;
  text-align:center;
}

.asante-mission__title{
  margin: 0 0 10px;
  font-size: 16px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.asante-mission__body{
  margin: 0;
  line-height: 1.7;
  font-size: 14px;
}

.asante-about__signoff{
  margin-top: 16px;
  font-style: italic;
  font-size: 18px;
  color: rgba(246,243,234,.95);
}

.asante-contact__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 26px;
}

@media (min-width: 900px){
  .asante-contact__grid{
    grid-template-columns: 2fr 3fr;
    gap: 56px;
    align-items:start;
  }
}

.asante-contact__item{
  display:flex;
  gap: 14px;
  margin-bottom: 18px;
}

.asante-contact__icon{
  width: 20px;
  height: 20px;
  color: var(--asante-accent);
  flex: 0 0 auto;
  margin-top: 2px;
}

.asante-contact__icon svg{ width:100%; height:100%; display:block; }

.asante-contact__label{
  margin: 0 0 8px;
  font-size: 10px;
  letter-spacing: .30em;
  text-transform: uppercase;
  color: rgba(246,243,234,.55);
}

.asante-contact__body{
  margin: 0;
  color: rgba(246,243,234,.85);
  line-height: 1.7;
  font-size: 14px;
}

.asante-contact__body a{ text-decoration:none; }

.asante-form{
  display:flex;
  flex-direction:column;
  gap: 18px;
}

.asante-form__row{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

@media (min-width: 900px){
  .asante-form__row{ grid-template-columns: 1fr 1fr; }
}

.asante-form__label{
  display:block;
  margin-bottom: 8px;
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: rgba(246,243,234,.55);
}

.asante-form__input{
  width:100%;
  background: transparent;
  border: 1px solid rgba(246,243,234,.14);
  color: rgba(246,243,234,.92);
  padding: 12px 14px;
  border-radius: var(--asante-radius);
  font-size: 14px;
  outline: none;
}

.asante-form__input:focus{ border-color: var(--asante-accent); }
.asante-form__textarea{ resize: none; }

.asante-form__hint{
  margin: 10px 0 0;
  font-size: 12px;
  color: rgba(246,243,234,.55);
  line-height: 1.6;
}

.asante-form__submit{
  align-self:flex-start;
  background: rgba(246,243,234,.92);
  color: rgba(20,19,17,.95);
  border: 0;
  padding: 14px 22px;
  border-radius: var(--asante-radius);
  font-size: 12px;
  letter-spacing: .25em;
  text-transform: uppercase;
  cursor:pointer;
}

.asante-form__submit:hover{
  background: var(--asante-accent);
  color: var(--asante-fg);
}

@media (max-width: 640px){
  .asante-page-h1{ letter-spacing: .12em; }
  .asante-page-h2{ letter-spacing: .18em; font-size: 22px; }
}


p.woocommerce-result-count {
    display: none;
}

form.woocommerce-ordering {
    display: none;
}

h2.asante-card__title {
    letter-spacing: 0px;
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-weight: 100;
    font-size: 18px;
}

a.woocommerce-LoopProduct-link{
  text-decoration: none;
  text-align: left;
}

li.asante-card {
    display: inline-block;
}
