
/* Catalog preview */
.shop-page,.product-page{background:#09090b;min-height:100vh}.catalog-main{padding-top:84px}.catalog-hero{padding:95px 6vw 62px;text-align:center;background:radial-gradient(circle at 50% 15%,rgba(103,72,131,.24),transparent 35%),linear-gradient(#0d0c11,#09090b);border-bottom:1px solid var(--border)}.catalog-hero .ornament{margin:0 auto 24px}.catalog-hero h1{font-size:clamp(3.8rem,8vw,7rem);line-height:.9;text-transform:none}.catalog-hero>p:not(.eyebrow){font-family:"Cormorant Garamond",serif;color:#cdbfae;font-size:1.35rem;max-width:700px;margin:28px auto 0}.catalog-note{display:inline-block;margin-top:25px;padding:8px 14px;border:1px solid var(--border);color:var(--gold);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}.catalog-shell{padding:40px 5vw 110px;max-width:1600px;margin:auto}.catalog-toolbar{position:sticky;top:84px;z-index:20;padding:18px 0;background:rgba(9,9,11,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(198,168,120,.13)}.filter-row{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.filter{background:#111014;border:1px solid var(--border);color:#bfb3a4;padding:11px 16px;cursor:pointer;text-transform:uppercase;letter-spacing:.11em;font-size:.65rem;transition:.25s}.filter:hover,.filter.active{color:#fff4df;border-color:var(--gold);background:rgba(103,72,131,.22);box-shadow:0 0 20px rgba(103,72,131,.13)}.catalog-tools{display:flex;justify-content:center;gap:12px;margin-top:15px}.search-box{width:min(430px,100%);display:flex;align-items:center;border:1px solid var(--border);background:#0f0e12;padding:0 14px;color:var(--gold)}.search-box input{width:100%;padding:12px;background:none;border:0;outline:0;color:var(--paper);font:inherit}.search-box input::placeholder{color:#756b60}.catalog-tools select{background:#0f0e12;border:1px solid var(--border);color:#d4c8ba;padding:0 14px;outline:0}.catalog-status{display:flex;justify-content:space-between;align-items:center;padding:24px 2px 14px;color:#8f8375;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.catalog-status button{background:none;border:0;color:var(--gold);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product-card{position:relative;border:1px solid rgba(198,168,120,.20);background:#0e0d11;overflow:hidden;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.product-card:hover{transform:translateY(-6px);border-color:rgba(198,168,120,.58);box-shadow:0 20px 50px rgba(0,0,0,.45)}.product-image-wrap{display:block;aspect-ratio:4/3;background:#070709;overflow:hidden;position:relative}.product-image{width:100%;height:100%;object-fit:contain;background:#08080a;transition:transform .7s cubic-bezier(.2,.8,.2,1);padding:8px}.product-card:hover .product-image{transform:scale(1.035)}.product-badge{position:absolute;left:12px;top:12px;padding:7px 9px;background:rgba(7,7,9,.86);border:1px solid rgba(198,168,120,.36);color:var(--gold);font-size:.58rem;text-transform:uppercase;letter-spacing:.12em}.product-card-body{padding:21px 20px 23px}.product-card h2{font-size:1.55rem;line-height:1.08;margin:0 0 13px;font-weight:600}.product-card h2 a:hover{color:#fff4df}.product-card-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.product-price{font-family:"Cormorant Garamond",serif;color:var(--gold);font-size:1.25rem;font-weight:700}.view-creation{font-size:.62rem;text-transform:uppercase;letter-spacing:.11em;color:#938576}.product-card:hover .view-creation{color:var(--gold)}.empty-state{text-align:center;padding:90px 20px;color:var(--muted)}.empty-state span{font-size:2rem;color:var(--gold)}.empty-state h2{font-size:2.5rem;margin:15px 0 7px}
/* product detail */
.product-main{padding:130px 5vw 100px;max-width:1450px;margin:auto}.back-link{display:inline-block;color:var(--gold);text-transform:uppercase;font-size:.66rem;letter-spacing:.13em;margin-bottom:34px}.product-view{min-height:520px}.product-detail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:56px}.product-gallery{display:grid;grid-template-columns:92px 1fr;gap:16px}.product-thumbs{display:flex;flex-direction:column;gap:10px;max-height:650px;overflow:auto}.product-thumb{border:1px solid var(--border);background:#09090b;padding:3px;cursor:pointer;aspect-ratio:1}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-thumb.active{border-color:var(--gold)}.product-main-image{min-height:600px;background:#0c0b0f;border:1px solid var(--border);display:grid;place-items:center;padding:14px}.product-main-image img{width:100%;height:100%;max-height:650px;object-fit:contain}.product-info .eyebrow{margin-bottom:12px}.product-info h1{font-size:clamp(2.8rem,5vw,5rem);line-height:.95;text-transform:none;margin:0}.product-detail-price{font:700 2rem "Cormorant Garamond",serif;color:var(--gold);margin:25px 0 12px}.artisan-note{color:#a99c8e;line-height:1.7;font-size:.83rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:17px 0}.product-description{font-family:"Cormorant Garamond",serif;font-size:1.18rem;line-height:1.65;color:#d6cabb;white-space:pre-line;margin:28px 0}.detail-block{border-top:1px solid var(--border);padding:20px 0}.detail-block h3{font-family:Montserrat,sans-serif;font-size:.67rem;text-transform:uppercase;letter-spacing:.15em;color:var(--gold);margin:0 0 12px}.detail-block p,.detail-block li{color:#b9ad9e;line-height:1.7;font-size:.8rem}.variant-list{padding:0;margin:0;list-style:none}.variant-list li{padding:7px 0;border-bottom:1px solid rgba(198,168,120,.08)}.buy-etsy{display:flex;justify-content:center;margin-top:25px;padding:18px 24px;background:linear-gradient(180deg,rgba(103,72,131,.95),rgba(53,33,71,.98));border:1px solid rgba(165,124,191,.6);text-transform:uppercase;letter-spacing:.15em;font-size:.72rem}.buy-etsy:hover{box-shadow:0 0 28px rgba(139,98,168,.38)}.loading-copy{color:var(--muted);text-align:center;padding:100px}
@media(max-width:1180px){.product-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,1fr)}.catalog-toolbar{top:72px}.catalog-tools{flex-direction:column;align-items:stretch}.search-box{width:100%}.catalog-tools select{height:44px}.product-detail{grid-template-columns:1fr}.product-gallery{grid-template-columns:70px 1fr}.product-main-image{min-height:420px}}
@media(max-width:620px){.catalog-hero{padding:75px 5vw 45px}.catalog-shell{padding:25px 4vw 80px}.product-grid{grid-template-columns:1fr}.filter-row{justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:5px}.filter{white-space:nowrap}.product-main{padding:110px 4vw 70px}.product-gallery{display:block}.product-thumbs{order:2;flex-direction:row;max-height:none;overflow:auto;margin-top:10px}.product-thumb{min-width:70px;width:70px}.product-main-image{min-height:340px}.product-info h1{font-size:3rem}}


