/* ===== /ghe — bộ sưu tập ghế LEEXO (tông mệnh Thổ: ivory/nâu/gold) ===== */
:root{
  --wood:#7a5a34; --gold:#C9A227; --gold-soft:#E9C879;
  --ink:#2b2118; --line:#e7ddcd; --ease:cubic-bezier(.16,.84,.44,1);
  --shadow-sm:0 8px 24px -14px rgba(70,50,25,.45);
}

/* hero — TÔNG NÂU ESPRESSO đồng nhất ảnh bìa (giống /ban, /banghegiamdoc) */
.hero-ghe{background:linear-gradient(180deg,#2A1E14,#3A2A1C);color:#F4EFE8;overflow:hidden;position:relative}
.hero-ghe::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(194,98,45,.4),transparent 70%);pointer-events:none}
.hero-ghe .container{position:relative;z-index:1}
.hero-ghe .h-eyebrow{color:#E0A93F}
.hero-ghe h1{color:#fff;font-size:clamp(36px,5vw,66px)}
.hero-ghe h1 .accent{color:transparent;background:linear-gradient(100deg,#E0A93F,#E8A24C,#E0A93F);background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;animation:shine 5s linear infinite}
@keyframes shine{to{background-position:220% center}}
.hero-ghe .lead{color:rgba(244,239,232,.82)}
.hero-ghe .hero-stats{border-top-color:rgba(244,239,232,.18)}
.hero-ghe .hero-stats .num{color:#fff}
.hero-ghe .hero-stats .lbl{color:rgba(244,239,232,.65)}
.hero-ghe .hero-media .frame{aspect-ratio:1100/1364;background:#2f2418;border-radius:22px;overflow:hidden;box-shadow:0 40px 90px -34px rgba(0,0,0,.7)}
.hero-ghe .hero-media .frame img{width:100%;height:100%;object-fit:cover}

/* hero — thanh danh mục nổi bật ngay đầu trang (trên nền tối) */
.hero-cats-label{margin:18px 0 9px;font-weight:700;color:#E0A93F;font-size:14px;letter-spacing:.02em;text-transform:uppercase}
.hero-cats{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.hero-cat{font:inherit;cursor:pointer;border:1.5px solid rgba(244,239,232,.22);background:rgba(255,255,255,.07);color:#F4EFE8;
  padding:9px 15px;border-radius:999px;font-weight:600;font-size:14.5px;display:inline-flex;align-items:center;gap:7px;
  box-shadow:0 6px 16px -12px rgba(0,0,0,.5);transition:.28s var(--ease)}
.hero-cat .hc-ico{font-size:17px;line-height:1}
.hero-cat b{background:rgba(224,169,63,.22);color:#F0CE86;border-radius:999px;padding:1px 8px;font-size:12.5px;font-weight:800}
.hero-cat:hover{transform:translateY(-3px);border-color:#E0A93F;background:rgba(255,255,255,.14)}
.hero-cat:hover b{background:#E0A93F;color:#3a2a1c}
@media(max-width:600px){.hero-cat{font-size:13.5px;padding:8px 13px}}

/* danh mục — overview cards */
.ovgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ovcard{display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid var(--line);
  border-radius:20px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow-sm);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);font:inherit;padding:0}
.ovcard:hover{transform:translateY(-6px);box-shadow:0 26px 50px -22px rgba(70,50,25,.5)}
.ovthumb{aspect-ratio:4/3;overflow:hidden;background:#f5f0e7}
.ovthumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.ovcard:hover .ovthumb img{transform:scale(1.07)}
.ovbody{padding:18px 20px 22px}
.ovico{font-size:24px}
.ovbody h3{margin:6px 0 8px;font-family:"Playfair Display",serif;font-size:22px;color:var(--ink)}
.ovbody p{margin:0 0 12px;color:#6f6354;font-size:14.5px;line-height:1.6}
.ovlink{color:var(--wood);font-weight:700;font-size:14px}

/* filter tabs */
.cat-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:6px 0 26px}
.cat-tab{font:inherit;cursor:pointer;border:1px solid var(--line);background:#fff;color:#5a4e3e;
  padding:10px 18px;border-radius:999px;font-weight:600;font-size:14.5px;display:inline-flex;align-items:center;gap:8px;
  transition:.3s var(--ease)}
.cat-tab span{background:#f0e7d6;color:var(--wood);border-radius:999px;padding:1px 9px;font-size:12.5px;font-weight:700}
.cat-tab:hover{border-color:var(--gold);color:var(--ink)}
.cat-tab.is-active{background:linear-gradient(135deg,#3a2a1c,#5a4126);color:#fff;border-color:transparent;box-shadow:0 10px 22px -12px rgba(60,40,18,.7)}
.cat-tab.is-active span{background:rgba(255,255,255,.22);color:#fff}

/* gallery */
/* an toàn: ảnh ghế LUÔN hiện, không phụ thuộc hiệu ứng cuộn (.reveal) */
.gallery .gitem,.ovgrid .ovcard{opacity:1 !important;transform:none !important}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gitem{position:relative;display:block;aspect-ratio:1/1;border-radius:16px;overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#f3ece0;cursor:zoom-in}
.gitem img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gitem:hover img{transform:scale(1.06)}
.gitem .gtag{position:absolute;left:10px;top:10px;background:rgba(43,33,24,.72);color:#fff;
  font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;letter-spacing:.01em;
  opacity:0;transform:translateY(-6px);transition:.3s var(--ease)}
.gitem:hover .gtag{opacity:1;transform:none}
.gitem .zoom{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:50%;
  background:rgba(58,42,28,.72);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:16px;opacity:0;transform:translateY(6px);transition:.3s var(--ease)}
.gitem:hover .zoom{opacity:1;transform:none}
@media(max-width:980px){.gallery{grid-template-columns:repeat(3,1fr)}.ovgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.gallery{grid-template-columns:repeat(2,1fr);gap:11px}.ovgrid{grid-template-columns:1fr}}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(28,20,12,.93);display:none;align-items:center;justify-content:center;z-index:999;padding:24px}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:86vh;border-radius:12px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.lb .x,.lb .nav{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:none;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.25s}
.lb .x:hover,.lb .nav:hover{background:rgba(255,255,255,.3)}
.lb .x{top:18px;right:20px;width:46px;height:46px;font-size:24px}
.lb .nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:30px}
.lb .prev{left:18px}.lb .next{right:18px}
.lb .count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.82);font-size:14px;letter-spacing:.05em}
@media(max-width:600px){.lb .nav{width:42px;height:42px;font-size:24px}}

/* floating buttons */
.float-zalo,.float-phone{position:fixed;z-index:900;right:18px;width:54px;height:54px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;text-decoration:none;
  box-shadow:0 12px 28px -8px rgba(0,0,0,.45)}
.float-zalo{bottom:84px;background:#0068ff;font-size:13px;animation:floaty 2.6s ease-in-out infinite}
.float-phone{bottom:20px;background:linear-gradient(135deg,#2fb344,#179a33);font-size:24px;animation:floaty 2.6s ease-in-out infinite .3s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
