:root{
  --ants-content:1440px;
  --ants-side:32px;
}

/* global rhythm */
body{
  font-size:16px;
  line-height:1.55;
}

.container,
.header__inner{
  width:min(var(--ants-content),calc(100% - 64px));
  max-width:none;
  margin-inline:auto;
  padding-inline:0;
}

/* utility bar */
.announcement-bar{
  height:30px;
  padding-inline:max(
    var(--ants-side),
    calc((100vw - var(--ants-content))/2 + var(--ants-side))
  );
  font-size:9px;
  letter-spacing:.11em;
}

.announcement-bar__socials{gap:12px}

.announcement-bar__soc-link{
  gap:4px;
  font-size:9px;
  letter-spacing:.09em;
  opacity:.82;
}

.announcement-bar__soc-link svg{
  width:11px;
  height:11px;
}

.announcement-bar__center{
  font-size:10px;
  letter-spacing:.12em;
}

.announcement-bar__right{gap:10px}

.announcement-bar__phone{
  font-size:12px;
  letter-spacing:.035em;
}

/* header */
.header__inner{height:68px}

.header__nav{gap:26px}

.header__nav a,
.header__contact-link{
  font-size:15px;
}

.logo__name{
  font-size:30px;
  letter-spacing:.15em;
}

/* common editorial width */
.hero{
  width:min(var(--ants-content),calc(100% - 64px));
  margin-inline:auto;
  overflow:hidden;
}

.catalog{
  padding-top:64px;
}

/* product grid ? four editorial columns, not marketplace */
.catalog :has(> .product-card){
  width:min(var(--ants-content),calc(100% - 64px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:46px 22px;
}

.product-card{
  min-width:0;
}

.product-card__image-wrap{
  aspect-ratio:4/5 !important;
  height:auto !important;
  overflow:hidden;
  background:#f3ede9;
}

.product-card__img{
  width:100%;
  height:100% !important;
  object-fit:cover;
  object-position:center;
  transition:
    transform .45s cubic-bezier(.2,.7,.2,1),
    opacity .25s ease;
}

@media (hover:hover){
  .product-card:hover .product-card__img{
    transform:scale(1.025);
  }
}

.product-card__info{
  text-align:left;
  padding:14px 2px 0;
}

.ants-card-title{
  font-family:var(--font-serif) !important;
  font-size:23px !important;
  line-height:1.1 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--dark) !important;
  margin:0 0 5px !important;
}

.product-card__price-row{
  justify-content:flex-start;
  gap:8px;
  margin-bottom:4px;
  font-size:15px;
}

.ants-card-meta{
  display:block;
  font-family:var(--font-sans) !important;
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:400 !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  color:#9a8e87 !important;
  margin-top:2px !important;
}

/* no permanent marketplace CTA on catalog cards */
.ants-card-cta{
  display:none !important;
}

/* quieter price filter */
.catalog__price-pill{
  padding:7px 13px !important;
  font-size:12px !important;
  font-weight:400 !important;
  letter-spacing:.02em !important;
  background:transparent !important;
}

/* cart: content and total stay visually together */
.cart-sidebar__items{
  flex:0 1 auto !important;
  max-height:55vh;
  padding:18px 28px;
}

.cart-item__name{
  font-family:var(--font-serif);
  font-size:20px;
  line-height:1.15;
  font-weight:500;
}

/* subtle editorial motion */
.hero__image img{
  transition:transform 1.2s ease;
}

@media (hover:hover){
  .hero:hover .hero__image img{
    transform:scale(1.012);
  }
}

/* tablet */
@media (max-width:1100px){
  .catalog :has(> .product-card){
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* real mobile */
@media (max-width:700px){
  :root{--ants-side:16px}

  .container,
  .header__inner,
  .hero,
  .catalog :has(> .product-card){
    width:calc(100% - 32px);
  }

  .announcement-bar{
    height:28px;
    padding-inline:16px;
  }

  .announcement-bar__socials,
  .announcement-bar__right{
    display:none;
  }

  .announcement-bar__center{
    width:100%;
    font-size:9px;
    letter-spacing:.08em;
    white-space:nowrap;
  }

  .header__inner{height:62px}

  .catalog{
    padding-top:48px;
  }

  .catalog :has(> .product-card){
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px 12px;
  }

  .product-card__info{
    padding:10px 0 0;
  }

  .ants-card-title{
    font-size:19px !important;
  }

  .product-card__price-row{
    font-size:14px;
  }

  .ants-card-meta{
    font-size:11px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  *{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
  }
}