/* =========================================================
   PRODUCT DETAIL v0.2 — PREMIUM WORKSHOP
   ========================================================= */

.product-page-premium{
  background:
    radial-gradient(circle at 78% 18%,rgba(93,56,116,.14),transparent 28%),
    radial-gradient(circle at 12% 25%,rgba(170,125,64,.06),transparent 28%),
    #08080a;
}

.premium-product-main{
  padding:118px 4.5vw 110px;
  max-width:1560px;
  margin:auto;
}

.premium-back{margin-bottom:25px}
.premium-product-view{min-height:620px}

.premium-product{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);
  gap:clamp(42px,5vw,86px);
  align-items:start;
}

.premium-gallery-column{
  position:sticky;
  top:105px;
}

.premium-main-image-wrap{
  position:relative;
  height:min(70vh,760px);
  min-height:560px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 45%,rgba(71,48,83,.17),transparent 50%),
    #0b0a0d;
  border:1px solid rgba(198,168,120,.28);
  overflow:hidden;
}

.premium-main-image-wrap::before,
.premium-main-image-wrap::after{
  content:"";
  position:absolute;
  width:62px;height:62px;
  pointer-events:none;
  opacity:.58;
}

.premium-main-image-wrap::before{
  left:13px;top:13px;
  border-left:1px solid var(--gold);
  border-top:1px solid var(--gold);
}

