/* ══════════════════════════════════════════════
   MINI WINK — style.css
   Soft Luxury × Playful Refinement
   Pink–White / White–Pink dual theme
══════════════════════════════════════════════ */

/* ─── TOKENS ─── */
:root {
  --pk:       #f06292;
  --pk2:      #e91e8c;
  --pk-light: #fce4ec;
  --pk-soft:  #f8bbd0;
  --pk-glow:  rgba(240,98,146,.25);
  --wh:       #ffffff;
  --off:      #fff7f9;
  --cream:    #fff1f5;
  --txt:      #2d1a20;
  --txt2:     #6b3d4f;
  --txt3:     #a07080;
  --bdr:      rgba(240,98,146,.18);
  --shd:      rgba(240,98,146,.18);
  --card:     #ffffff;
  --nav-bg:   rgba(255,247,249,.94);
  --section:  #fff7f9;
  --modal-ov: rgba(30,8,16,.82);
  --scroll-h: 0px;
  --radius-l: 24px;
  --radius-m: 16px;
  --radius-s: 10px;
  --trans:    .3s cubic-bezier(.4,0,.2,1);
}
[data-theme="dark"] {
  --pk:       #f06292;
  --pk2:      #c2185b;
  --pk-light: #2c1021;
  --pk-soft:  #3d1428;
  --pk-glow:  rgba(240,98,146,.2);
  --wh:       #1a0910;
  --off:      #1e0d14;
  --cream:    #22101a;
  --txt:      #fce4ec;
  --txt2:     #f8bbd0;
  --txt3:     #ce93b0;
  --bdr:      rgba(240,98,146,.2);
  --shd:      rgba(240,98,146,.12);
  --card:     #22101a;
  --nav-bg:   rgba(26,9,16,.96);
  --section:  #1e0d14;
  --modal-ov: rgba(8,0,4,.9);
}

/* ─── BASE ─── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: 'DM Sans', 'Noto Sans Armenian', sans-serif;
  background: var(--off);
  color: var(--txt);
  transition: background var(--trans), color var(--trans);
  overflow-x: hidden;
  cursor: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1, "liga" 1;
}
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
img { display: block; max-width: 100%; }

/* ─── CUSTOM CURSOR ─── */
#cursor {
  position: fixed; z-index: 9999; pointer-events: none;
  width: 12px; height: 12px;
  background: var(--pk);
  border-radius: 50%;
  transform: translate(-50%,-50%);
  transition: width .2s, height .2s, background .2s;
  mix-blend-mode: normal;
}
#cursor-ring {
  position: fixed; z-index: 9998; pointer-events: none;
  width: 38px; height: 38px;
  border: 1.5px solid var(--pk);
  border-radius: 50%;
  transform: translate(-50%,-50%);
  transition: all .12s;
  opacity: .5;
}
body.hovering #cursor { width: 20px; height: 20px; background: var(--pk2); }
body.hovering #cursor-ring { width: 52px; height: 52px; opacity: .25; }
@media (hover:none) { #cursor, #cursor-ring { display:none; } body { cursor:auto; } }

/* ─── SCROLLBAR ─── */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--off); }
::-webkit-scrollbar-thumb { background: var(--pk); border-radius: 3px; }

/* ─── NOISE OVERLAY ─── */
body::before {
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  opacity: .4;
}

/* ─── NAVBAR ─── */
#navbar {
  position: fixed; top:0; left:0; right:0; z-index:800;
  height: 66px;
  background: var(--nav-bg);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border-bottom: 1px solid var(--bdr);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 2rem;
  transition: background var(--trans), box-shadow var(--trans);
}
#navbar.scrolled { box-shadow: 0 4px 30px var(--shd); }
.nav-logo {
  display: flex; align-items: center; gap: .65rem;
  flex-shrink: 0;
}
.nav-logo-bubble {
  width: 38px; height: 38px; border-radius: 50%;
  background: linear-gradient(135deg, var(--pk-soft), var(--pk));
  display: flex; align-items: center; justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 14px var(--pk-glow);
  transition: transform var(--trans);
  overflow: hidden; padding: 3px;
}
.nav-logo-img {
  width: 100%; height: 100%;
  object-fit: contain;
  border-radius: 50%;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.15));
}
.nav-logo:hover .nav-logo-bubble { transform: rotate(-10deg) scale(1.08); }
.nav-logo-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.18rem; font-weight: 700;
  color: var(--txt); letter-spacing: .01em;
}
.nav-logo-name span { color: var(--pk); }

