@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400&family=Montserrat:wght@200;300;400;500;600&display=swap');

/* ══════════════════════════════════════════════
   ALFA RENAISSANCE — Site-wide Light Theme
   ══════════════════════════════════════════════ */
:root {
  --bg:          #f4f5f7;
  --bg2:         #ffffff;
  --bg3:         #eef0f3;
  --border:      #e2e4e9;
  --border2:     #d0d3da;
  --gold:        #b8922e;
  --gold-dark:   #9a7a24;
  --gold-light:  #d4a843;
  --gold-dim:    rgba(184,146,46,0.10);
  --gold-mid:    rgba(184,146,46,0.25);
  --text:        #1a1c22;
  --text2:       #3d4152;
  --text3:       #8a8e9a;
  --danger:      #d63031;
  --success:     #00b894;
  --shadow:      0 1px 4px rgba(0,0,0,0.07), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md:   0 4px 16px rgba(0,0,0,0.09);
  --shadow-lg:   0 8px 32px rgba(0,0,0,0.10);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  font-family: 'Montserrat', sans-serif;
  background: var(--bg);
  color: var(--text);
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--bg3); }
::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold-light); }

/* ══════════════════════════════════════════════
   NAVBAR
   ══════════════════════════════════════════════ */
.navbar-alfa {
  position: fixed; top: 0; left: 0; right: 0; z-index: 999;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 3.5rem; height: 68px;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  box-shadow: var(--shadow);
}
.navbar-alfa .brand {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem; font-weight: 600;
  letter-spacing: 0.22em; color: var(--gold);
  text-decoration: none; text-transform: uppercase;
  transition: color .3s;
  display: flex; align-items: center;
}
.navbar-alfa .brand:hover { color: var(--gold-dark); }
.navbar-alfa .brand img { height: 44px; width: auto; display: block; }

.navbar-alfa nav a {
  color: var(--text2); text-decoration: none;
  font-size: 0.67rem; letter-spacing: 0.18em;
  text-transform: uppercase; margin-left: 2rem;
  transition: color .3s; position: relative;
}
.navbar-alfa nav a::after {
  content: ''; position: absolute; bottom: -3px; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width .3s;
}
.navbar-alfa nav a:hover { color: var(--gold); }
.navbar-alfa nav a:hover::after { width: 100%; }
.navbar-alfa nav a.active { color: var(--gold); }
.navbar-alfa nav a.active::after { width: 100%; }

/* ── HAMBURGER ── */
.hamburger {
  display: none; flex-direction: column; justify-content: center;
  gap: 5px; width: 38px; height: 38px;
  background: none; border: 1px solid var(--border);
  cursor: pointer; padding: 8px; border-radius: 4px;
  transition: border-color .3s;
}
.hamburger:hover { border-color: var(--gold); }
.hamburger span {
  display: block; height: 1.5px; background: var(--text2);
  border-radius: 2px;
  transition: transform .35s ease, opacity .35s ease, width .35s ease;
}
.hamburger span:nth-child(3) { width: 60%; }
.hamburger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { width: 100%; transform: translateY(-6px) rotate(-45deg); }

/* ── MOBILE OVERLAY ── */
.mobile-overlay {
  display: block; position: fixed; inset: 0;
  background: rgba(26,28,34,0.45); z-index: 210;
  backdrop-filter: blur(3px); opacity: 0;
  pointer-events: none; transition: opacity .35s;
}
.mobile-overlay.open { opacity: 1; pointer-events: auto; }

/* ── MOBILE MENU ── */
.mobile-menu {
  position: fixed; top: 0; right: 0;
  width: min(300px, 85vw); height: 100dvh;
  background: var(--bg2);
  border-left: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  z-index: 220; display: flex; flex-direction: column;
  padding: 90px 2rem 3rem;
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.77,0,.18,1);
}
.mobile-menu.open { transform: translateX(0); }
.mobile-menu .menu-brand {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem; font-weight: 600;
  letter-spacing: .2em; color: var(--gold);
  margin-bottom: 1.5rem; display: block;
  text-transform: uppercase;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}
