/* Shared full-page shop shell; individual views own their layouts. */ html[data-shop-page] #main {
  display:none
}
html[data-shop-page] .shop-page[hidden] {
  display:block
}
.shop-page {
  padding-block:30px 88px;
  min-height:58vh
}
.shop-page h1 {
  font-family:var(--serif);
  font-weight:400;
  line-height:1.15;
  font-size:clamp(32px,3.5vw,48px);
  letter-spacing:-1.3px
}
.shop-page h2 {
  font-size:30px
}
.shop-page h3 {
  font-size:17px
}
.shop-page input,.shop-page select,.shop-page textarea {
  font:inherit;
  max-width:100%
}
.shop-page textarea {
  color:var(--ink)
}
.shop-page a:focus-visible,.shop-page button:focus-visible,.shop-page input:focus-visible,.shop-page select:focus-visible,.shop-page textarea:focus-visible {
  outline:2px solid var(--brand-text);
  outline-offset:4px
}
.shop-page [hidden] {
  display:none!important
}
.shop-empty {
  padding:68px 24px;
  text-align:center;
  max-width:680px;
  margin:0 auto
}
.shop-empty h1 {
  margin-bottom:20px
}
.shop-empty p {
  color:var(--muted);
  margin-bottom:28px
}
.shop-nav-active {
  color:var(--brand-text)
}
.product-image>a.product-image-link {
  display:block;
  width:100%;
  height:100%
}
.product-image>a.product-image-link>img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s
}
.product-image:not(.is-texture)>a.product-image-link>img {
  object-fit:contain;
  background:#f3eee4
}
.product-card .product-title {
  cursor:pointer
}
.product-card .product-title:hover {
  color:var(--brand-text)
}
.shop-page .button,.shop-page .btn {
  cursor:pointer
}
@media(max-width:700px) {
  .shop-page {
    padding-block:23px 52px
  }
  .shop-page h1 {
    font-size:34px;
    letter-spacing:-1px
  }
  .shop-page h2 {
    font-size:26px
  }
  .shop-page input,.shop-page select,.shop-page textarea {
    font-size:16px
  }
  .header-actions:has(.shop-account-link) {
    gap:14px
  }
  .account-button.shop-account-link {
    display:flex
  }
  .shop-page .button,.shop-page .btn {
    min-height:44px
  }
}