.nav-center {
  display: flex; align-items: center; gap: 2rem;
  list-style: none;
}
.nav-center a {
  font-size: .83rem; font-weight: 500; color: var(--txt2);
  letter-spacing: .04em; position: relative; padding-bottom: 2px;
  transition: color var(--trans);
}
.nav-center a::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height: 1.5px; background: var(--pk);
  transform: scaleX(0); transform-origin: right;
  transition: transform var(--trans);
}
.nav-center a:hover { color: var(--pk); }
.nav-center a:hover::after { transform: scaleX(1); transform-origin: left; }

.nav-right { display: flex; align-items: center; gap: .6rem; }

.lang-pills { display: flex; gap: .3rem; }
.lang-pill {
  border: 1px solid var(--bdr);
  background: transparent;
  color: var(--txt3); font-size: .7rem; font-weight: 700;
  padding: .22rem .55rem; border-radius: 20px;
  letter-spacing: .06em; transition: all var(--trans);
}
.lang-pill.active, .lang-pill:hover {
  background: var(--pk); color: #fff; border-color: var(--pk);
}

.theme-pill {
  width: 50px; height: 26px; border-radius: 13px;
  border: 1px solid var(--bdr); background: transparent;
  position: relative; transition: all var(--trans);
}
.theme-knob {
  position: absolute; top: 2px; left: 2px;
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--pk);
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem;
  transition: transform var(--trans);
  pointer-events: none;
}
[data-theme="dark"] .theme-knob { transform: translateX(24px); }

.icon-btn {
  background: none; border: none;
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: var(--txt2);
  position: relative; transition: all var(--trans);
}
.icon-btn:hover { background: var(--pk-light); color: var(--pk); }
.icon-btn .badge {
  position: absolute; top: 1px; right: 1px;
  background: var(--pk2); color: #fff;
  font-size: .58rem; font-weight: 800;
  width: 15px; height: 15px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}

.hamburger {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; padding: .3rem;
}
.hamburger span {
  width: 22px; height: 2px;
  background: var(--txt); border-radius: 2px;
  transition: all var(--trans);
}
.hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

.mobile-menu {
  display: none; position: fixed; top: 66px; left:0; right:0; z-index:799;
  background: var(--nav-bg); backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--bdr);
  padding: 1.5rem 2rem 2rem;
  transform: translateY(-8px); opacity: 0;
  transition: all var(--trans);
}
.mobile-menu.show { opacity: 1; transform: translateY(0); }
.mobile-menu ul { list-style: none; display: flex; flex-direction: column; gap: 1rem; }
.mobile-menu a { font-size: 1rem; font-weight: 500; color: var(--txt2); }
.mobile-menu-actions {
  display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem;
  flex-wrap: wrap;
}