.mobile-menu .menu-brand img { height: 50px; width: auto; display: block; }
.mobile-menu a {
  color: var(--text2); text-decoration: none;
  font-size: .72rem; letter-spacing: .18em; text-transform: uppercase;
  padding: .95rem 0; border-bottom: 1px solid var(--border);
  transition: color .3s; display: block;
}
.mobile-menu a:hover,
.mobile-menu a.active { color: var(--gold); }

@media (max-width: 992px) {
  .navbar-alfa { padding: 0 1.4rem; }
  .navbar-alfa nav { display: none; }
  .hamburger { display: flex; }
}

/* ══════════════════════════════════════════════
   HERO CAROUSEL (sleep / furniture pages)
   ══════════════════════════════════════════════ */
.hero-carousel { margin-top: 68px; }
.carousel-item { height: 480px; overflow: hidden; }
.carousel-item img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.48); }

.carousel-caption-custom {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center; padding: 2rem;
}
.carousel-caption-custom .tag {
  font-size: .62rem; letter-spacing: .35em; text-transform: uppercase;
  color: var(--gold-light); margin-bottom: 1rem;
  display: flex; align-items: center; gap: .7rem;
}
.carousel-caption-custom .tag::before,
.carousel-caption-custom .tag::after {
  content: ''; display: block; width: 32px; height: 1px;
  background: var(--gold-light); opacity: .6;
}
.carousel-caption-custom h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem,4.5vw,3.6rem);
  font-weight: 300; color: #fff; line-height: 1.15; margin-bottom: .9rem;
}
.carousel-caption-custom p {
  font-size: .76rem; letter-spacing: .07em;
  color: rgba(255,255,255,.75); max-width: 520px;
}
.carousel-indicators [data-bs-target] {
  width: 24px; height: 2px;
  background: rgba(255,255,255,.35); border: none; opacity: 1;
  transition: background .3s, width .3s; border-radius: 2px;
}
.carousel-indicators .active { background: var(--gold-light); width: 42px; }

/* ══════════════════════════════════════════════
   FILTER BAR
   ══════════════════════════════════════════════ */
.filter-section {
  background: var(--bg2);
  border-bottom: 1px solid var(--border);
  padding: 0 2rem;
  position: sticky; top: 68px; z-index: 100;
  box-shadow: var(--shadow);
}
.filter-bar {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 0;
  max-width: 1400px; margin: 0 auto;
}
.filter-btn {
  flex-shrink: 0; padding: .95rem 1.3rem;
  background: none; border: none;
  border-bottom: 2px solid transparent;
  color: var(--text3);
  font-family: 'Montserrat', sans-serif;
  font-size: .63rem; letter-spacing: .18em; text-transform: uppercase;
  cursor: pointer; transition: color .25s, border-color .25s;
  text-decoration: none; display: block; white-space: nowrap; font-weight: 500;
}
.filter-btn:hover { color: var(--gold); }
.filter-btn.active { color: var(--gold); border-bottom-color: var(--gold); }

@media (max-width: 900px) {
  .filter-section { padding: 0 1rem; }
  .filter-bar {
    flex-wrap: nowrap; justify-content: flex-start;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: thin; scrollbar-color: var(--gold-light) transparent;
    padding-bottom: .3rem;
  }
  .filter-bar::-webkit-scrollbar { height: 4px; }
  .filter-bar::-webkit-scrollbar-thumb { background: var(--gold-light); border-radius: 2px; }
  .filter-bar::-webkit-scrollbar-track { background: transparent; }
  .filter-btn { padding: .95rem 1rem; }
}

/* ══════════════════════════════════════════════
   PRODUCTS SECTION
   ══════════════════════════════════════════════ */
.products-section { padding: 3.5rem 2rem 5rem; max-width: 1400px; margin: 0 auto; }

.section-header { text-align: center; margin-bottom: 3rem; }
.section-header .eyebrow {
  font-size: .6rem; letter-spacing: .38em; text-transform: uppercase;
  color: var(--gold); margin-bottom: .8rem; display: block;
}
.section-header h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.7rem,3vw,2.6rem); font-weight: 300; color: var(--text);
}
.divider-gold {
  width: 40px; height: 2px;
  background: linear-gradient(to right, var(--gold), var(--gold-light));
  margin: 1rem auto 0; border-radius: 2px;
}

