.products-grid{display:grid!important;column-count:unset!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px}
.products-grid .item{margin-bottom:0;width:auto;break-inside:auto;min-width:0}
.category-band{grid-column:1/-1;margin:22px 0 0;padding:0 0 8px;border-bottom:1px solid #d7b07a47;color:#d7b07a;font-family:Fraunces,Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.category-band:first-child{margin-top:4px}
.filter-row{flex-wrap:wrap;overflow:visible;row-gap:6px}
@media(width<=900px){.products-grid{gap:10px}}
@media(width<=640px){
  .content-inner,.controls-inner{width:min(1120px,calc(100% - 16px))}
  .controls-inner{gap:8px;padding:10px 0 8px}
  .brand-lockup h1{font-size:1.35rem;letter-spacing:.12em}
  .eyebrow{margin-bottom:2px;font-size:.62rem;letter-spacing:.16em}
  .controls-top .btn{min-height:0;padding:8px 10px;font-size:.64rem;letter-spacing:.08em}
  .search-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
  #product-search{padding:10px 12px;font-size:16px}
  .filter-row{gap:4px}
  .filter-btn{padding:7px 9px;font-size:.68rem;letter-spacing:.05em}
  .board-note{margin:0 0 12px;font-size:.84rem;line-height:1.35}
  .products-grid{gap:8px}
  .category-band{margin:18px 0 0;padding-bottom:6px;font-size:.8rem;letter-spacing:.12em}
  .products-grid .item{gap:6px;padding:6px 6px 8px}
  .products-grid .item .item-badge{top:6px;left:6px;padding:3px 5px;font-size:.56rem;letter-spacing:.06em}
  .products-grid .item .item-copy{gap:3px;padding:0}
  .products-grid .item .item-copy-title{font-size:.82rem;line-height:1.2;letter-spacing:0}
  .products-grid .item .item-copy-summary{font-size:.75rem;line-height:1.25}
  .products-grid .item .item-view-btn{width:100%;min-height:32px;margin:0;padding:7px 4px;font-size:.68rem;letter-spacing:.06em;text-align:center;background:transparent;color:var(--cream);border-color:#f4efe63d}
  .age-panel{padding:28px 20px 22px}
  .age-panel h1{font-size:2.5rem}
  .age-lead{margin:12px 0 18px;font-size:.95rem}
  #product-detail-name{font-size:1.7rem}
  .detail-copy{padding:18px 16px 20px}
}
.modal-nav{
  min-width:32px!important;
  min-height:32px!important;
  width:32px;
  height:32px;
  padding:0!important;
  font-size:0!important;
  letter-spacing:0!important;
  line-height:1;
  border-radius:999px;
  display:grid!important;
  place-items:center;
}
.modal-nav-prev::before,.modal-nav-next::before{
  font-size:22px;
  line-height:1;
  font-family:Georgia,serif;
}
.modal-nav-prev::before{content:"‹"}
.modal-nav-next::before{content:"›"}
#share-stage img,#product-detail-stage img,#modal-image{cursor:zoom-in}
.media-zoom-launch{
  position:absolute;
  top:8px;
  left:8px;
  z-index:3;
  border:1px solid #f4efe659;
  background:#090807c7;
  color:#f4efe6;
  border-radius:999px;
  padding:4px 8px;
  font:500 .68rem Outfit,Avenir Next,Segoe UI,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#media-zoom{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  background:#060504f2;
}
#media-zoom[hidden]{display:none!important}
#media-zoom-stage{
  width:min(100vw,100%);
  height:100dvh;
  display:grid;
  place-items:center;
  overflow:hidden;
  touch-action:none;
}
#media-zoom-stage img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  transform-origin:center center;
  user-select:none;
}
.media-zoom-bar{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  display:flex;
  gap:8px;
}
.media-zoom-bar button{
  border:1px solid #f4efe659;
  background:#090807c7;
  color:#f4efe6;
  border-radius:999px;
  min-width:36px;
  min-height:36px;
  padding:0 10px;
  font:500 .78rem Outfit,Avenir Next,Segoe UI,sans-serif;
}

#product-search{background:#1c1814;border:1px solid #d7b07a;padding:12px 14px;color:#f4efe6}
#product-search::placeholder{color:#f4efe6d6}
#product-search:focus{outline:2px solid #d7b07a;outline-offset:2px}