/* ─── HERO ─── */
#hero {
  min-height: 100vh; padding-top: 66px;
  background: var(--off);
  display: flex; align-items: center;
  position: relative; overflow: hidden;
}
.hero-blobs { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.blob {
  position: absolute; border-radius: 50%; filter: blur(70px);
  animation: blobDrift 10s ease-in-out infinite;
}
.blob-1 { width:520px;height:520px;background:var(--pk-soft);top:-120px;right:-80px;opacity:.3; }
.blob-2 { width:380px;height:380px;background:var(--pk);top:45%;left:-100px;opacity:.15;animation-delay:4s; }
.blob-3 { width:280px;height:280px;background:#ffd6e7;bottom:-60px;right:25%;opacity:.25;animation-delay:7s; }
@keyframes blobDrift {
  0%,100% { transform: translate(0,0) scale(1); }
  33%      { transform: translate(15px,-25px) scale(1.04); }
  66%      { transform: translate(-10px,15px) scale(.97); }
}

.hero-inner {
  max-width: 1200px; width: 100%; margin: 0 auto; padding: 2rem 2rem;
  display: grid; grid-template-columns: 1fr 1fr;
  align-items: center; gap: 3rem;
  position: relative; z-index: 1;
}
.hero-text { }
.hero-pill {
  display: inline-flex; align-items: center; gap: .45rem;
  background: var(--pk-light); border: 1px solid var(--bdr);
  color: var(--pk); font-size: .75rem; font-weight: 700;
  padding: .3rem 1rem; border-radius: 20px;
  letter-spacing: .06em; text-transform: uppercase;
  margin-bottom: 1.4rem;
  animation: slideUp .8s ease both;
}
.hero-h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.4rem,5vw,3.8rem);
  font-weight: 700; line-height: 1.18;
  color: var(--txt); margin-bottom: 1.2rem;
  animation: slideUp .8s .08s ease both;
}
.hero-h1 em { font-style: italic; color: var(--pk); display: block; }
.hero-p {
  font-size: .97rem; color: var(--txt3); line-height: 1.75;
  max-width: 420px; margin-bottom: 2.2rem;
  animation: slideUp .8s .16s ease both;
}
.hero-cta-row {
  display: flex; gap: 1rem; flex-wrap: wrap;
  animation: slideUp .8s .24s ease both;
}
.btn-pk {
  background: linear-gradient(135deg, var(--pk), var(--pk2));
  color: #fff; border: none;
  padding: .82rem 1.9rem; border-radius: 30px;
  font-size: .88rem; font-weight: 600; letter-spacing: .03em;
  display: inline-flex; align-items: center; gap: .45rem;
  box-shadow: 0 8px 28px var(--pk-glow);
  transition: all var(--trans);
}
.btn-pk:hover { transform: translateY(-2px); box-shadow: 0 14px 36px var(--pk-glow); }
.btn-outline {
  background: transparent; border: 1.5px solid var(--pk);
  color: var(--pk);
  padding: .82rem 1.9rem; border-radius: 30px;
  font-size: .88rem; font-weight: 600; letter-spacing: .03em;
  display: inline-flex; align-items: center; gap: .45rem;
  transition: all var(--trans);
}
.btn-outline:hover { background: var(--pk); color: #fff; }

.hero-stats {
  display: flex; gap: 2.5rem; margin-top: 2.8rem;
  animation: slideUp .8s .32s ease both;
}
.stat { text-align: center; }
.stat-n {
  font-family: 'Playfair Display', serif;
  font-size: 1.9rem; font-weight: 700; color: var(--pk);
  line-height: 1;
}
.stat-l { font-size: .72rem; color: var(--txt3); letter-spacing: .06em; margin-top: .3rem; }

#canvas3d {
  width: 100%; height: 480px;
  animation: slideUp .8s .12s ease both;
  position: relative; z-index: 1;
}
@keyframes slideUp {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ─── SHARED SECTION STRUCTURE ─── */
.section { padding: 5.5rem 2rem; }
.section-alt { background: var(--cream); }
.container { max-width: 1200px; margin: 0 auto; }
.sec-head { text-align: center; margin-bottom: 3.5rem; }
.sec-tag {
  display: inline-block;
  background: var(--pk-light); color: var(--pk);
  font-size: .72rem; font-weight: 700;
  padding: .28rem .85rem; border-radius: 20px;
  letter-spacing: .08em; text-transform: uppercase;
  margin-bottom: .9rem;
}
.sec-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.7rem,4vw,2.7rem);
  font-weight: 700; color: var(--txt); line-height: 1.3;
  margin-bottom: .8rem;
  letter-spacing: -.01em;
}
.sec-title span { color: var(--pk); }
.sec-sub { color: var(--txt3); font-size: .93rem; line-height: 1.75; max-width: 500px; margin: 0 auto; }

.insta-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}