.premium-main-image-wrap::after{
  right:13px;bottom:13px;
  border-right:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
}

.premium-main-image-wrap>img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:22px;
  transition:opacity .2s ease,transform .65s cubic-bezier(.2,.7,.2,1);
}

.premium-main-image-wrap:hover>img{transform:scale(1.015)}
.premium-main-image-wrap>img.changing{opacity:.2}

.image-zoom-hint{
  position:absolute;
  z-index:4;
  top:20px;
  right:20px;
  border:1px solid rgba(198,168,120,.38);
  background:rgba(7,7,9,.76);
  backdrop-filter:blur(8px);
  color:#d5b26f;
  padding:9px 13px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.58rem;
  cursor:pointer;
}

.gallery-arrow{
  position:absolute;
  z-index:3;
  top:50%;
  transform:translateY(-50%);
  width:48px;height:60px;
  border:1px solid rgba(198,168,120,.25);
  background:rgba(8,8,10,.58);
  color:#e3c17d;
  font:400 2.4rem/1 "Cormorant Garamond",serif;
  cursor:pointer;
  opacity:0;
  transition:.25s;
}
.premium-main-image-wrap:hover .gallery-arrow{opacity:1}
.gallery-prev{left:16px}
.gallery-next{right:16px}
.gallery-arrow:hover{background:rgba(103,72,131,.35);border-color:var(--gold)}

.gallery-count{
  position:absolute;
  z-index:3;
  left:20px;
  bottom:18px;
  padding:6px 10px;
  color:#cbbda9;
  background:rgba(8,8,10,.72);
  border:1px solid rgba(198,168,120,.22);
  font-size:.62rem;
  letter-spacing:.13em;
}

.premium-thumbs{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.premium-thumb{
  aspect-ratio:4/3;
  padding:3px;
  border:1px solid rgba(198,168,120,.22);
  background:#0b0a0d;
  cursor:pointer;
  opacity:.6;
  transition:.25s;
  overflow:hidden;
}

.premium-thumb img{width:100%;height:100%;object-fit:cover}
.premium-thumb:hover,.premium-thumb.active{opacity:1;border-color:var(--gold)}
.premium-thumb.active{box-shadow:inset 0 0 0 1px rgba(198,168,120,.3)}

.premium-product-info{
  padding:12px 0 0;
}

.product-path{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.23em;
  font-size:.67rem;
  margin-bottom:18px;
}

.premium-product-info h1{
  font-family:"Libre Caslon Display","Cormorant Garamond",serif;
  font-size:clamp(3.6rem,5.3vw,6.4rem);
  line-height:.88;
  text-transform:none;
  letter-spacing:-.025em;
  margin:0;
  color:#f2eadc;
  max-width:820px;
}

.product-subtitle{
  margin:18px 0 0;
  color:#9c8e80;
  font-family:"Cormorant Garamond",serif;
  font-size:1.4rem;
  font-style:italic;
}

.premium-price-row{
  display:flex;
  align-items:center;
  gap:18px;
  margin:28px 0 20px;
}

.premium-price{
  color:#d5ad5e;
  font:700 2.2rem "Cormorant Garamond",serif;
}

.customizable-mark{
  color:#bca77f;
  border:1px solid rgba(198,168,120,.25);
  padding:7px 10px;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.58rem;
}

.product-trust-strip{
  display:flex;
  flex-wrap:wrap;
  border-top:1px solid rgba(198,168,120,.19);
  border-bottom:1px solid rgba(198,168,120,.19);
  padding:15px 0;
  margin-bottom:25px;
  color:#9f9283;
  font-size:.64rem;
  text-transform:uppercase;
  letter-spacing:.10em;
}

.product-trust-strip span:not(:last-child)::after{
  content:"✦";
  color:#8c7043;
  margin:0 14px;
}

.product-intro{
  font-family:"Cormorant Garamond",serif;
  color:#e1d5c6;
  font-size:1.35rem;
  line-height:1.62;
  margin:0 0 28px;
}

.section-label{
  font-size:.63rem;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.15em;
  margin-bottom:12px;
}

.variant-choices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-bottom:25px;
}