/* ── PRODUCT CARD ── */
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1.5rem;
}
.product-card-link { text-decoration: none; color: inherit; display: block; }
.product-card-link:hover { color: inherit; }

.product-card {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 6px; overflow: hidden;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  box-shadow: var(--shadow);
}
.product-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
  border-color: var(--gold-light);
}
.card-img-wrap {
  position: relative; overflow: hidden;
  aspect-ratio: 3/4; background: var(--bg3);
}
.sleep-grid .card-img-wrap { aspect-ratio: 4/3; }
.furniture-grid .card-img-wrap { aspect-ratio: 3/4; }
.card-img-wrap img {
  width: 100%; height: 100%; object-fit: contain;
  transition: transform 6s ease;
}
.product-card:hover .card-img-wrap img { transform: scale(1.06); }

/* badges */
.badge-wrap {
  position: absolute; top: .75rem; left: .75rem;
  display: flex; flex-direction: column; gap: .35rem; z-index: 2;
}
.badge-new {
  background: var(--gold); color: #fff;
  font-size: .54rem; letter-spacing: .15em; text-transform: uppercase;
  padding: .25rem .6rem; font-weight: 600; border-radius: 3px;
}
.badge-discount {
  background: var(--danger); color: #fff;
  font-size: .54rem; letter-spacing: .1em;
  padding: .25rem .6rem; font-weight: 600; border-radius: 3px;
}
.badge-featured {
  background: rgba(184,146,46,.12); color: var(--gold);
  border: 1px solid rgba(184,146,46,.3);
  font-size: .52rem; letter-spacing: .12em; text-transform: uppercase;
  padding: .22rem .55rem; border-radius: 3px;
}

.card-body { padding: 1.2rem 1.3rem 1.4rem; display: flex; flex-direction: column; flex: 1; }
.card-cat {
  font-size: .57rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--gold); margin-bottom: .45rem; display: block; font-weight: 500;
}
.card-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem; font-weight: 400; color: var(--text);
  line-height: 1.3; margin-bottom: .8rem;
}
.card-desc {
  font-size: .67rem; color: var(--text3); line-height: 1.65; margin-bottom: 1rem;
}
.card-size-wrap { margin-bottom: .6rem; }
.card-size-wrap .size-select { font-size: .78rem; padding: .35rem 2rem .35rem .65rem; min-width: 0; }

.card-price-block { margin-top: auto; border-top: 1px solid var(--border); padding-top: .75rem; }
.card-price-row { display: flex; align-items: center; gap: .55rem; margin-bottom: .18rem; }
.price-new {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.55rem; font-weight: 600; color: var(--gold-dark);
  line-height: 1;
}
.price-old {
  font-size: .72rem; color: var(--text3); text-decoration: line-through; display: block;
}
.card-disc-pill {
  font-size: .6rem; font-weight: 700; letter-spacing: .02em;
  background: rgba(214,48,49,.1); color: var(--danger);
  padding: .2rem .5rem; border-radius: 20px;
  white-space: nowrap;
}
.price-currency { font-size: .72rem; color: var(--gold); margin-left: .06rem; }

/* empty state */
.empty-state { text-align: center; padding: 5rem 1rem; color: var(--text3); }
.empty-state p { font-size: .8rem; letter-spacing: .15em; text-transform: uppercase; }

/* ══════════════════════════════════════════════
   PRODUCT DETAIL PAGE
   ══════════════════════════════════════════════ */
.breadcrumb-bar {
  padding: .9rem 3.5rem;
  background: var(--bg2);
  border-bottom: 1px solid var(--border);
  display: flex; align-items: center; gap: .5rem;
  font-size: .62rem; letter-spacing: .15em; text-transform: uppercase;
}
.breadcrumb-bar a { color: var(--text3); text-decoration: none; transition: color .3s; }
.breadcrumb-bar a:hover { color: var(--gold); }
.breadcrumb-bar span { color: var(--border2); }
.breadcrumb-bar .current { color: var(--text2); }

.product-main {
  max-width: 1200px; margin: 0 auto;
  padding: 2rem 2rem 3rem;
  display: flex; flex-direction: column;
  gap: 2.5rem;
}

