:root{
  --primary:#2d3142;
  --accent:#bfc0c0;
  --highlight:#f6f7fb;
  --yellow:#ffe5b4;
  --pink:#f7cad0;
  --beige:#f5f3ea;
  --dark:#1f2330;
  --button:#4f5d75;
  --button-hover:#ef8354;
  --mint:#e9f7ef;
  --lav:#eae4ff;
  --sale-bg:#ffe9df;

  --radius:18px;
  --shadow-sm:0 2px 8px rgba(0,0,0,.07);
  --shadow-md:0 4px 24px rgba(0,0,0,.10);
  --shadow-lg:0 6px 28px rgba(0,0,0,.16);

  --topbar-h:60px;
}

*{box-sizing:border-box}
html,body{height:100%;margin:0}
/* Force zoom reset */
html{zoom:1;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
img{max-width:100%;display:block}
body{font-family:'Segoe UI',Arial,sans-serif;background:var(--highlight);color:#2e2e2e;letter-spacing:.01em}

/* ---------- Top bar ---------- */
.top-bar{
  background:var(--primary);
  color:#fff;
  display:flex;
  align-items:center;
  gap:20px;
  padding:8px 20px;
  position:sticky;
  top:0;
  z-index:1000;
  height:60px;
}
.logo{display:flex;align-items:center;margin-right:20px;margin-top:-20px;margin-bottom:-20px}
.logo img{height:100px;width:auto}
.location{background:var(--accent);color:var(--primary);padding:6px 12px;border-radius:16px;font-size:.95rem;white-space:nowrap}
.search{flex:1;margin:0 20px;padding:8px 12px;border-radius:20px;border:none;font-size:1rem}
.user-nav{display:flex;align-items:center;gap:18px;margin-left:auto}
.user-nav a{color:#FCA37A;text-decoration:none;font-weight:700;font-size:1rem}

/* ---------- Hamburger ---------- */
.hamburger{
  display:none;
  flex-direction:column;
  justify-content:space-around;
  width:30px;
  height:30px;
  background:transparent;
  border:0;
  cursor:pointer;
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  z-index:1201;
}
.hamburger span{width:100%;height:3px;background:#FCA37A;border-radius:2px;transition:all .3s;transform-origin:center}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}

/* ---------- Header / Desktop nav ---------- */
header{background:#fff;border-bottom:1px solid #e6e6e6;position:sticky;top:var(--topbar-h);z-index:900}
.main-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:0;padding:14px 0}
.main-nav a{color:var(--primary);text-decoration:none;font-weight:600;padding:6px 14px;border-radius:18px;background:var(--highlight);transition:.2s}
.main-nav a:hover{background:var(--button-hover);color:#fff;transform:translateY(-1px)}

/* ---------- Promo grid ---------- */
.promo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:24px;max-width:1200px;margin:40px auto;padding:0 20px}
.promo-card{min-height:340px;padding:28px 22px 40px;display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden;transition:transform .18s,box-shadow .18s}
.promo-card.small{min-height:340px}
.promo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.promo-card h3{margin:0 0 10px;font-size:1.15rem;font-weight:700;color:#222}
.promo-img{width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:12px;box-shadow:var(--shadow-sm)}
.promo-card.yellow{background:var(--yellow)} .promo-card.beige{background:var(--beige)} .promo-card.pink{background:var(--pink)}
.promo-card.blue{background:var(--primary);color:#fff} .promo-card.dark{background:var(--dark);color:#fff} .promo-card.mint{background:var(--mint)} .promo-card.lav{background:var(--lav)}
.promo-card.blue h3,.promo-card.dark h3{color:#fff}
.promo-card.twin-king{grid-column:span 2}
.promo-card.centerpiece{grid-column:2 / span 2;grid-row:span 2;padding:0 2px;background:var(--sale-bg);display:flex;flex-direction:column;align-items:center}
.promo-card.centerpiece .promo-img{height:auto;width:100%;border-radius:0;margin:0}
.promo-card.centerpiece h3,.promo-card.centerpiece a{padding:16px 20px;text-align:center}
.promo-card.right-stack{grid-column:4}
.promo-card.left-stack{grid-column:1}
.promo-card a{display:block;width:80%;max-width:260px;margin:14px auto 0;padding:12px 26px;background:var(--button);color:#fff;font-weight:700;border-radius:24px;font-size:1rem;text-align:center;box-shadow:var(--shadow-sm);border:none;cursor:pointer;transition:.18s}
.promo-card a:hover{background:var(--button-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}
footer{background:#121520;color:#c9d3ff;text-align:center;padding:18px 0;margin-top:40px;font-size:.95rem;letter-spacing:.02em}

/* ---------- L breakpoint ---------- */
@media (max-width:1200px){
  .promo-grid{grid-template-columns:repeat(3,1fr);gap:20px}
  .promo-card.centerpiece{grid-column:1 / span 3;grid-row:auto}
  .promo-card.right-stack,.promo-card.left-stack{grid-column:auto}
  .top-bar{padding:6px 16px;gap:16px}
  .logo img{height:90px}
  .search{margin:0 16px;padding:6px 10px;font-size:.95rem}
}

/* ---------- ≤900px (drawer + 2col grid) ---------- */
@media (max-width:900px){
  :root{--topbar-h:56px}
  
  /* Top bar */
  .top-bar{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 12px;
    height:56px;
  }
  
  /* Hide elements */
  .location{display:none}
  .user-nav{display:none}
  .hamburger{display:flex}
  
  /* Logo */
  .logo{margin:0}
  .logo img{height:40px;width:auto}
  
  /* Search */
  .search{
    flex:1 1 auto;
    margin:0 44px 0 8px;
    padding:8px 10px;
    font-size:15px;
    border-radius:12px;
  }
  
  /* Hamburger */
  .hamburger{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    width:28px;
    height:28px;
  }
  .hamburger span{height:2px}
  
  /* Navigation drawer */
  header{display:block;position:static}
  .main-nav{
    position:fixed;
    top:var(--topbar-h);
    right:0;
    bottom:0;
    width:86vw;
    max-width:320px;
    background:#fff;
    border-left:1px solid #e6e6e6;
    box-shadow:-10px 0 24px rgba(0,0,0,.18);
    transform:translateX(100%);
    transition:transform .25s;
    z-index:1200;
  }
  .main-nav.active{transform:translateX(0)}
  .main-nav ul{flex-direction:column;gap:0;padding:16px;margin:0}
  .main-nav a{display:block;padding:12px 10px;border-bottom:1px solid #e6e6e6;border-radius:0;background:transparent;color:var(--primary)}

  /* Promo grid - 2 columns */
  .promo-grid{grid-template-columns:repeat(2,1fr);gap:18px;margin:30px auto;padding:0 16px}
  .promo-card.twin-king,.promo-card.centerpiece{grid-column:1 / span 2}
  .promo-card{min-height:300px;padding:24px 18px 32px}
  .promo-img{height:160px}
  
  /* Reset all grid positioning for mobile */
  .promo-card.right-stack,.promo-card.left-stack{grid-column:auto}
}

/* ---------- ≤640px ---------- */
@media (max-width:640px){
  :root{--topbar-h:48px}
  
  /* Top bar adjustments */
  .top-bar{height:48px;padding:6px 10px}
  .logo img{height:36px}
  .search{padding:7px 9px;font-size:14px}
  .hamburger{right:10px;width:26px;height:26px}
  
  /* Promo grid - single column */
  .promo-grid{grid-template-columns:1fr;gap:16px;margin:24px auto;padding:0 12px}
  .promo-card{min-height:280px;padding:20px 16px 28px}
  .promo-img{height:140px}
  
  /* Force all cards to single column layout */
  .promo-card.twin-king,.promo-card.centerpiece,.promo-card.right-stack,.promo-card.left-stack{grid-column:1}
}

/* ---------- ≤480px ---------- */
@media (max-width:480px){
  :root{--topbar-h:44px}
  
  /* Top bar adjustments */
  .top-bar{height:44px;padding:5px 8px}
  .logo img{height:32px}
  .search{padding:6px 8px;font-size:13px}
  .hamburger{right:8px;width:24px;height:24px}
  
  /* Promo grid adjustments */
  .promo-card{min-height:260px;padding:18px 14px 24px}
  .promo-img{height:120px}
  
  /* Ensure all cards stay in single column */
  .promo-card.twin-king,.promo-card.centerpiece,.promo-card.right-stack,.promo-card.left-stack{grid-column:1}
  
  /* Footer */
  footer{padding:14px 0;margin-top:30px;font-size:.9rem}
}

/* ---------- ≤360px ---------- */
@media (max-width:360px){
  :root{--topbar-h:40px}
  
  /* Top bar adjustments */
  .top-bar{height:40px;padding:4px 6px}
  .logo img{height:28px}
  .search{padding:5px 7px;font-size:12px}
  .hamburger{right:6px;width:22px;height:22px}
  
  /* Promo grid adjustments */
  .promo-card{min-height:240px;padding:16px 12px 20px}
  .promo-img{height:100px}
  
  /* Ensure all cards stay in single column */
  .promo-card.twin-king,.promo-card.centerpiece,.promo-card.right-stack,.promo-card.left-stack{grid-column:1}
  
  /* Footer */
  footer{padding:12px 0;margin-top:24px;font-size:.85rem}
}