.variant-choice{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  min-height:64px;
  padding:12px 14px;
  border:1px solid rgba(198,168,120,.23);
  color:#d4c8ba;
  background:#0d0c10;
  cursor:pointer;
  text-align:left;
  transition:.25s;
}

.variant-choice span{font:600 .72rem Montserrat,sans-serif}
.variant-choice small{color:#8f8274;font-size:.67rem}
.variant-choice:hover,.variant-choice.active{
  border-color:#b99759;
  background:linear-gradient(135deg,rgba(103,72,131,.22),rgba(174,132,67,.06));
  box-shadow:0 0 22px rgba(80,51,101,.12);
}

.premium-buy-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:19px 22px;
  color:#0b090c;
  background:linear-gradient(100deg,#bd9751,#e3c47f,#b88c42);
  border:1px solid #e0c279;
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.68rem;
  font-weight:600;
  transition:.3s;
}

.premium-buy-button:hover{
  color:#09070b;
  transform:translateY(-2px);
  box-shadow:0 14px 40px rgba(184,140,66,.18);
}

.etsy-note{
  text-align:center;
  color:#776d63;
  font-size:.67rem;
  margin:9px 0 27px;
}

.sorcerer-note{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:16px;
  padding:19px;
  margin:0 0 26px;
  border:1px solid rgba(198,168,120,.22);
  background:
    radial-gradient(circle at 0 50%,rgba(102,70,130,.18),transparent 40%),
    rgba(14,13,17,.85);
}

.sorcerer-seal{
  width:58px;height:58px;
  display:grid;
  place-items:center;
  border:1px solid #947849;
  border-radius:50%;
  color:#d0ad68;
  font:600 1rem "Cormorant Garamond",serif;
  box-shadow:inset 0 0 0 5px #0c0b0e,inset 0 0 0 6px rgba(148,120,73,.4);
}

.sorcerer-note span{
  color:#d2b36d;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.62rem;
}

.sorcerer-note p{
  margin:7px 0 0;
  color:#b9ad9d;
  font-family:"Cormorant Garamond",serif;
  font-size:1.04rem;
  line-height:1.45;
}

.premium-accordions{
  border-top:1px solid rgba(198,168,120,.22);
}

.product-accordion{
  border-bottom:1px solid rgba(198,168,120,.22);
}

.product-accordion summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:19px 2px;
  color:#d7cbbb;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.65rem;
}

.product-accordion summary::-webkit-details-marker{display:none}
.accordion-plus{color:var(--gold);font-size:1rem;transition:.25s}
.product-accordion[open] .accordion-plus{transform:rotate(45deg)}

.accordion-content{
  padding:0 0 23px;
  color:#a99c8e;
  font-size:.82rem;
  line-height:1.7;
}