/* banner slider */
.img-col { display: flex; flex-direction: column; gap: .75rem; }
.img-main {
  position: relative; overflow: hidden;
  background: var(--bg3);
  aspect-ratio: 3/4;
  border: 1px solid var(--border); border-radius: 6px;
  box-shadow: var(--shadow-md);
  width: 100%;
}
/* sleep → landscape 3:2  (1200×800) */
.img-col--sleep { max-width: 780px; margin: 0 auto; width: 100%; }
.img-col--sleep .img-main { aspect-ratio: 3/2; }
/* furniture → portrait 3:4 */
.img-col--furniture { max-width: 560px; margin: 0 auto; width: 100%; }
.img-col--furniture .img-main { aspect-ratio: 3/4; }
.img-main img { width: 100%; height: 100%; object-fit: cover; }

/* slider */
.slider-track {
  display: flex;
  width: 100%; height: 100%;
  transition: transform .45s cubic-bezier(.4,0,.2,1);
}
.slider-slide {
  flex: 0 0 100%; width: 100%; height: 100%;
  overflow: hidden;
}
.slider-slide img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s ease;
}
.img-main:hover .slider-slide img { transform: scale(1.07); }

.slider-btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(0,0,0,.38); color: #fff;
  border: none; cursor: pointer;
  font-size: 2.2rem; line-height: 1;
  width: 44px; height: 70px;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s; z-index: 2; padding: 0;
  user-select: none;
}
.slider-btn:hover { background: rgba(0,0,0,.62); }
.slider-prev { left: 0; border-radius: 0 4px 4px 0; }
.slider-next { right: 0; border-radius: 4px 0 0 4px; }

/* thumbnail strip */
.img-thumbs { display: flex; gap: .5rem; flex-wrap: wrap; }
.thumb {
  width: 80px; height: 54px;
  border: 2px solid transparent; border-radius: 4px;
  overflow: hidden; cursor: pointer;
  background: var(--bg3);
  transition: border-color .2s;
  flex-shrink: 0;
}
.thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.thumb:hover { border-color: var(--gold-light); }
.thumb.active { border-color: var(--gold); }

.img-badges { position: absolute; top: 1rem; left: 1rem; display: flex; flex-direction: column; gap: .45rem; }

.product-info { display: flex; flex-direction: column; gap: 1.4rem; }
.info-cat {
  font-size: .6rem; letter-spacing: .32em; text-transform: uppercase;
  color: var(--gold); font-weight: 500;
  display: flex; align-items: center; gap: .7rem;
}
.info-cat::before { content: ''; display: block; width: 20px; height: 1.5px; background: var(--gold); border-radius: 2px; }
.info-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 300; color: var(--text); line-height: 1.2;
}
.info-divider { width: 40px; height: 2px; background: linear-gradient(to right, var(--gold), var(--gold-light)); border-radius: 2px; }