/* desktop-zoom */
#media-zoom{overscroll-behavior:none}
#media-zoom-stage img{cursor:zoom-in}
#media-zoom.is-zoomed #media-zoom-stage img{cursor:grab}
#media-zoom.is-dragging #media-zoom-stage img{cursor:grabbing}
#media-zoom-hint{display:none}
#media-zoom.is-desktop #media-zoom-hint{
  display:block;
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  margin:0;
  z-index:2;
  color:#f4efe6cc;
  font:500 .8rem Outfit,Avenir Next,Segoe UI,sans-serif;
  letter-spacing:.03em;
  pointer-events:none;
  background:#09080799;
  border-radius:999px;
  padding:6px 12px;
  white-space:nowrap;
}
@media (hover:hover) and (pointer:fine){
  .media-zoom-launch{top:20px;left:20px;padding:8px 14px;font-size:.78rem}
  .modal-nav-prev{left:20px}
  .modal-nav-next{right:20px}
  #share-counter,#product-detail-counter{left:20px;bottom:20px}
  .media-zoom-bar{top:28px;right:28px}
  .media-zoom-bar button{min-width:44px;min-height:44px;font-size:.95rem}
  #media-zoom.is-desktop #media-zoom-hint{bottom:32px}
  #media-zoom-stage{box-sizing:border-box;padding:88px 72px 104px;grid-template-rows:minmax(0,1fr)}
  #media-zoom-stage img,#media-zoom-stage video{min-width:0;min-height:0;width:auto;height:auto;max-width:100%;max-height:100%}
}
#media-zoom-stage video{display:none}
#media-zoom.is-video #media-zoom-stage img,
#media-zoom.is-video #media-zoom-hint,
#media-zoom.is-video #media-zoom-in,
#media-zoom.is-video #media-zoom-out{display:none}
#media-zoom.is-video #media-zoom-stage video{display:block;width:100%;height:100%;object-fit:contain;background:transparent}
/* /desktop-zoom */

