/* NOVYA motion pass. Existing collection and shop-the-room designs stay intact. */

.nv-section-kicker {
  display:block;
  margin-bottom:16px;
  color:#f76d08;
  font-size:10px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}

/* Stable room filmstrip: the old layout remains, without the flex-width glitch. */
.nv-rooms-section { overflow:hidden; }
.nv-room-grid { gap:12px !important; }
.nv-room-card {
  flex:1 1 0 !important;
  transform:translateY(0);
  transition:transform .55s cubic-bezier(.16,1,.3,1) !important;
}
.nv-room-card:hover { flex:1 1 0 !important; transform:translateY(-8px); }
.nv-room-card > img { transition:transform .8s cubic-bezier(.16,1,.3,1),filter .45s ease !important; }
.nv-room-card:hover > img { transform:scale(1.045) !important; filter:saturate(1.05); }

/* The chosen third concept: asymmetric, borderless product composition. */
#shop { background:#f8f9fa; }
.nv-shop-head { align-items:start !important; margin-bottom:42px !important; }
.nv-shop-title h2,
.nv-shop-head h2 {
  max-width:15ch !important;
  color:#273c5b;
  font-size:clamp(50px,5.8vw,86px) !important;
  font-weight:400 !important;
  letter-spacing:-.06em !important;
  line-height:.93 !important;
}
.nv-shop-title p { max-width:54ch; margin:22px 0 0; color:rgba(39,60,91,.63); font-size:13px; line-height:1.75; }
.nv-shop-controls { gap:30px !important; margin-bottom:42px !important; border-color:rgba(39,60,91,.14) !important; }
.nv-product-grid {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:48px 22px !important;
  overflow:visible !important;
  padding:0 !important;
  cursor:auto !important;
}
.nv-product-card { min-width:0 !important; }
.nv-product-card:first-child { grid-column:span 2; grid-row:span 2; }
.nv-turntable { aspect-ratio:1/1.02 !important; background:#f8f9fa !important; }
.nv-product-card:first-child .nv-turntable { aspect-ratio:1.12/1 !important; }
.nv-turntable__image { mix-blend-mode:multiply; }
.nv-product-copy { padding-top:15px !important; }
.nv-product-title-row { align-items:flex-start !important; flex-direction:column; gap:4px !important; }
.nv-product-title-row a { color:#273c5b !important; font-size:15px !important; font-weight:650 !important; }
.nv-product-card:first-child .nv-product-title-row a { font-size:24px !important; }
.nv-product-title-row strong { color:#273c5b !important; font-size:14px !important; }
.nv-product-actions { grid-template-columns:auto auto !important; justify-content:start; gap:22px !important; padding-top:9px !important; }
.nv-product-add {
  min-height:0 !important;
  border-bottom:1px solid #f76d08 !important;
  background:transparent !important;
  padding:8px 0 5px !important;
  color:#273c5b !important;
}
.nv-product-add:hover { color:#f76d08 !important; }
.nv-product-open {
  min-height:0 !important;
  border-bottom:1px solid rgba(39,60,91,.35) !important;
  padding:8px 0 5px !important;
  color:#273c5b !important;
}

/* Motion cue: a single restrained section reveal. */
[data-nv-reveal] {
  opacity:0;
  transform:translateY(32px);
  clip-path:inset(0 0 7% 0);
  transition:opacity .8s ease,transform .95s cubic-bezier(.16,1,.3,1),clip-path 1s cubic-bezier(.16,1,.3,1);
}
[data-nv-reveal].is-revealed { opacity:1; transform:none; clip-path:inset(0); }
[data-nv-reveal] .nv-room-card,
[data-nv-reveal] .nv-product-card {
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--nv-order,0) * 55ms + 120ms);
}
[data-nv-reveal].is-revealed .nv-room-card,
[data-nv-reveal].is-revealed .nv-product-card { opacity:1; transform:none; }

@media (max-width:1100px) {
  .nv-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .nv-product-card:first-child { grid-column:span 2; }
}

@media (max-width:760px) {
  .nv-room-grid { gap:10px !important; }
  .nv-room-card { flex:0 0 84vw !important; }
  .nv-room-card:hover { flex:0 0 84vw !important; transform:none; }
  #shop { padding-left:20px !important; padding-right:20px !important; }
  .nv-shop-head { grid-template-columns:1fr !important; }
  .nv-shop-title h2,.nv-shop-head h2 { font-size:47px !important; }
  .nv-shop-controls { margin-left:0 !important; margin-right:-20px !important; }
  .nv-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 12px !important; margin:0 !important; padding:0 !important; }
  .nv-product-card:first-child { grid-column:1/-1; grid-row:auto; }
  .nv-product-card:first-child .nv-turntable { aspect-ratio:1.15/1 !important; }
  .nv-product-card:first-child .nv-product-title-row a { font-size:20px !important; }
  .nv-turntable { height:auto !important; aspect-ratio:1/1.08 !important; }
  .nv-product-title-row a { font-size:12px !important; }
  .nv-product-title-row strong { font-size:12px !important; }
  .nv-product-actions { gap:14px !important; }
  .nv-product-add,.nv-product-open { font-size:8px !important; letter-spacing:.08em !important; }
}

@media (prefers-reduced-motion:reduce) {
  [data-nv-reveal],
  [data-nv-reveal] .nv-room-card,
  [data-nv-reveal] .nv-product-card { opacity:1 !important; transform:none !important; clip-path:none !important; transition:none !important; }
}