.size-selector-wrap { margin-bottom: 1.1rem; }
.size-selector-label { display: block; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--text3); margin-bottom: .45rem; }
.size-select-wrap { position: relative; display: inline-flex; align-items: center; }
.size-select {
  appearance: none;
  -webkit-appearance: none;
  padding: .5rem 2.4rem .5rem .85rem;
  border: 1.5px solid var(--border);
  border-radius: 6px;
  background: var(--bg2, #fff);
  color: var(--text);
  font-family: 'Montserrat', sans-serif;
  font-size: .85rem;
  font-weight: 500;
  cursor: pointer;
  min-width: 140px;
  transition: border-color .2s;
}
.size-select:focus { outline: none; border-color: var(--gold); }
.size-select-arrow { position: absolute; right: .7rem; pointer-events: none; color: var(--text3); }

.info-price-block { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
.price-main {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.4rem; font-weight: 600; color: var(--gold-dark);
}
.price-old-main { font-size: .88rem; color: var(--text3); text-decoration: line-through; }
.discount-pill {
  background: rgba(214,48,49,.08); color: var(--danger);
  border: 1px solid rgba(214,48,49,.2);
  font-size: .63rem; letter-spacing: .1em; font-weight: 600;
  padding: .28rem .75rem; border-radius: 20px;
}
.savings-note { font-size: .65rem; color: var(--text3); }
.savings-note strong { color: var(--gold); }

.info-desc {
  font-size: .78rem; color: var(--text2); line-height: 1.85;
  border-left: 3px solid var(--gold-dim);
  padding-left: 1.1rem;
  background: var(--gold-dim); padding: .9rem 1.1rem; border-radius: 0 4px 4px 0;
}

.info-specs { display: flex; flex-direction: column; }
.spec-row {
  display: flex; justify-content: space-between;
  padding: .65rem 0; border-bottom: 1px solid var(--border);
  font-size: .72rem;
}
.spec-row:last-child { border-bottom: none; }
.spec-key { color: var(--text3); letter-spacing: .08em; text-transform: uppercase; font-size: .62rem; }
.spec-val { color: var(--text); font-weight: 500; }

.cta-block { display: flex; gap: .9rem; flex-wrap: wrap; }
.btn-primary-alfa {
  flex: 1; min-width: 150px;
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  padding: .9rem 1.8rem;
  background: var(--gold); color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: .63rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 600;
  border: none; cursor: pointer; text-decoration: none;
  border-radius: 3px; transition: background .3s, transform .2s;
}
.btn-primary-alfa:hover { background: var(--gold-dark); color: #fff; transform: translateY(-1px); }
.btn-secondary-alfa {
  flex: 1; min-width: 150px;
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  padding: .9rem 1.8rem;
  background: transparent; color: var(--gold);
  font-family: 'Montserrat', sans-serif;
  font-size: .63rem; letter-spacing: .2em; text-transform: uppercase;
  border: 1.5px solid var(--gold); cursor: pointer; text-decoration: none;
  border-radius: 3px; transition: all .3s;
}
.btn-secondary-alfa:hover { background: var(--gold-dim); color: var(--gold-dark); }

/* related products */
.related-section { max-width: 1200px; margin: 0 auto 5rem; padding: 0 2rem; }
.section-head { display: flex; align-items: center; gap: 1.2rem; margin-bottom: 2rem; }
.section-head h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem; font-weight: 300; color: var(--text); white-space: nowrap;
}
.section-head .line { flex: 1; height: 1px; background: var(--border); }

.related-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 1.1rem; }
.rel-card-link { text-decoration: none; color: inherit; display: block; }
.rel-card {
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: 6px; overflow: hidden;
  transition: transform .35s, box-shadow .35s, border-color .35s;
  box-shadow: var(--shadow);
}
.rel-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--gold-light); }
.rel-img { height: 170px; overflow: hidden; background: var(--bg3); }
.rel-img img { width: 100%; height: 100%; object-fit: contain; transition: transform 5s; }
.rel-card:hover .rel-img img { transform: scale(1.06); }
.rel-body { padding: .95rem 1.1rem 1.1rem; }
.rel-cat { font-size: .55rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: .35rem; display: block; font-weight: 500; }
.rel-name { font-family: 'Cormorant Garamond', serif; font-size: .98rem; color: var(--text); margin-bottom: .5rem; line-height: 1.3; }
.rel-price { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; color: var(--gold-dark); font-weight: 600; }
.rel-price-old { font-size: .68rem; color: var(--text3); text-decoration: line-through; margin-left: .4rem; }

/* ══════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════ */
footer {
  background: var(--bg2);
  border-top: 1px solid var(--border);
  padding: 2.2rem 3.5rem;
  display: flex; align-items: center; justify-content: space-between;
  box-shadow: 0 -1px 0 var(--border);
}
footer .brand {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem; font-weight: 600;
  letter-spacing: .22em; color: var(--gold); text-transform: uppercase;
  display: flex; align-items: center;
}
footer .brand img { height: 36px; width: auto; display: block; }
footer p { font-size: .6rem; letter-spacing: .12em; color: var(--text3); }

/* ══════════════════════════════════════════════
   INDEX HERO PANELS (split screen)
   ══════════════════════════════════════════════ */
.hero { display: flex; width: 100vw; height: 100vh; position: relative; z-index: 1; }
.panel { position: relative; flex: 1; overflow: hidden; cursor: pointer; transition: flex .7s cubic-bezier(.77,0,.18,1); }