/* ─── ABOUT ─── */
.about-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 4rem; align-items: center;
}
.about-visual {
  position: relative;
  border-radius: var(--radius-l); overflow: hidden;
  aspect-ratio: 4/4;
  background: linear-gradient(135deg, var(--pk-light) 0%, var(--pk-soft) 100%);
  display: flex; align-items: center; justify-content: center;
}
.about-emoji {
  font-size: 7rem;
  animation: floatY 4s ease-in-out infinite;
  filter: drop-shadow(0 16px 32px var(--pk-glow));
}
.about-logo-img {
  width: 200px; height: 200px;
  object-fit: contain;
  filter: drop-shadow(0 16px 32px var(--pk-glow));
}
.about-img-wrap {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%; padding: 2rem;
  animation: floatY 4s ease-in-out infinite;
}
.about-logo-big {
  width: min(78%, 320px); height: auto;
  object-fit: contain;
  filter: drop-shadow(0 22px 50px var(--pk-glow)) drop-shadow(0 6px 18px rgba(240,98,146,.38));
}
@keyframes floatY { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-16px)} }
.about-deco {
  position: absolute; border-radius: 50%;
  background: linear-gradient(135deg, var(--pk), var(--pk2));
  opacity: .12;
}
.deco-1 { width:200px;height:200px;top:-50px;right:-50px; }
.deco-2 { width:120px;height:120px;bottom:-30px;left:-30px; }
.about-info { }
.about-info .sec-head { text-align: left; }
.about-feats { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.8rem; }
.feat-row {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 1rem 1.2rem; border-radius: var(--radius-m);
  background: var(--card); border: 1px solid var(--bdr);
  transition: all var(--trans);
}
.feat-row:hover { border-color: var(--pk); transform: translateX(6px); box-shadow: 0 6px 24px var(--shd); }
.feat-icon {
  width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0;
  background: var(--pk-light); display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem;
}
.feat-text h4 { font-size: .88rem; font-weight: 600; color: var(--txt); margin-bottom: .2rem; }
.feat-text p  { font-size: .78rem; color: var(--txt3); line-height: 1.55; }

/* ─── INSTAGRAM ─── */
.insta-band {
  padding: 3.5rem 2rem;
  background: linear-gradient(135deg, var(--pk-light) 0%, var(--cream) 60%, var(--pk-soft) 100%);
  text-align: center; overflow: hidden;
}
.insta-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.4rem,3.5vw,2.2rem);
  color: var(--txt); margin-bottom: .4rem;
}
.insta-title a { color: var(--pk); }
.insta-sub { font-size: .83rem; color: var(--txt3); margin-bottom: 2rem; }
.insta-row {
  display: flex; gap: 1rem;
  overflow-x: auto; padding-bottom: .8rem;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none; scrollbar-width: none;
}
.insta-row::-webkit-scrollbar { display: none; }
.insta-tile {
  flex: 0 0 170px; aspect-ratio: 1;
  border-radius: var(--radius-m); overflow: hidden;
  background: linear-gradient(135deg, var(--pk-soft), var(--pk));
  scroll-snap-align: start;
  display: flex; align-items: center; justify-content: center;
  font-size: 3.2rem; position: relative;
  cursor: pointer; transition: transform var(--trans);
}
.insta-tile:hover { transform: scale(1.05) rotate(.8deg); }
.insta-tile::after {
  content:'📷'; position:absolute; inset:0;
  background: var(--modal-ov);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; opacity: 0; transition: opacity var(--trans);
}
.insta-tile:hover::after { opacity: 1; }
.insta-cta-row { margin-top: 2rem; }