/* earth-theme */
:root{
  --ink:#f4f1ea;
  --panel:#fbf9f4;
  --card:#fbf9f4;
  --cream:#173028;
  --cream-dim:#5d6f63;
  --gold:#14573a;
  --gold-deep:#0e3b27;
  --line:#d5ddd0;
  --danger:#9a4034;
}
body{
  background:radial-gradient(820px 380px at 50% -12%, #14573a16, transparent 62%), #f4f1ea;
  color:#173028;
}
.products-controls{
  background:#f4f1eaf2;
  border-bottom:1px solid #14573a33;
}
.age-panel{
  background:#fbf9f4;
  border:1px solid #14573a40;
  border-top:3px solid #14573a;
  color:#173028;
}
.btn{background:#14573a;color:#f7f4ee}
.btn:hover{background:#0e3b27}
.btn-secondary{background:transparent;color:#173028;border-color:#14573a99}
.btn-secondary:hover{background:#14573a14}
.filter-btn{color:#5d6f63}
.filter-btn:hover{color:#173028}
.filter-btn.is-active{background:#14573a;color:#f7f4ee}
.item{background:#fbf9f4;border:1px solid #d5ddd0}
.item-badge{background:#14573a;color:#f7f4ee}
.item-action-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.item-action-row .item-view-btn{width:auto;margin:0}
.item-badge-new{
  position:static;
  display:inline-flex;
  align-items:center;
  flex:none;
  margin:0;
  padding:8px 12px;
  background:#e6b325;
  color:#173028;
  border:0;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1;
  box-shadow:none;
}
.new-flag{display:inline-block;margin:0 8px 0 0;padding:4px 8px;background:#e6b325;color:#173028;letter-spacing:.16em;font-size:.78rem;font-weight:700;vertical-align:2px}
@media(width<=640px){
  .products-grid .item .item-action-row{flex-wrap:wrap;gap:6px}
  .products-grid .item .item-action-row .item-view-btn{order:2;flex:1 0 100%;width:100%}
  .products-grid .item .item-badge-new{order:1;margin-left:auto;padding:6px 9px;font-size:.68rem;letter-spacing:.14em}
  .new-flag{padding:3px 7px;font-size:.68rem}
}
.category-band{color:#14573a;border-bottom-color:#14573a33}
.product-detail-price-label{text-transform:none}
#product-search,#age-password-input{
  background:#fbf9f4;
  border:1px solid #14573a55;
  color:#173028;
}
#product-search::placeholder,#age-password-input::placeholder{color:#5d6f63}
#product-search:focus,#age-password-input:focus{outline:2px solid #14573a;outline-offset:2px}
#media-modal,#product-detail-modal{background:#14261ecc}
.detail-layout,.share-card{background:#fbf9f4;border:1px solid #14573a40}
.modal-close,.modal-nav,#product-detail-counter,#share-counter{
  background:#fbf9f4e6;
  color:#173028;
  border-color:#14573a40;
}
.detail-stage-wrap,.share-media,.modal-frame,.modal-frame>img,.modal-frame>video,
#product-detail-stage img,#product-detail-stage video,#share-stage img,#share-stage video,.share-media img,.share-media video{
  background:#1c3328;
}
#media-zoom{background:#14261ef0}
.media-zoom-launch,.media-zoom-bar button{
  background:#fbf9f4;
  color:#173028;
  border-color:#14573a40;
}
.modal-dot{background:#f4f1ea55}
.modal-dot.active{background:#f7f4ee}
@media (width<=640px){
  .products-grid .item .item-view-btn{
    background:#e7efe8;
    color:#14573a;
    border-color:#14573a66;
  }
  .share-media,
  .detail-stage-wrap{
    min-height:0;
  }
}
.detail-stage-wrap,
.share-media{
  min-height:0;
  display:block;
  width:100%;
  max-width:100%;
  background:transparent;
}
#product-detail-stage,
#share-stage{
  width:100%;
  max-width:100%;
  display:block;
  background:transparent;
}
#product-detail-stage img,
#product-detail-stage video,
#share-stage img,
#share-stage video,
.share-media img,
.share-media video{
  object-fit:contain;
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  max-height:none;
  background:transparent;
}
@media (width<=640px){
  html:has(.share-page),
  body:has(.share-page),
  .share-page{
    height:auto;
    min-height:100svh;
    overflow:visible;
  }
  .share-body{
    height:auto;
    box-sizing:border-box;
    justify-items:stretch;
    padding-right:8px;
    padding-bottom:28px;
    padding-left:8px;
    overflow:visible;
  }
  .share-page .controls-inner{
    gap:6px;
    padding:8px 0 6px;
  }
  .share-page .brand-lockup h1{
    font-size:1.2rem;
    letter-spacing:.08em;
  }
  .share-page .eyebrow{
    margin-bottom:0;
  }
  .share-page .filter-row{
    gap:2px;
  }
  .share-page .filter-btn{
    padding:5px 7px;
    font-size:.62rem;
    letter-spacing:.04em;
  }
  .share-page .controls-top .btn{
    padding:6px 8px;
    font-size:.62rem;
  }
  .share-card{
    width:100%;
    height:auto;
    min-height:0;
    display:block;
    overflow:visible;
  }
  .share-media{
    position:relative;
    min-height:0;
    height:auto;
    overflow:hidden;
  }
  #share-stage{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    display:block;
  }
  #share-stage img,
  #share-stage video,
  .share-media img,
  .share-media video{
    width:100%;
    height:auto;
    min-width:0;
    min-height:0;
    max-width:100%;
    max-height:none;
    object-fit:contain;
    object-position:center center;
  }
  .detail-copy{
    padding:10px 14px 16px;
    overflow:visible;
    max-height:none;
  }
  .share-page .product-detail-price-row{
    padding:6px 0;
  }
  #product-detail-name{
    margin:0 0 4px;
    font-size:1.35rem;
  }
}
@media (min-width:641px){
  .share-card{
    align-items:center;
  }
  .share-media{
    width:fit-content;
    max-width:100%;
    justify-self:center;
    align-self:center;
  }
  #share-stage{
    width:auto;
    max-width:100%;
  }
  #share-stage img,
  #share-stage video{
    width:auto;
    height:auto;
    max-width:min(420px,38vw);
    max-height:min(520px,calc(100svh - 260px));
  }
}
/* /earth-theme */
