/* Sourcewav Features 5-8 — Artist Store */
/* --------------------------------------------------------------------------
   8. ARTIST STORE (ร้านขายของศิลปิน)
--------------------------------------------------------------------------- */
.artist-store-section {
  margin-top: 36px;
  padding: 26px 28px;
  background: #ffffff;
  border: 1px solid #d9e2ec;
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(23, 41, 64, 0.05);
}
.store-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.store-header h2 {
  font-size: 24px;
  margin: 4px 0 6px;
  letter-spacing: -0.5px;
  color: #172a40;
}
.store-header p {
  color: #61788c;
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
  max-width: 580px;
}

.store-filters {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 14px;
  margin-bottom: 18px;
  border-bottom: 1px solid #edf2f7;
}
.store-chip {
  flex: none;
  background: #f8fafc;
  border: 1px solid #d5e1ec;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  color: #556c82;
  cursor: pointer;
  transition: all 0.15s ease;
}
.store-chip:hover {
  border-color: #8bb2cf;
  color: #172a40;
}
.store-chip.selected {
  background: #172a40;
  border-color: #172a40;
  color: #ffffff;
}

/* Store Products Grid */
.store-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 18px;
}
.store-product-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.store-product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(16, 32, 51, 0.08);
}
.product-image-wrap {
  height: 160px;
  background: #f1f5f9;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-vinyl-graphic {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: repeating-radial-gradient(circle at center, #171916 0 12px, #333 13px 14px);
  border: 4px solid #111;
  display: grid;
  place-items: center;
  color: #d7fa48;
  font-size: 20px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}
.product-tag-floating {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
}
.product-demo-btn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(23, 42, 64, 0.88);
  color: #d7fa48;
  border: 0;
  border-radius: 20px;
  padding: 4px 10px;
  font: 700 11px var(--font);
  cursor: pointer;
  backdrop-filter: blur(4px);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.product-demo-btn:hover {
  background: #172a40;
}

.product-info {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: space-between;
}
.product-category-sub {
  font-size: 10px;
  color: #64748b;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.5px;
}
.product-info h4 {
  font-size: 14px;
  color: #172a40;
  margin: 3px 0 6px;
  line-height: 1.4;
}
.product-info p {
  font-size: 11px;
  color: #64748b;
  line-height: 1.5;
  margin: 0 0 12px;
}
.product-price-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 12px;
}
.product-price-row b {
  font-size: 17px;
  color: #172a40;
}
.product-price-row small {
  font-size: 10px;
  color: #94a3b8;
}
.buy-product-btn {
  width: 100%;
  background: #172a40;
  color: #ffffff;
  border: 0;
  border-radius: 8px;
  padding: 9px;
  font: 600 12px var(--font);
  cursor: pointer;
  transition: all 0.16s ease;
}
.buy-product-btn:hover {
  background: #24466b;
  color: #d7fa48;
}

/* Digital Download Unlock Box */
.download-unlocked-box {
  background: #f0fdf4;
  border: 2px dashed #86efac;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  margin: 16px 0;
}
.download-unlocked-box h3 {
  color: #15803d;
  margin: 0 0 8px;
}
.instant-download-btn {
  background: #15803d;
  color: #ffffff;
  border: 0;
  border-radius: 8px;
  padding: 12px 20px;
  font: 700 13px var(--font);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  box-shadow: 0 4px 14px rgba(21, 128, 61, 0.25);
}
.instant-download-btn:hover {
  background: #166534;
}