/* ─── PRODUCTS / VARIANTS ─── */
.filter-row {
  display: flex; gap: .7rem; flex-wrap: wrap; margin-bottom: 2rem; justify-content: center;
}
.flt {
  background: var(--card); border: 1px solid var(--bdr);
  color: var(--txt2); font-size: .8rem; font-weight: 500;
  padding: .42rem 1.1rem; border-radius: 20px;
  transition: all var(--trans);
}
.flt.on, .flt:hover { background: var(--pk); color: #fff; border-color: var(--pk); }

.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(245px,1fr));
  gap: 1.4rem;
}
.p-card {
  background: var(--card); border: 1px solid var(--bdr);
  border-radius: var(--radius-l); overflow: hidden;
  position: relative; cursor: pointer;
  transition: all var(--trans);
}
.p-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 22px 55px var(--shd);
  border-color: var(--pk);
}
.p-img {
  aspect-ratio: 1;
  background: linear-gradient(135deg, var(--pk-light), var(--pk-soft));
  display: flex; align-items: center; justify-content: center;
  font-size: 4.5rem; position: relative; overflow: hidden;
}
.p-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--trans);
}
.p-card:hover .p-img img { transform: scale(1.06); }
.p-overlay {
  position: absolute; inset: 0;
  background: var(--modal-ov);
  display: flex; align-items: center; justify-content: center; gap: .65rem;
  opacity: 0; transition: opacity var(--trans);
}
.p-card:hover .p-overlay { opacity: 1; }
.ov-btn {
  background: #fff; color: var(--txt);
  border: none; padding: .55rem 1.1rem; border-radius: 20px;
  font-size: .76rem; font-weight: 600; transition: all var(--trans);
}
.ov-btn:hover { background: var(--pk); color: #fff; }
.p-badge {
  position: absolute; top: 10px; left: 10px;
  background: var(--pk); color: #fff;
  font-size: .62rem; font-weight: 700;
  padding: .22rem .55rem; border-radius: 8px; letter-spacing: .05em;
}
.p-wish {
  position: absolute; top: 10px; right: 10px;
  background: rgba(255,255,255,.9); border: none;
  width: 32px; height: 32px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem; transition: all var(--trans);
  color: var(--pk);
}
.p-wish:hover, .p-wish.on { background: var(--pk); }
.p-info { padding: 1.1rem; }
.p-name {
  font-family: 'Playfair Display', serif;
  font-size: .97rem; font-weight: 600; color: var(--txt); margin-bottom: .25rem;
}
.p-desc { font-size: .76rem; color: var(--txt3); line-height: 1.55; margin-bottom: .8rem; }
.p-foot { display: flex; align-items: center; justify-content: space-between; }
.p-price { font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:700; color:var(--pk); }
.p-add {
  background: var(--pk-light); color: var(--pk); border: none;
  width: 32px; height: 32px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; transition: all var(--trans);
}
.p-add:hover { background: var(--pk); color: #fff; }

/* ─── MODAL ─── */
.modal-bg {
  position: fixed; inset: 0; z-index: 900;
  background: var(--modal-ov);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  opacity: 0; pointer-events: none;
  transition: opacity var(--trans);
}
.modal-bg.show { opacity: 1; pointer-events: auto; }
.modal-box {
  background: var(--card); border-radius: var(--radius-l);
  max-width: 640px; width: 100%;
  max-height: 90vh; overflow-y: auto;
  transform: scale(.94) translateY(12px);
  transition: transform var(--trans);
  position: relative;
}
.modal-bg.show .modal-box { transform: scale(1) translateY(0); }
.modal-top {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1.4rem 1.5rem 0;
}
.modal-close-btn {
  background: var(--pk-light); border: none; color: var(--pk);
  width: 32px; height: 32px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; transition: all var(--trans);
}
.modal-close-btn:hover { background: var(--pk); color: #fff; }
.modal-body { padding: 1.5rem; }
.modal-hero-img {
  width: 100%; aspect-ratio: 4/3; border-radius: var(--radius-m);
  background: linear-gradient(135deg, var(--pk-light), var(--pk-soft));
  display: flex; align-items: center; justify-content: center;
  font-size: 5.5rem; margin-bottom: 1.4rem;
  overflow: hidden;
}
.modal-hero-img img {
  width: 100%; height: 100%;
  object-fit: contain;
}
.modal-title { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:700; color:var(--txt); margin-bottom:.4rem; }
.modal-price { font-size:1.3rem; color:var(--pk); font-weight:700; margin-bottom:.9rem; }
.modal-desc  { color:var(--txt3); line-height:1.75; margin-bottom:1.5rem; font-size:.9rem; }
.modal-sizes { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.4rem; }
.sz-btn {
  border: 1px solid var(--bdr); background: var(--card);
  color: var(--txt2); padding: .35rem .85rem; border-radius: 8px;
  font-size: .8rem; font-weight: 500; transition: all var(--trans);
}
.sz-btn.on, .sz-btn:hover { background: var(--pk); color: #fff; border-color: var(--pk); }
.modal-footer { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.qty-row { display:flex; align-items:center; gap:.8rem; background:var(--pk-light); border-radius:20px; padding:.38rem .9rem; }
.qty-pm { background:var(--pk); color:#fff; border:none; width:26px;height:26px; border-radius:50%; font-size:1.1rem; display:flex;align-items:center;justify-content:center; transition:all var(--trans); }
.qty-pm:hover { background:var(--pk2); }
.qty-n { font-size:.95rem; font-weight:600; color:var(--txt); min-width:1.2rem; text-align:center; }

/* ─── BASKET DRAWER ─── */
.basket-drawer {
  position: fixed; top:0; right:0; bottom:0; z-index:850;
  width: min(400px, 100vw);
  background: var(--card);
  box-shadow: -8px 0 40px var(--shd);
  transform: translateX(100%);
  transition: transform var(--trans);
  display: flex; flex-direction: column;
}
.basket-drawer.open { transform: translateX(0); }
.basket-head {
  display: flex; justify-content:space-between; align-items:center;
  padding: 1.4rem 1.5rem;
  border-bottom: 1px solid var(--bdr);
}
.basket-head h3 { font-family:'Playfair Display',serif; font-size:1.2rem; font-weight:700; color:var(--txt); }
.basket-items { flex:1; overflow-y:auto; padding:1.2rem 1.5rem; display:flex; flex-direction:column; gap:1rem; }
.basket-empty { text-align:center; color:var(--txt3); font-size:.9rem; margin-top:3rem; }
.basket-empty .b-empty-icon { font-size:3rem; margin-bottom:1rem; }
.b-item {
  display:flex; gap:1rem; align-items:center;
  padding:.9rem; border-radius:var(--radius-s);
  background:var(--section); border:1px solid var(--bdr);
}
.b-item-img { width:56px;height:56px;border-radius:10px; background:var(--pk-light); display:flex;align-items:center;justify-content:center; font-size:2rem; flex-shrink:0; overflow:hidden; }
.b-item-img img { width:100%;height:100%;object-fit:cover; }
.b-item-info { flex:1; }
.b-item-name { font-size:.85rem; font-weight:600; color:var(--txt); margin-bottom:.2rem; }
.b-item-price { font-size:.8rem; color:var(--pk); font-weight:700; }
.b-item-rm { background:none;border:none;color:var(--txt3);font-size:.85rem;transition:color var(--trans); }
.b-item-rm:hover { color:var(--pk); }
.basket-foot {
  padding:1.4rem 1.5rem;
  border-top:1px solid var(--bdr);
}
.basket-total { display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem; }
.basket-total span { font-size:.9rem; color:var(--txt2); font-weight:500; }
.basket-total strong { font-family:'Playfair Display',serif; font-size:1.2rem; color:var(--pk); }

/* ─── WISHLIST DRAWER ─── */
.wish-drawer {
  position:fixed;top:0;right:0;bottom:0;z-index:850;
  width:min(400px,100vw);
  background:var(--card);
  box-shadow:-8px 0 40px var(--shd);
  transform:translateX(100%);
  transition:transform var(--trans);
  display:flex;flex-direction:column;
}
.wish-drawer.open { transform:translateX(0); }

/* ─── ORDER CONFIRM MODAL ─── */
.order-modal-bg {
  position:fixed;inset:0;z-index:950;
  background:var(--modal-ov);
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
  opacity:0;pointer-events:none;
  transition:opacity var(--trans);
}
.order-modal-bg.show { opacity:1;pointer-events:auto; }
.order-box {
  background:var(--card);border-radius:var(--radius-l);
  max-width:520px;width:100%;
  padding:2rem;
  transform:scale(.94);
  transition:transform var(--trans);
}
.order-modal-bg.show .order-box { transform:scale(1); }
.order-box h2 { font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--txt);margin-bottom:.5rem; }
.order-box p  { font-size:.88rem;color:var(--txt3);line-height:1.7;margin-bottom:1.5rem; }
.order-form { display:flex;flex-direction:column;gap:1rem; }
.form-field {
  display:flex;flex-direction:column;gap:.35rem;
}
.form-field label { font-size:.78rem;font-weight:600;color:var(--txt2);letter-spacing:.04em; }
.form-field input, .form-field textarea, .form-field select {
  background:var(--section);border:1px solid var(--bdr);
  color:var(--txt);border-radius:var(--radius-s);
  padding:.68rem 1rem;font-size:.88rem;font-family:inherit;
  transition:border-color var(--trans);
  outline:none;
}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus {
  border-color:var(--pk);
}
.form-field textarea { resize:vertical;min-height:90px; }

/* ─── FAQ ─── */
.faq-list { max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:.8rem; }
.faq-item {
  background:var(--card);border:1px solid var(--bdr);
  border-radius:var(--radius-m);overflow:hidden;
  transition:border-color var(--trans);
}
.faq-item.open { border-color:var(--pk); }
.faq-q {
  width:100%;background:none;border:none;
  display:flex;justify-content:space-between;align-items:center;
  padding:1.1rem 1.4rem;text-align:left;
  color:var(--txt);font-size:.9rem;font-weight:600;
  transition:color var(--trans);
}
.faq-item.open .faq-q { color:var(--pk); }
.faq-icon { font-size:.85rem;color:var(--pk);transition:transform var(--trans); }
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-a {
  display:none;padding:0 1.4rem 1.1rem;
  color:var(--txt3);font-size:.85rem;line-height:1.75;
}
.faq-item.open .faq-a { display:block; }

/* ─── MAP ─── */
.map-wrap {
  border-radius:var(--radius-l);overflow:hidden;
  border:1px solid var(--bdr);
  height:380px;position:relative;
}
.map-wrap iframe { width:100%;height:100%;border:none; }
.map-info {
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1rem;margin-top:2rem;
}
.map-info-card {
  background:var(--card);border:1px solid var(--bdr);
  border-radius:var(--radius-m);padding:1.2rem;
  display:flex;gap:.9rem;align-items:flex-start;
  transition:all var(--trans);
}
.map-info-card:hover { border-color:var(--pk); box-shadow:0 6px 22px var(--shd); }
.map-ic { font-size:1.5rem; }
.map-info-card h4 { font-size:.83rem;font-weight:700;color:var(--txt);margin-bottom:.2rem; }
.map-info-card p  { font-size:.78rem;color:var(--txt3);line-height:1.55; }

/* ─── CONTACT ─── */
.contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start; }
.contact-channels { display:flex;flex-direction:column;gap:1rem; }
.contact-ch {
  display:flex;gap:1rem;align-items:center;
  padding:1rem 1.2rem;border-radius:var(--radius-m);
  background:var(--card);border:1px solid var(--bdr);
  text-decoration:none;color:var(--txt);
  transition:all var(--trans);
}
.contact-ch:hover { border-color:var(--pk);transform:translateX(5px);box-shadow:0 6px 22px var(--shd); }
.ch-icon { width:44px;height:44px;border-radius:12px;background:var(--pk-light);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0; }
.ch-text h4 { font-size:.88rem;font-weight:600;color:var(--txt);margin-bottom:.15rem; }
.ch-text p  { font-size:.78rem;color:var(--txt3); }

.contact-form { background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius-l);padding:2rem; }
.contact-form h3 { font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--txt);margin-bottom:1.4rem; }

/* ─── FOOTER ─── */
footer {
  background: #1f0d14;
  color: #f8bbd0;
  padding: 4rem 2rem 2rem;
}
.footer-grid {
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;
  margin-bottom:3rem;
}
.footer-brand .logo-text { font-family:'Playfair Display',serif;font-size:1.3rem;color:#fff;margin-bottom:.7rem; }
.footer-brand p { font-size:.82rem;color:#ce93b0;line-height:1.7;max-width:240px; }
.footer-socials { display:flex;gap:.7rem;margin-top:1.2rem; }
.soc-btn {
  width:36px;height:36px;border-radius:50%;
  background:rgba(240,98,146,.15);
  display:flex;align-items:center;justify-content:center;
  font-size:.95rem;
  transition:all var(--trans);color:#f8bbd0;border:none;
  text-decoration:none;
}
.soc-btn:hover { background:var(--pk);color:#fff;transform:translateY(-2px); }
.footer-col h4 { font-size:.78rem;font-weight:700;color:#fff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem; }
.footer-col ul { list-style:none;display:flex;flex-direction:column;gap:.6rem; }
.footer-col a { font-size:.82rem;color:#ce93b0;text-decoration:none;transition:color var(--trans); }
.footer-col a:hover { color:var(--pk); }
.footer-bottom {
  max-width:1200px;margin:0 auto;
  border-top:1px solid rgba(240,98,146,.15);
  padding-top:1.5rem;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
}
.footer-bottom p { font-size:.78rem;color:#8c5068; }
.footer-bottom a { color:var(--pk);font-weight:600;text-decoration:none; }

/* ─── TOAST ─── */
#toast-container { position:fixed;bottom:2rem;right:2rem;z-index:1000;display:flex;flex-direction:column;gap:.6rem; }
.toast {
  background:var(--card);border:1px solid var(--bdr);
  border-left:3px solid var(--pk);
  color:var(--txt);font-size:.83rem;font-weight:500;
  padding:.75rem 1.1rem;border-radius:var(--radius-s);
  box-shadow:0 8px 28px var(--shd);
  transform:translateX(120%);
  transition:transform var(--trans);
  min-width:220px;display:flex;align-items:center;gap:.6rem;
}
.toast.show { transform:translateX(0); }
.toast-icon { font-size:1rem; }

/* ─── BACKDROP for drawers ─── */
.backdrop {
  position:fixed;inset:0;z-index:840;
  background:var(--modal-ov);
  opacity:0;pointer-events:none;
  transition:opacity var(--trans);
}
.backdrop.show { opacity:1;pointer-events:auto; }

/* ─── SCROLL TO TOP ─── */
#top-btn {
  position:fixed;bottom:2rem;left:2rem;z-index:700;
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,var(--pk),var(--pk2));
  color:#fff;border:none;font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px var(--pk-glow);
  opacity:0;transform:translateY(10px);
  transition:all var(--trans);
}
#top-btn.visible { opacity:1;transform:translateY(0); }
#top-btn:hover { transform:translateY(-3px); }

/* ─── LOADING SCREEN ─── */
#loader {
  position:fixed;inset:0;z-index:10000;
  background:var(--off);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;
  transition:opacity .5s,visibility .5s;
}
#loader.gone { opacity:0;visibility:hidden; }
.loader-logo { font-size:4rem;animation:pulse 1.2s ease-in-out infinite; }
.loader-logo-img {
  width: 90px; height: 90px;
  object-fit: contain;
  filter: drop-shadow(0 8px 24px var(--pk-glow));
}
.loader-name { font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--pk);font-weight:700; }
.loader-bar { width:180px;height:3px;background:var(--pk-light);border-radius:3px;overflow:hidden; }
.loader-bar-fill { height:100%;width:0;background:linear-gradient(90deg,var(--pk),var(--pk2));border-radius:3px;animation:loadFill 1.8s ease forwards; }
@keyframes loadFill { to { width:100%; } }
@keyframes pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} }

/* ─── INTERSECTION OBSERVER ANIMATIONS ─── */
.reveal {
  opacity:0;transform:translateY(28px);
  transition:opacity .7s ease,transform .7s ease;
}
.reveal.visible { opacity:1;transform:translateY(0); }

/* ─── RESPONSIVE ─── */
@media (max-width:1024px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
  .about-grid  { gap:2.5rem; }
}
@media (max-width:768px) {
  .nav-center { display:none; }
  .hamburger  { display:flex; }
  .mobile-menu { display:block; }
  .hero-inner { grid-template-columns:1fr; text-align:center; }
  .hero-p     { max-width:100%;margin:0 auto 2.2rem; }
  .hero-cta-row { justify-content:center; }
  .hero-stats { justify-content:center; }
  #canvas3d   { height:300px;order:-1; }
  .about-grid { grid-template-columns:1fr; }
  .about-visual { aspect-ratio:16/9;max-width:460px;margin:0 auto; }
  .contact-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .footer-brand { grid-column:1/-1; }
  .footer-bottom { flex-direction:column;text-align:center; }
  .lang-pills { display:none; }
  .theme-pill { display:none; }
}
@media (max-width:500px) {
  .products-grid { grid-template-columns:repeat(2,1fr);gap:1rem; }
  .footer-grid { grid-template-columns:1fr; }
  .hero-stats { gap:1.5rem; }
  .hero-stats .stat-n { font-size:1.5rem; }
}
/* ─── ICON.PNG LOGO HELPERS ─── */
.footer-logo-img {
  width: 24px; height: 24px;
  object-fit: contain;
  vertical-align: middle;
  margin-right: 4px;
}