.hero:has(.panel-sleep:hover)     .panel-sleep    { flex: 1.6; }
.hero:has(.panel-sleep:hover)     .panel-furniture { flex: .4; }
.hero:has(.panel-furniture:hover) .panel-furniture { flex: 1.6; }
.hero:has(.panel-furniture:hover) .panel-sleep    { flex: .4; }

.panel-sleep {
  background:
    linear-gradient(160deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.38) 100%),
    url('../uploads/sleep.png') center/cover no-repeat;
}
.panel-furniture {
  background:
    linear-gradient(160deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.38) 100%),
    url('../uploads/kahuyq.jpeg') center/cover no-repeat;
}
.panel::before {
  content: ''; position: absolute; inset: -5%; background: inherit;
  background-size: cover; transition: transform 6s ease; z-index: -1;
}
.panel-sleep::before {
  background:
    linear-gradient(160deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.38) 100%),
    url('../uploads/sleep.png') center/cover no-repeat;
}
.panel-furniture::before {
  background:
    linear-gradient(160deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.38) 100%),
    url('../uploads/kahuyq.jpeg') center/cover no-repeat;
}
.panel:hover::before { transform: scale(1.06); }

.panel-overlay {
  position: absolute; inset: 0; background: rgba(0,0,0,.35);
  z-index: 1; pointer-events: none; opacity: 0; transition: opacity .5s;
}
.hero:has(.panel:hover) .panel:not(:hover) .panel-overlay { opacity: 1; }

/* Golden divider */
.panel-sleep::after {
  content: ''; position: absolute; top: 0; right: 0; width: 1px; height: 100%;
  background: linear-gradient(to bottom, transparent, rgba(184,146,46,.6) 30%, rgba(184,146,46,.8) 50%, rgba(184,146,46,.6) 70%, transparent);
  z-index: 10; pointer-events: none;
}

/* Center emblem */
.center-emblem {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  z-index: 20; display: flex; flex-direction: column;
  align-items: center; gap: 0; pointer-events: none;
}
.emblem-circle {
  width: 54px; height: 54px; border: 1px solid var(--gold);
  border-radius: 50%;
  background: rgba(244,245,247,0.9);
  display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(8px);
  box-shadow: 0 0 24px rgba(184,146,46,.3), inset 0 0 12px rgba(184,146,46,.08);
  animation: pulse-glow 3s ease-in-out infinite;
}
@keyframes pulse-glow {
  0%,100% { box-shadow: 0 0 20px rgba(184,146,46,.2), inset 0 0 10px rgba(184,146,46,.06); }
  50%      { box-shadow: 0 0 38px rgba(184,146,46,.45), inset 0 0 18px rgba(184,146,46,.15); }
}
.emblem-monogram {
  font-family: 'Cormorant Garamond', serif; font-size: 1.5rem;
  font-weight: 600; color: var(--gold); letter-spacing: .05em; line-height: 1;
}
.emblem-line { width: 1px; height: 40px; opacity: .5; }
.emblem-line-top { background: linear-gradient(to top,  var(--gold), transparent); }
.emblem-line     { background: linear-gradient(to bottom, var(--gold), transparent); }

/* Panel content */
.panel-content {
  position: absolute; bottom: 11%; left: 50%;
  transform: translateX(-50%); text-align: center; white-space: nowrap;
  z-index: 2; transition: bottom .5s cubic-bezier(.25,.46,.45,.94);
  opacity: 0; animation: fade-up 1s ease forwards;
}
.panel-sleep     .panel-content { animation-delay: .3s; }
.panel-furniture .panel-content { animation-delay: .55s; }
@keyframes fade-up {
  from { opacity:0; transform: translateX(-50%) translateY(22px); }
  to   { opacity:1; transform: translateX(-50%) translateY(0); }
}
.panel:hover .panel-content { bottom: 13%; }

.panel-tag-wrap {
  display: flex; align-items: center; justify-content: center;
  gap: .9rem; margin-bottom: 1rem;
}
.panel-tag {
  display: block; font-size: .68rem; letter-spacing: .35em;
  text-transform: uppercase; color: var(--gold-light); opacity: .9;
}
.tag-ornament {
  display: block; width: 28px; height: 1px;
  background: linear-gradient(to right, transparent, var(--gold-light));
}
.tag-ornament.right { background: linear-gradient(to left, transparent, var(--gold-light)); }