/* Artist Store — neon glass marketplace */
.artist-store-section{
  isolation:isolate;position:relative;overflow:hidden;margin-top:30px;padding:30px;
  border:1px solid #79d9ed72;border-radius:22px;
  background:radial-gradient(ellipse at 94% 8%,#287dab3d,transparent 37%),radial-gradient(ellipse at 4% 95%,#124b7040,transparent 39%),linear-gradient(145deg,#071522,#0b1a2b 56%,#081522);
  box-shadow:0 20px 55px #05101d38,inset 0 1px #dbfbff1c;
}
.artist-store-section::before{position:absolute;z-index:-1;inset:0;content:"";opacity:.16;pointer-events:none;background-image:radial-gradient(#88dcf44c 1px,transparent 1px),linear-gradient(#9bdcf30b 1px,transparent 1px);background-size:19px 19px,96px 96px;mask-image:linear-gradient(145deg,#000,transparent 78%)}
.store-header{position:relative;z-index:1;align-items:center;margin-bottom:23px}
.store-header .section-kicker{color:#71deed;font:700 11px var(--display);letter-spacing:1.4px}
.store-header h2{margin:5px 0 7px;color:#f1faff;font-size:clamp(25px,3vw,36px);font-weight:750;line-height:1.3;letter-spacing:-.5px;text-shadow:0 0 24px #52c7e624}
.store-header p{max-width:610px;color:#a8bfce;font-size:13px;line-height:1.75}
.store-header>div:last-child{flex:none;align-items:center}
.store-header .outline-btn{min-height:42px;padding:0 14px;border:1px solid #72cadd50;border-radius:999px;background:#122638a8;color:#c2deec;font:600 12px var(--font);backdrop-filter:blur(12px)}
.store-header .outline-btn:hover{border-color:#6bdcf0;background:#183449;color:#effbff}
.artist-store-section .booking-primary-btn{min-height:46px;padding:0 18px;border:1px solid #c4f783;border-radius:999px;background:linear-gradient(115deg,#203343,#101f2b 68%,#263a37);color:#d9ff7d;font-size:14px;font-weight:750;box-shadow:0 0 0 1px #d0ff6926,0 0 23px #c5f77b32,inset 0 1px #ffffff23;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}
.artist-store-section .booking-primary-btn:hover{transform:translateY(-2px);border-color:#e5ffaf;background:linear-gradient(110deg,#304c4c,#183b42);color:#efffc8;box-shadow:0 0 0 2px #d0ff6933,0 0 30px #c5f77b55,inset 0 1px #ffffff3b}
.artist-store-section .booking-primary-btn>span{font-size:21px;line-height:1}
.store-filters{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;overflow-x:auto;margin:0 -2px 19px;padding:3px 2px 17px;border-bottom:1px solid #8dc9dc2b;scrollbar-color:#3587a2 #0d1a28;scrollbar-width:thin}
.store-chip{display:flex;min-height:70px;align-items:center;justify-content:center;gap:9px;padding:10px 13px;border:1px solid #79d8e17a;border-radius:16px;background:linear-gradient(145deg,#1b3143e8,#101d2de8 70%,#142b3a);color:#d7eaf3;font-size:13px;font-weight:700;line-height:1.4;text-align:center;white-space:normal;box-shadow:inset 0 1px #ffffff17,0 7px 17px #020b1640;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}
.store-chip:hover{transform:translateY(-2px);border-color:#9aeaf1;background:linear-gradient(145deg,#25475a,#152a3e);color:#f5fdff;box-shadow:inset 0 1px #ffffff28,0 9px 20px #020b1650,0 0 16px #50d5e71c}
.store-chip.selected{border-color:#68e5f3;background:linear-gradient(145deg,#1c6b83,#14374d 70%,#174252);color:#eaffff;box-shadow:inset 0 1px #ffffff47,0 0 0 1px #68e5f380,0 0 23px #38c5e240}
.store-grid{position:relative;z-index:1;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:15px}
.store-product-card{min-width:0;border:1px solid #70b3ca69;border-radius:17px;background:linear-gradient(150deg,#12283a,#0d1d2d 74%,#102a38);box-shadow:inset 0 1px #ffffff15,0 9px 24px #020a1540;transition:transform .22s,border-color .22s,box-shadow .22s}
.store-product-card:hover{transform:translateY(-3px);border-color:#71deeb;box-shadow:inset 0 1px #ffffff20,0 15px 32px #020a1560,0 0 22px #2eb5d21a}
.product-image-wrap{height:188px;border-bottom:1px solid #70c7dc38;background:radial-gradient(ellipse at 50% 20%,#2e718742,transparent 55%),linear-gradient(145deg,#0e1f30,#142c40)}
.product-image-wrap img{transition:transform .35s,filter .35s}
.store-product-card:hover .product-image-wrap img{transform:scale(1.035);filter:saturate(1.12)}
.product-tag-floating{top:12px;left:12px}
.badge-digital,.badge-physical{border:1px solid #8bd8e8a1;background:#0c2d41e8;color:#c3f1f8;box-shadow:0 4px 12px #020b1670;backdrop-filter:blur(10px)}
.product-demo-btn{bottom:12px;right:12px;border:1px solid #70d8e37a;border-radius:999px;background:#0b2639d9;color:#a8f4f5;box-shadow:0 5px 15px #020b1675}
.product-demo-btn:hover{background:#143c53;color:#e7ffff}
.product-info{padding:16px}
.product-category-sub{color:#7fe0e9;font-size:10px;letter-spacing:1px}
.product-info h4{margin:5px 0 7px;color:#eff8ff;font-size:16px;line-height:1.5}
.product-info p{color:#a9bfce;font-size:12px;line-height:1.7}
.product-price-row{align-items:center}
.product-price-row b{color:#e9fbff;font-size:19px}
.product-price-row small{color:#a0c0ce;font-size:11px}
.buy-product-btn{min-height:41px;border:1px solid #4fbcd17d;border-radius:999px;background:linear-gradient(110deg,#155779,#14738a);color:#effcff;font-size:13px;box-shadow:0 5px 14px #05253a5c,inset 0 1px #ffffff32}
.buy-product-btn:hover{background:linear-gradient(110deg,#16759b,#1798ab);color:#fff;box-shadow:0 0 18px #2bbddc40}
.buy-product-btn:disabled{border-color:#637987;background:#273744;color:#a2b2bb;box-shadow:none}
.store-empty{grid-column:1/-1;display:flex;min-height:375px;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:28px;border:1px solid #80b8ca63;border-radius:21px;background:radial-gradient(ellipse at 50% 49%,#0f5a8044,transparent 38%),linear-gradient(145deg,#0c1a2a,#0a1725 60%,#101d29);text-align:center;box-shadow:inset 0 1px #ffffff18,0 14px 30px #02091430}
.store-empty-art{width:195px;height:145px;margin:-3px 0 6px;filter:drop-shadow(0 10px 20px #22c7ec30);animation:store-float 5.4s ease-in-out infinite}
.store-empty-art svg{display:block;width:100%;height:100%;overflow:visible}
.store-empty-kicker{color:#80e8f0;font:700 10px var(--display);letter-spacing:1.5px}
.store-empty h3{margin:7px 0;color:#f1f9ff;font-size:21px;line-height:1.45}
.store-empty p{max-width:490px;margin:0 0 18px;color:#abc3d1;font-size:13px;line-height:1.75}
.artist-store-section :is(button):focus-visible{outline:3px solid #a4f2ff;outline-offset:3px}
@keyframes store-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(max-width:900px){.artist-store-section{padding:24px}.store-filters{grid-template-columns:repeat(5,minmax(125px,1fr))}.store-header{align-items:flex-start}}
@media(max-width:680px){.artist-store-section{margin-top:23px;padding:21px 16px;border-radius:18px}.store-header{flex-direction:column;gap:15px}.store-header h2{font-size:26px}.store-header p{font-size:12px}.store-header>div:last-child{width:100%;justify-content:flex-start!important}.store-filters{grid-template-columns:repeat(5,minmax(115px,1fr));margin-bottom:14px}.store-chip{min-height:64px;padding:8px 10px;font-size:12px}.store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-image-wrap{height:140px}.product-info{padding:12px}.product-info h4{font-size:14px}.product-info p{font-size:11px}.product-price-row{gap:6px;align-items:flex-start;flex-direction:column}.product-price-row b{font-size:17px}.store-empty{min-height:330px;padding:22px 14px}.store-empty-art{width:170px;height:126px}.store-empty h3{font-size:18px}}
@media(max-width:460px){.store-grid{grid-template-columns:1fr}.product-image-wrap{height:180px}}
@media(prefers-reduced-motion:reduce){.store-chip,.store-product-card,.store-empty-art,.artist-store-section .booking-primary-btn{transition:none;animation:none}}


/* Supplied product category artwork, sized to read like compact pictograms. */
.store-chip{gap:8px}
.store-filter-icon{display:block;width:31px;height:31px;flex:none;object-fit:contain}
@media(max-width:680px){.store-filter-icon{width:27px;height:27px}}