.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.detail-fact{
  padding:13px 0;
  border-bottom:1px solid rgba(198,168,120,.10);
}
.detail-fact span{
  display:block;
  color:#746a60;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.56rem;
  margin-bottom:4px;
}
.detail-fact strong{font-size:.78rem;color:#c9bcad;font-weight:500}

.personalization-box strong{color:#d5c7b5}
.required-pill{
  display:inline-block;
  margin-left:8px;
  padding:3px 7px;
  border:1px solid rgba(198,168,120,.3);
  color:var(--gold);
  text-transform:uppercase;
  font-size:.51rem;
  letter-spacing:.1em;
}
.personalization-box p{margin:9px 0 0}
.full-description{font-family:"Cormorant Garamond",serif;font-size:1.05rem;color:#cbbdac}

.workshop-signature{
  margin:90px 0 0;
  padding:24px 25px;
  border-top:1px solid rgba(198,168,120,.22);
  border-bottom:1px solid rgba(198,168,120,.22);
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
  color:#958878;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.61rem;
}
.workshop-signature i{color:#9c7a42;font-style:normal}

.related-creations{
  padding:85px 0 10px;
  text-align:center;
}

.related-creations h2{
  font-family:"Libre Caslon Display","Cormorant Garamond",serif;
  font-size:clamp(2.8rem,4vw,4.7rem);
  text-transform:none;
  margin:7px 0 35px;
}

.related-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:17px;
}

.related-card{
  display:block;
  text-align:left;
  border:1px solid rgba(198,168,120,.18);
  background:#0d0c10;
  transition:.3s;
}
.related-card:hover{transform:translateY(-5px);border-color:rgba(198,168,120,.55)}
.related-image{aspect-ratio:4/3;overflow:hidden;background:#070709}
.related-image img{width:100%;height:100%;object-fit:contain;transition:.5s}
.related-card:hover img{transform:scale(1.035)}
.related-copy{padding:16px}
.related-copy span{
  display:block;color:#8e7550;font-size:.52rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:7px
}
.related-copy strong{
  display:block;color:#e3d8c8;font:600 1.15rem "Cormorant Garamond",serif;line-height:1.05
}
.related-copy em{
  display:block;color:#c9a65e;font:normal 700 1rem "Cormorant Garamond",serif;margin-top:10px
}

/* fullscreen gallery */
.product-lightbox{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(3,3,5,.96);
  opacity:0;
  visibility:hidden;
  transition:.25s;
}
.product-lightbox.open{opacity:1;visibility:visible}
.product-lightbox img{
  max-width:88vw;
  max-height:88vh;
  object-fit:contain;
  box-shadow:0 0 80px rgba(0,0,0,.6);
}
.lightbox-close{
  position:absolute;top:22px;right:28px;
  color:#dac28c;background:none;border:0;
  font-size:2rem;cursor:pointer
}
.lightbox-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:60px;height:80px;border:1px solid rgba(198,168,120,.25);
  background:rgba(8,8,10,.45);color:#d4b36f;font-size:3rem;cursor:pointer
}
.lightbox-prev{left:25px}.lightbox-next{right:25px}
.lightbox-counter{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  color:#a99b88;letter-spacing:.16em;font-size:.65rem
}
body.lightbox-open{overflow:hidden}

@media(max-width:1050px){
  .premium-product{grid-template-columns:1fr}
  .premium-gallery-column{position:relative;top:0}
  .premium-product-info h1{font-size:clamp(3.2rem,9vw,5.5rem)}
  .related-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:650px){
  .premium-product-main{padding:100px 4vw 70px}
  .premium-main-image-wrap{min-height:420px;height:62vh}
  .premium-thumbs{grid-template-columns:repeat(4,1fr)}
  .gallery-arrow{opacity:1;width:40px;height:52px}
  .variant-choices{grid-template-columns:1fr}
  .detail-list{grid-template-columns:1fr}
  .related-grid{grid-template-columns:1fr}
  .product-trust-strip span{display:block;width:100%;margin:3px 0}
  .product-trust-strip span:not(:last-child)::after{display:none}
  .workshop-signature{gap:10px}
  .lightbox-arrow{width:42px;height:60px}
  .lightbox-prev{left:8px}.lightbox-next{right:8px}
}


/* v2.0 — dynamic Etsy shop sections */
#categoryFilters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
#categoryFilters .filter small{
  margin-left:5px;
  opacity:.58;
  font-size:.72em;
}