.panel-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem,3.5vw,3.2rem); font-weight: 300;
  color: #fff; line-height: 1.18; margin-bottom: 1.8rem;
  letter-spacing: .02em; transition: letter-spacing .4s;
}
.panel:hover .panel-title { letter-spacing: .04em; }

/* panel number */
.panel-number {
  position: absolute; top: 86px; left: 50%;
  transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
  z-index: 2; opacity: 0; animation: fade-in 1.2s ease .8s forwards;
}
@keyframes fade-in { to { opacity: 1; } }
.panel-number .v-line { width: 1px; height: 32px; background: linear-gradient(to bottom, transparent, var(--gold-light)); opacity: .5; }
.panel-number .num-label { font-family: 'Cormorant Garamond', serif; font-size: .65rem; color: var(--gold-light); opacity: .55; letter-spacing: .2em; }

/* CTA button (hero) */
.btn-alfa {
  display: inline-flex; align-items: center; gap: .8rem;
  padding: .8rem 2.4rem;
  border: 1px solid rgba(184,146,46,.65); color: var(--gold-light);
  font-family: 'Montserrat', sans-serif;
  font-size: .62rem; font-weight: 400; letter-spacing: .26em;
  text-transform: uppercase; text-decoration: none;
  background: rgba(244,245,247,.06); cursor: pointer;
  position: relative; overflow: hidden;
  transition: color .35s, border-color .35s, background .35s;
  backdrop-filter: blur(4px);
}
.btn-alfa::after {
  content: ''; position: absolute; inset: 0;
  background: var(--gold); transform: scaleX(0);
  transform-origin: left; transition: transform .35s; z-index: 0;
}
.btn-alfa:hover { color: #fff; border-color: var(--gold); }
.btn-alfa:hover::after { transform: scaleX(1); }
.btn-alfa span, .btn-arrow { position: relative; z-index: 1; }
.btn-arrow {
  position: relative; z-index: 1;
  width: 14px; height: 1px; background: currentColor; transition: width .3s;
}
.btn-arrow::after {
  content: ''; position: absolute; right: 0; top: -3px;
  width: 6px; height: 6px;
  border-right: 1px solid currentColor; border-top: 1px solid currentColor;
  transform: rotate(45deg);
}
.btn-alfa:hover .btn-arrow { width: 20px; }

/* scroll hint */
.scroll-hint {
  position: fixed; bottom: 2rem; left: 50%;
  transform: translateX(-50%); z-index: 100;
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
  opacity: 0; animation: fade-in 1s ease 1.4s forwards;
}
.scroll-hint span {
  font-size: .58rem; letter-spacing: .3em; text-transform: uppercase;
  color: rgba(184,146,46,.55);
}
.scroll-dot {
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--gold); opacity: .5;
  animation: bounce-dot 1.8s ease-in-out infinite;
}
@keyframes bounce-dot {
  0%,100% { transform: translateY(0); opacity: .3; }
  50%      { transform: translateY(5px); opacity: .8; }
}

/* ══════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════ */
@media (max-width: 900px) {
  .product-main { gap: 1.5rem; }
  .breadcrumb-bar { padding: .9rem 1.2rem; }
}
@media (max-width: 768px) {
  .hero { flex-direction: column; height: auto; }
  .panel { flex: none !important; height: 100vh; }
  .panel-sleep::after { top: auto; bottom: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(to right, transparent, rgba(184,146,46,.5), transparent); }
  .center-emblem { display: none; }
  .scroll-hint { display: none; }
  .carousel-item { height: 280px; }
  .products-section { padding: 2rem 1rem 3.5rem; }
  .related-section { padding: 0 1rem; }
  footer { flex-direction: column; gap: 1rem; text-align: center; padding: 2rem 1.2rem; }
  .cta-block { flex-direction: column; }
}
@media (max-width: 600px) {
  .product-main { padding: 1rem 1rem 2rem; }
  .img-col--sleep .img-main     { aspect-ratio: 3/2; }
  .img-col--furniture .img-main { aspect-ratio: 3/4; }
}
