/* SOULNEX HOME – Textile collection addon – scoped classes */
:root{--snxt-bg:#f7f0e8;--snxt-ink:#30232b;--snxt-rose:#a87281}
.snxt-container{max-width:1430px;width:calc(100% - 76px);margin:auto}
.snxt-showcase,.snxt-embedded,.snxt-page{color:var(--snxt-ink);font-family:Arial,sans-serif}
.snxt-showcase *,.snxt-embedded *,.snxt-page *{box-sizing:border-box}
.snxt-kicker{font:bold 10px/1.5 Arial,sans-serif!important;letter-spacing:.22em!important;color:var(--snxt-rose)!important;margin:0 0 14px!important}
.snxt-showcase{padding:88px 0;background:var(--snxt-bg)}
.snxt-showcase-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}
.snxt-showcase-heading h2,.snxt-embedded-header h2,.snxt-group-heading h2{font:400 clamp(40px,5vw,75px)/1.08 Georgia,serif!important;letter-spacing:-.04em;margin:0!important;color:var(--snxt-ink)}
.snxt-showcase-heading h2 em{color:var(--snxt-rose)}
.snxt-showcase-heading>div:last-child{max-width:335px}
.snxt-showcase-heading>div:last-child p,.snxt-embedded-header>p{font:400 13px/1.8 Arial,sans-serif;color:#746a6e;margin:0 0 15px}
.snxt-inline{display:inline-block;padding:0 0 8px;color:#603b47!important;border-bottom:1px solid #9e6e78;text-decoration:none!important;font:bold 10px Arial,sans-serif;letter-spacing:.12em;line-height:1.7}
.snxt-mosaic{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;height:500px}
.snxt-feature,.snxt-mini-grid>a{position:relative;overflow:hidden;display:block;color:white!important;text-decoration:none!important;background:#b79896}
.snxt-mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;filter:brightness(.9)}
.snxt-mosaic a:hover img{transform:scale(1.05)}
.snxt-feature:after,.snxt-mini-grid>a:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(24,11,18,.8));pointer-events:none}
.snxt-feature>span{position:absolute;z-index:1;left:26px;right:20px;bottom:26px;display:grid;gap:12px}
.snxt-feature>span small,.snxt-feature>span b{font:bold 9px Arial,sans-serif;letter-spacing:.15em}
.snxt-feature>span strong{font:400 clamp(37px,4vw,65px)/1.08 Georgia,serif}.snxt-feature>span strong em{color:#ecc7ac}
.snxt-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;min-height:0}
.snxt-mini-grid>a{min-width:0;min-height:0}.snxt-mini-grid>a span{position:absolute;z-index:1;bottom:14px;left:13px;right:9px;color:#fff;font:400 19px/1.15 Georgia,serif}
.snxt-embedded{padding:85px 0;background:var(--snxt-bg)}.snxt-embedded-header{margin-bottom:60px}.snxt-embedded-header>p{margin:18px 0}
.snxt-group{padding:20px 0 75px;scroll-margin-top:90px}.snxt-group+.snxt-group{border-top:1px solid #dccbc1;padding-top:65px}
.snxt-group-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}.snxt-group-heading h2{font-size:clamp(33px,4.4vw,60px)!important}.snxt-group-heading>span{font:bold 9px Arial,sans-serif;letter-spacing:.17em;color:#907478;white-space:nowrap}
.snxt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.snxt-card{display:block;min-width:0;overflow:hidden;background:#fffaf6;border:1px solid #e7d9cf;text-decoration:none!important;color:#34262d!important;transition:transform .35s,box-shadow .35s}
.snxt-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(51,25,39,.1)}
.snxt-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:#c0a39c}.snxt-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.snxt-card:hover img{transform:scale(1.05)}
.snxt-tag{position:absolute;top:12px;left:12px;padding:7px 9px;background:rgba(29,15,21,.45);font:bold 8px Arial,sans-serif;letter-spacing:.1em;color:#fff}.snxt-arr{position:absolute;bottom:12px;right:12px;border:1px solid #ffedeb;color:#fff;width:30px;height:30px;display:grid;place-items:center;font-size:18px;background:rgba(30,15,19,.2)}
.snxt-meta{padding:19px 17px 22px}.snxt-meta>span{color:#a4727f;font:bold 9px Arial,sans-serif;letter-spacing:.08em}.snxt-meta h3{font:400 clamp(20px,2.1vw,29px)/1.15 Georgia,serif;margin:10px 0 9px!important;color:#30232b}.snxt-meta p{color:#786b70;font:400 11px/1.5 Arial,sans-serif;margin:0}
.snxt-embedded .snxt-group:first-of-type .snxt-card:first-child{grid-column:span 2}.snxt-embedded .snxt-group:first-of-type .snxt-card:first-child .snxt-image{aspect-ratio:2.1/1}
/* Full standalone pages */
body.snxt-body{margin:0;background:var(--snxt-bg);color:var(--snxt-ink);font-family:Arial,sans-serif}
.snxt-header{height:74px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#261820}
.snxt-brand{font:400 24px Georgia,serif;letter-spacing:.13em;text-decoration:none!important;color:#ffefe5!important;white-space:nowrap}.snxt-brand small{display:block;font:bold 7px Arial,sans-serif;letter-spacing:.25em;margin:5px 0 0 19px}
.snxt-header nav{display:flex;gap:24px}.snxt-header nav a{text-decoration:none!important;color:#f0dcd2!important;font:bold 9px Arial,sans-serif;letter-spacing:.12em}
.snxt-pagehero{background:#35232e;display:grid;grid-template-columns:1fr 1fr;min-height:500px}
.snxt-hero-copy{padding:75px 9%;display:flex;flex-direction:column;justify-content:center;align-items:start}.snxt-hero-copy .snxt-kicker{color:#e8c3ae!important}
.snxt-hero-copy h1{font:400 clamp(50px,5vw,86px)/1.02 Georgia,serif;letter-spacing:-.05em;color:#fff6ec;margin:10px 0 25px}.snxt-hero-copy h1 em{color:#e5bfa7;display:block}
.snxt-hero-copy>p:not(.snxt-kicker){font:400 14px/1.8 Arial,sans-serif;color:#e2d2cd;max-width:390px;margin:0 0 29px}
.snxt-btn{display:inline-block;background:#d5b18f;padding:15px 22px;font:bold 10px Arial,sans-serif;letter-spacing:.11em;text-decoration:none!important;color:#2c1920!important}
.snxt-pagehero>img{width:100%;height:100%;max-height:650px;object-fit:cover}
.snxt-page>.snxt-container{padding-top:84px;padding-bottom:45px}
.snxt-detail{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.snxt-detail-photo{position:relative;max-height:810px;overflow:hidden;background:#c7aca2}.snxt-detail-photo img{width:100%;height:100%;object-fit:cover;display:block}.snxt-detail-photo>span{position:absolute;top:20px;left:20px;background:rgba(30,18,21,.5);color:#fff;padding:9px;font:bold 9px Arial,sans-serif;letter-spacing:.14em}
.snxt-detail-body{padding:60px 10%;display:flex;flex-direction:column;align-items:start;justify-content:center}.snxt-back{color:#886d71!important;text-decoration:none!important;font:bold 10px Arial,sans-serif;letter-spacing:.07em;margin-bottom:65px}
.snxt-detail-body h1{font:400 clamp(51px,5.6vw,88px)/1.02 Georgia,serif;letter-spacing:-.05em;margin:10px 0 20px!important;color:#36232d}.snxt-detail-body h2{font:italic 400 clamp(25px,2.6vw,39px) Georgia,serif;margin:0 0 30px;color:#a76d79}.snxt-description{font:400 14px/1.9 Arial,sans-serif;color:#5d5156;margin:0 0 24px;max-width:460px}
.snxt-data{width:100%;padding:15px 0;border-top:1px solid #d7c8bd;display:flex;justify-content:space-between;gap:20px}.snxt-data span{color:#9b7380;font:bold 9px Arial,sans-serif;letter-spacing:.09em}.snxt-data strong{color:#49373d;font:400 12px Arial,sans-serif;text-align:right}.snxt-note{font:400 11px/1.8 Arial,sans-serif;color:#897778;margin:22px 0 25px}
.snxt-related{padding-top:65px!important}.snxt-related .snxt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.snxt-footer{display:flex;justify-content:space-between;gap:15px;padding:28px 5%;background:#271920;color:#efd5c5;font:bold 9px Arial,sans-serif;letter-spacing:.13em}.snxt-footer a{color:#efd5c5!important;text-decoration:none!important}.snxt-notfound{min-height:60vh;display:grid;place-content:center;text-align:center}
@media(max-width:850px){.snxt-container{width:calc(100% - 32px)}.snxt-showcase{padding:60px 0}.snxt-showcase-heading{display:block}.snxt-showcase-heading>div:last-child{margin-top:17px}.snxt-mosaic{grid-template-columns:1fr;height:auto}.snxt-feature{height:350px}.snxt-mini-grid{grid-template-rows:repeat(2,170px);gap:9px;margin-top:9px}.snxt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.snxt-group{padding-bottom:55px}.snxt-group+.snxt-group{padding-top:50px}.snxt-embedded .snxt-group:first-of-type .snxt-card:first-child{grid-column:span 2}.snxt-group-heading{align-items:start;flex-direction:column;gap:8px}.snxt-pagehero{grid-template-columns:1fr}.snxt-pagehero>img{height:270px}.snxt-detail{grid-template-columns:1fr}.snxt-detail-photo{height:460px}.snxt-detail-body{padding:40px 8% 60px}.snxt-back{margin-bottom:37px}.snxt-related .snxt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.snxt-related .snxt-card:last-child{display:none}}
@media(max-width:500px){.snxt-showcase-heading h2{font-size:46px!important}.snxt-feature{height:290px}.snxt-feature>span{left:18px;bottom:18px}.snxt-feature>span strong{font-size:38px}.snxt-mini-grid{grid-template-rows:repeat(2,145px)}.snxt-mini-grid>a span{font-size:15px;bottom:10px;left:10px}.snxt-embedded{padding:65px 0}.snxt-meta{padding:13px 10px 17px}.snxt-meta h3{font-size:19px}.snxt-meta>span{font-size:8px}.snxt-meta p{font-size:10px}.snxt-tag{font-size:7px;top:9px;left:9px;padding:5px}.snxt-arr{width:23px;height:23px;bottom:9px;right:9px}.snxt-header{padding:0 13px;height:66px;gap:8px}.snxt-brand{font-size:17px}.snxt-brand small{font-size:5px}.snxt-header nav{gap:10px}.snxt-header nav a{font-size:7px}.snxt-header nav a:nth-child(2){display:none}.snxt-hero-copy{padding:63px 20px}.snxt-hero-copy h1{font-size:53px}.snxt-detail-photo{height:370px}.snxt-detail-body h1{font-size:52px}.snxt-group-heading h2{font-size:38px!important}}
@media(prefers-reduced-motion:reduce){.snxt-showcase *,.snxt-embedded *,.snxt-page *{transition:none!important;animation:none!important}}
/* ===============================
   PREMIUM DETAIL MEDIA AREA
================================= */

.snxt-detail-layout {
  display: grid;
  grid-template-columns: minmax(520px, 1.05fr) minmax(420px, 0.95fr);
  gap: 56px;
  align-items: start;
}

.snxt-media-wrap {
  position: relative;
}

.snxt-media-card {
  position: relative;
  background: linear-gradient(180deg, #f4efe8 0%, #efe7de 100%);
  border: 1px solid rgba(88, 51, 61, 0.14);
  border-radius: 28px;
  padding: 18px;
  box-shadow:
    0 20px 50px rgba(51, 28, 35, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.7);
  overflow: hidden;
}

.snxt-media-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(178, 129, 146, 0.14), transparent 30%),
    radial-gradient(circle at bottom left, rgba(209, 184, 162, 0.18), transparent 28%);
  pointer-events: none;
}

.snxt-media-topbar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.snxt-media-badge {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6d4d57;
  background: rgba(255,255,255,0.65);
  border: 1px solid rgba(88, 51, 61, 0.10);
  border-radius: 999px;
  padding: 9px 14px;
  backdrop-filter: blur(8px);
}

.snxt-media-actions {
  display: flex;
  gap: 10px;
}

.snxt-circle-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(88, 51, 61, 0.14);
  background: rgba(255,255,255,0.78);
  color: #4f2b35;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.snxt-circle-btn:hover {
  transform: translateY(-2px) scale(1.03);
  background: #fff;
  border-color: rgba(88, 51, 61, 0.24);
}

.snxt-media-stage {
  position: relative;
  z-index: 1;
  border-radius: 22px;
  overflow: hidden;
  background: #ede5db;
  border: 1px solid rgba(88, 51, 61, 0.08);
  min-height: 720px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.snxt-main-image {
  width: 100%;
  height: 100%;
  max-height: 820px;
  object-fit: contain;
  display: block;
  transition: transform .7s ease, opacity .35s ease;
  opacity: 1;
  background: linear-gradient(180deg, #efe8de 0%, #f7f2eb 100%);
}

.snxt-media-stage:hover .snxt-main-image {
  transform: scale(1.018);
}

.snxt-main-image.is-changing {
  opacity: 0.15;
}

.snxt-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(88, 51, 61, 0.12);
  background: rgba(255,255,255,0.82);
  color: #4d2c35;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(34, 17, 22, 0.10);
  transition: all .25s ease;
}

.snxt-nav-btn:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.04);
}

.snxt-nav-prev { left: 16px; }
.snxt-nav-next { right: 16px; }

.snxt-zoom-chip {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 3;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  background: rgba(61, 30, 40, 0.78);
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: transform .25s ease, background .25s ease;
}

.snxt-zoom-chip:hover {
  transform: translateY(-2px);
  background: rgba(61, 30, 40, 0.92);
}

.snxt-floating-note {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 3;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(88, 51, 61, 0.08);
  border-radius: 18px;
  padding: 12px 14px;
  font-size: 12px;
  color: #684550;
  backdrop-filter: blur(8px);
  max-width: 220px;
  line-height: 1.45;
}

.snxt-thumb-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.snxt-thumb {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(88, 51, 61, 0.08);
  background: #f5efe7;
  cursor: pointer;
  transition: all .25s ease;
  aspect-ratio: 1 / 1;
}

.snxt-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}

.snxt-thumb:hover img {
  transform: scale(1.05);
}

.snxt-thumb:hover {
  transform: translateY(-2px);
  border-color: rgba(88, 51, 61, 0.18);
}

.snxt-thumb.active {
  border-color: #8d6270;
  box-shadow: 0 0 0 2px rgba(141, 98, 112, 0.18);
}

.snxt-media-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.snxt-point {
  padding: 10px 14px;
  border-radius: 999px;
  background: #f3ebe3;
  border: 1px solid rgba(88, 51, 61, 0.08);
  color: #5f404a;
  font-size: 12px;
  letter-spacing: 0.05em;
}

.snxt-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(26, 12, 18, 0.82);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 40px;
}

.snxt-lightbox.active {
  display: flex;
}

.snxt-lightbox-inner {
  position: relative;
  max-width: 92vw;
  max-height: 92vh;
}

.snxt-lightbox img {
  max-width: 92vw;
  max-height: 92vh;
  border-radius: 20px;
  box-shadow: 0 24px 80px rgba(0,0,0,0.35);
  background: #fff;
}

.snxt-lightbox-close {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  color: #2d1a20;
  font-size: 20px;
  cursor: pointer;
}

@media (max-width: 1200px) {
  .snxt-detail-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .snxt-media-stage {
    min-height: 600px;
  }
}

@media (max-width: 768px) {
  .snxt-media-card {
    padding: 12px;
    border-radius: 20px;
  }

  .snxt-media-stage {
    min-height: 420px;
    border-radius: 16px;
  }

  .snxt-nav-btn {
    width: 44px;
    height: 44px;
  }

  .snxt-floating-note {
    display: none;
  }

  .snxt-thumb-row {
    grid-template-columns: repeat(4, minmax(68px, 1fr));
    gap: 8px;
  }
}