/* Fonts already loaded globally by layouts/base.html (Poppins + Playfair Display) — no import needed here */

:root{
  --dw-maroon-deep:#5C1220;   /* tt-maroon-dark */
  --dw-maroon:#7A1C2E;        /* tt-maroon */
  --dw-maroon-bright:#9C2A3E; /* derived, brighter accent for gradients */
  --dw-gold:#C59D5F;          /* tt-gold */
  --dw-gold-light:#E8C98A;    /* tt-gold-light */
  --dw-orange:#F7931E;        /* real Order Now button color, from base.html */
  --dw-orange-dark:#D97B12;   /* real hover state, from base.html */
  --dw-cream:#FFFAF3;         /* tt-cream */
  --dw-cream-soft:#F5EDD9;    /* tt-cream-dark */
  --dw-white:#FFFDF9;
  --dw-ink:#2B1B0E;           /* tt-text */
  --dw-ink-soft:#7A6652;      /* tt-muted */
  --dw-shadow:0 25px 55px -22px rgba(92,18,32,0.4);
  --dw-radius:22px;
  --dw-container:1180px;
}

.dw-wrap, .dw-hero, .dw-section, .dw-brandline, .dw-announce{ font-family:'Poppins', sans-serif; box-sizing:border-box; }
.dw-hero *, .dw-section *, .dw-brandline *, .dw-announce *{ box-sizing:border-box; }

.dw-wrap{max-width:var(--dw-container); margin:0 auto; padding:0 28px;}
.dw-hero h1, .dw-section h2, .dw-section h3, .dw-section h4{
  font-family:'Playfair Display', serif; font-weight:700; color:var(--dw-maroon-deep); line-height:1.16; letter-spacing:-0.01em; margin:0;
}
.dw-script-tag{font-family:'Playfair Display', serif; font-style:italic; font-weight:600; color:var(--dw-gold); font-size:1.1rem; margin-bottom:10px; display:block;}

.dw-btn{display:inline-flex; align-items:center; gap:8px; padding:15px 32px; border-radius:100px; font-weight:600; font-size:0.95rem; cursor:pointer; border:1.5px solid transparent; transition:transform .25s ease, box-shadow .25s ease, background .25s ease; white-space:nowrap; text-decoration:none; font-family:'Poppins', sans-serif;}
.dw-btn-primary{background:var(--dw-orange); color:#fff; box-shadow:0 12px 26px -10px rgba(247,147,30,0.55);}
.dw-btn-primary:hover{background:var(--dw-orange-dark); transform:translateY(-2px); box-shadow:0 16px 32px -10px rgba(217,123,18,0.6);}
.dw-btn-ghost{border-color:rgba(255,250,243,0.5); color:var(--dw-cream);}
.dw-btn-ghost:hover{background:rgba(255,250,243,0.12); transform:translateY(-2px);}

.dw-reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.dw-reveal.dw-in{opacity:1; transform:translateY(0);}

/* Announcement */
.dw-announce{background:var(--dw-maroon-deep); color:var(--dw-cream-soft); font-size:0.82rem; font-weight:500; overflow:hidden; white-space:nowrap;}
.dw-announce-track{display:inline-flex; align-items:center; animation:dw-marquee 24s linear infinite;}
.dw-announce-track span{padding:9px 40px; display:inline-flex; align-items:center; gap:10px;}
.dw-announce-track span::after{content:'✦'; color:var(--dw-gold-light); font-size:0.65rem;}
@keyframes dw-marquee{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* Hero */
.dw-hero{background:radial-gradient(130% 150% at 10% -10%, var(--dw-maroon-bright) 0%, var(--dw-maroon) 42%, var(--dw-maroon-deep) 100%); color:var(--dw-cream); padding:80px 0 90px; overflow:hidden;}
.dw-hero-inner{display:grid; grid-template-columns:1.05fr 0.95fr; gap:50px; align-items:center;}
.dw-h1{color:var(--dw-white); font-size:clamp(2.4rem, 4.6vw, 3.8rem); margin-bottom:22px;}
.dw-h1 em{font-style:italic; color:var(--dw-gold-light); font-weight:700;}
.dw-lede{font-size:1.08rem; color:var(--dw-cream-soft); max-width:480px; margin-bottom:32px; font-family:'Poppins', sans-serif;}
.dw-hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}

.dw-hero-collage{position:relative; height:440px;}
.dw-glow{position:absolute; border-radius:50%; filter:blur(60px); opacity:0.5;}
.dw-g1{width:260px; height:260px; background:var(--dw-gold-light); top:0; right:10%;}
.dw-g2{width:220px; height:220px; background:var(--dw-maroon-bright); bottom:0; left:0;}
.dw-collage-img{position:absolute; border-radius:20px; overflow:hidden; box-shadow:0 30px 60px -18px rgba(0,0,0,0.5); border:4px solid rgba(255,250,243,0.9);}
.dw-collage-img img{width:100%; height:100%; object-fit:cover; display:block;}
.dw-c1{width:270px; height:270px; top:18%; left:8%; z-index:2; transform:rotate(-4deg);}
.dw-c2{width:190px; height:190px; top:0; right:2%; z-index:3; transform:rotate(6deg);}
.dw-c3{width:200px; height:200px; bottom:0; right:16%; z-index:1; transform:rotate(-3deg);}

/* Section shared */
.dw-section{padding:84px 0; background:var(--dw-cream);}
.dw-section.dw-alt{background:var(--dw-white);}
.dw-section-head{max-width:640px; margin-bottom:46px;}
.dw-section-head.dw-center{margin-left:auto; margin-right:auto; text-align:center;}
.dw-section h2{font-size:clamp(1.8rem, 3.2vw, 2.6rem); margin-bottom:14px;}
.dw-sub{color:var(--dw-ink-soft); font-size:1.03rem; margin:0; font-family:'Poppins', sans-serif;}

/* Two paths */
.dw-paths{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.dw-path-card{border-radius:var(--dw-radius); padding:36px 34px; box-shadow:var(--dw-shadow); display:flex; flex-direction:column; gap:14px; transition:transform .3s ease; position:relative; overflow:hidden;}
.dw-path-card:hover{transform:translateY(-5px);}
.dw-individual{background:var(--dw-white); border:1px solid rgba(122,28,46,0.12);}
.dw-path-card h3{font-size:1.4rem;}
.dw-copy{font-size:0.95rem; color:var(--dw-ink-soft); margin:0; font-family:'Poppins', sans-serif;}
.dw-go{margin-top:auto; font-weight:600; color:var(--dw-maroon); display:inline-flex; align-items:center; gap:6px; font-size:0.93rem;}
.dw-corp{background:linear-gradient(155deg, var(--dw-maroon), var(--dw-maroon-deep)); color:var(--dw-cream);}
.dw-corp h3{color:var(--dw-white);}
.dw-corp .dw-copy{color:var(--dw-cream-soft);}
.dw-corp .dw-go{color:var(--dw-gold-light);}
.dw-path-thumb{width:100%; height:150px; border-radius:14px; overflow:hidden; margin-bottom:6px;}
.dw-path-thumb img{width:100%; height:100%; object-fit:cover; display:block;}

/* Gift tiers */
.dw-tiers{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.dw-tier{border-radius:var(--dw-radius); overflow:hidden; box-shadow:var(--dw-shadow); position:relative; min-height:460px; display:flex; flex-direction:column; justify-content:flex-end; transition:transform .35s ease;}
.dw-tier:hover{transform:translateY(-6px);}
.dw-bg{position:absolute; inset:0; background-size:cover; background-position:center;}
.dw-overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(92,18,32,0.15) 0%, rgba(92,18,32,0.55) 45%, rgba(43,27,14,0.96) 100%);}
.dw-tier-content{position:relative; z-index:2; padding:30px 28px 32px; color:var(--dw-cream);}
.dw-tier-badge{display:inline-block; font-size:0.7rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; background:rgba(255,250,243,0.15); color:var(--dw-gold-light); padding:5px 12px; border-radius:100px; margin-bottom:14px; font-family:'Poppins', sans-serif;}
.dw-tier-content h3{color:var(--dw-white); font-size:1.5rem; margin-bottom:6px;}
.dw-price{font-family:'Playfair Display', serif; font-size:1.9rem; font-weight:700; color:var(--dw-gold-light); margin-bottom:10px;}
.dw-feel{font-size:0.95rem; color:var(--dw-cream-soft); margin-bottom:16px; font-style:italic; font-family:'Playfair Display', serif;}
.dw-spec{font-size:0.85rem; color:rgba(255,250,243,0.75); margin-bottom:18px; font-family:'Poppins', sans-serif;}
.dw-tier-content .dw-btn{width:100%; justify-content:center;}

/* Customize */
.dw-custom-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.dw-custom-card{border-radius:var(--dw-radius); overflow:hidden; box-shadow:var(--dw-shadow); display:flex; flex-direction:column;}
.dw-custom-photo{height:170px; width:100%; overflow:hidden;}
.dw-custom-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.dw-custom-body{padding:30px 32px 32px; background:var(--dw-white); flex:1;}
.dw-custom-card.dw-corp .dw-custom-body{background:linear-gradient(160deg, var(--dw-maroon), var(--dw-maroon-deep)); color:var(--dw-cream);}
.dw-custom-card.dw-corp h3{color:var(--dw-white);}
.dw-custom-card.dw-corp .dw-lede-sm, .dw-custom-card.dw-corp li{color:var(--dw-cream-soft);}
.dw-custom-body h3{font-size:1.3rem; margin-bottom:8px;}
.dw-lede-sm{font-size:0.92rem; color:var(--dw-ink-soft); margin:0 0 18px; font-family:'Poppins', sans-serif;}
.dw-custom-body ul{list-style:none; display:flex; flex-direction:column; gap:11px; margin:0; padding:0;}
.dw-custom-body li{font-size:0.92rem; display:flex; gap:10px; align-items:flex-start; font-family:'Poppins', sans-serif;}
.dw-custom-body li::before{content:'✦'; color:var(--dw-gold); font-size:0.8rem; margin-top:2px;}

/* Bulk pricing */
.dw-bulk-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.dw-bulk-card{background:var(--dw-white); border-radius:18px; padding:28px 26px; border:1px solid rgba(122,28,46,0.12); text-align:center; transition:transform .25s ease;}
.dw-bulk-card:hover{transform:translateY(-4px);}
.dw-range{font-size:0.85rem; color:var(--dw-ink-soft); margin-bottom:8px; font-weight:500; font-family:'Poppins', sans-serif;}
.dw-amount{font-family:'Playfair Display', serif; font-size:2.1rem; font-weight:700; color:var(--dw-maroon-deep); margin-bottom:6px;}
.dw-amount span{font-size:0.9rem; color:var(--dw-ink-soft); font-family:'Poppins', sans-serif;}
.dw-for{font-size:0.86rem; color:var(--dw-ink-soft); font-family:'Poppins', sans-serif;}
.dw-center-cta{margin-top:34px; text-align:center;}

/* Products */
.dw-products{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.dw-product{border-radius:18px; overflow:hidden; position:relative; height:260px; box-shadow:0 16px 34px -16px rgba(92,18,32,0.35);}
.dw-product img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease; display:block;}
.dw-product:hover img{transform:scale(1.07);}
.dw-cap{position:absolute; left:0; right:0; bottom:0; padding:18px 20px; background:linear-gradient(0deg, rgba(43,27,14,0.92), rgba(43,27,14,0.05));}
.dw-cap h4{color:var(--dw-white); font-size:1.05rem; margin-bottom:3px;}
.dw-cap p{color:var(--dw-cream-soft); font-size:0.82rem; margin:0; font-family:'Poppins', sans-serif;}

/* Brand line */
.dw-brandline{padding:60px 0; text-align:center; background:var(--dw-cream);}
.dw-brandline p{font-family:'Playfair Display', serif; font-style:italic; font-size:1.3rem; color:var(--dw-maroon-deep); max-width:640px; margin:0 auto;}

/* Final CTA */
.dw-final-cta{background:linear-gradient(150deg, var(--dw-maroon-bright), var(--dw-maroon-deep)); border-radius:28px; padding:64px 50px; text-align:center; position:relative; overflow:hidden;}
.dw-final-cta h2{color:var(--dw-white); margin-bottom:14px;}
.dw-final-cta p{color:var(--dw-cream-soft); max-width:520px; margin:0 auto 30px; font-family:'Poppins', sans-serif;}
.dw-ctas{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

/* =================== MOBILE =================== */
@media (max-width:1000px){
  .dw-hero-inner{grid-template-columns:1fr;}
  .dw-hero-collage{order:-1; height:320px; margin-bottom:10px;}
  .dw-c1{width:56%; height:56%; left:2%;}
  .dw-c2{width:42%; height:42%; right:0;}
  .dw-c3{width:44%; height:44%; right:8%;}
  .dw-paths{grid-template-columns:1fr;}
  .dw-tiers{grid-template-columns:1fr;}
  .dw-custom-grid{grid-template-columns:1fr;}
  .dw-bulk-cards{grid-template-columns:1fr;}
  .dw-products{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .dw-hero{padding:44px 0 50px;}
  .dw-hero-ctas{flex-direction:column; align-items:stretch;}
  .dw-hero-ctas .dw-btn{justify-content:center;}
  .dw-section{padding:56px 0;}
  .dw-products{grid-template-columns:1fr;}
  .dw-final-cta{padding:44px 26px;}
  .dw-ctas{flex-direction:column;}
  .dw-wrap{padding:0 20px;}
  .dw-brandline p{font-size:1.1rem;}
  .dw-tier{min-height:380px;}
}

/* ---- Diwali polish: sparkle + bigger, more vivid hero ---- */
.dw-hero-collage{height:480px;}
.dw-c1{width:300px; height:300px;}
.dw-c2{width:210px; height:210px;}
.dw-c3{width:220px; height:220px;}
.dw-glow{opacity:0.6;}
.dw-g1{width:300px; height:300px;}
.dw-g2{width:260px; height:260px;}

.dw-sparkle{
  position:absolute; width:8px; height:8px; border-radius:50%;
  background:var(--dw-gold-light); box-shadow:0 0 12px 3px rgba(232,201,138,0.7);
  animation:dw-twinkle 2.4s ease-in-out infinite; z-index:4; pointer-events:none;
}
@keyframes dw-twinkle{
  0%,100%{opacity:0.2; transform:scale(0.8);}
  50%{opacity:1; transform:scale(1.3);}
}

.dw-btn-primary:disabled{opacity:0.85; cursor:default; transform:none;}
.dw-btn-primary:active{transform:translateY(0) scale(0.98);}

@media (max-width:1000px){
  .dw-hero-collage{height:340px;}
}

/* ---- Bold restructure: diagonal hero, featured tier, editorial product grid ---- */

.dw-hero-diagonal{
  position:relative; min-height:640px; overflow:hidden;
  background:var(--dw-maroon-deep);
}
.dw-hero-photo{
  position:absolute; inset:0; background-size:cover; background-position:center;
  z-index:1;
}
.dw-hero-panel{
  position:absolute; top:0; left:0; width:60%; height:100%;
  background:linear-gradient(135deg, var(--dw-maroon-bright), var(--dw-maroon-deep));
  clip-path:polygon(0 0, 100% 0, 86% 100%, 0 100%);
  z-index:2; display:flex; flex-direction:column; justify-content:center;
  padding:100px 90px 100px 64px; box-sizing:border-box;
}
.dw-hero-panel .dw-lede{max-width:400px; color:var(--dw-cream-soft);}
.dw-h1-big{font-size:clamp(2.6rem, 5.4vw, 4.4rem); max-width:480px;}
.dw-hero-stamp{
  position:absolute; z-index:5; top:56%; left:52%; width:150px; height:150px;
  border-radius:50%; background:var(--dw-gold-light); color:var(--dw-maroon-deep);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  transform:rotate(-14deg); box-shadow:0 20px 40px -14px rgba(0,0,0,0.5);
  border:3px dashed var(--dw-maroon-deep); text-align:center; font-family:'Poppins', sans-serif;
}
.dw-hero-stamp span{font-size:0.72rem; font-weight:600; letter-spacing:0.04em;}
.dw-hero-stamp strong{font-family:'Playfair Display', serif; font-size:1.9rem; line-height:1.1; margin:2px 0;}

@media (max-width:1000px){
  .dw-hero-diagonal{min-height:auto; display:flex; flex-direction:column;}
  .dw-hero-panel{position:relative; width:100%; clip-path:none; padding:56px 24px 40px;}
  .dw-hero-photo{position:relative; height:260px; order:2;}
  .dw-hero-stamp{position:relative; top:auto; left:auto; margin:-40px auto 20px; transform:rotate(-8deg); order:1; align-self:flex-end; margin-right:24px;}
  .dw-h1-big{max-width:100%;}
  .dw-hero-panel .dw-lede{max-width:100%;}
}

/* Featured pedestal tier */
.dw-tier-featured{
  transform:translateY(-18px) scale(1.04);
  box-shadow:0 30px 60px -18px rgba(92,18,32,0.55);
  border:2px solid var(--dw-gold-light);
}
.dw-tier-featured:hover{transform:translateY(-24px) scale(1.04);}
@media (max-width:1000px){
  .dw-tier-featured{transform:none;}
  .dw-tier-featured:hover{transform:none;}
}

/* Editorial asymmetric product grid */
.dw-products{grid-template-columns:repeat(3,1fr); grid-auto-rows:180px; gap:18px;}
.dw-product{height:100%;}
.dw-product-feature{grid-column:span 2; grid-row:span 2;}
@media (max-width:1000px){
  .dw-products{grid-template-columns:repeat(2,1fr);}
  .dw-product-feature{grid-column:span 2; grid-row:span 1; height:260px;}
  .dw-product{height:220px;}
}
@media (max-width:760px){
  .dw-products{grid-template-columns:1fr;}
  .dw-product-feature{grid-column:span 1;}
  .dw-product{height:240px;}
}

/* ---- Light, airy hero (matches real site's fade-photo-into-cream hero pattern) ---- */
.dw-hero-light{
  background:var(--dw-cream);
  padding:70px 0;
  overflow:hidden;
}
.dw-hero-light-inner{
  display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; min-height:520px;
}
.dw-hero-light-text{max-width:520px;}
.dw-script-tag-light{color:var(--dw-gold);}
.dw-h1-light{
  font-family:'Poppins', sans-serif; font-weight:700; color:var(--dw-ink);
  font-size:clamp(2.2rem, 4.6vw, 3.5rem); line-height:1.12; margin-bottom:20px;
}
.dw-h1-light em{font-style:normal; color:#F28C28;}
.dw-lede-light{
  font-family:'Poppins', sans-serif; font-size:1.02rem; color:var(--dw-ink-soft);
  max-width:460px; margin-bottom:30px; line-height:1.75;
}
.dw-btn-outline-light{border:1.5px solid var(--dw-maroon); color:var(--dw-maroon);}
.dw-btn-outline-light:hover{background:var(--dw-maroon); color:#fff; transform:translateY(-2px);}

.dw-hero-light-visual{position:relative; height:460px; border-radius:28px; overflow:hidden;}
.dw-hero-placeholder{
  position:absolute; inset:0; border-radius:28px;
  background:
    radial-gradient(circle at 30% 25%, var(--dw-gold-light) 0%, transparent 45%),
    radial-gradient(circle at 70% 55%, var(--dw-orange) 0%, transparent 42%),
    radial-gradient(circle at 45% 80%, var(--dw-maroon-bright) 0%, transparent 48%),
    var(--dw-cream-soft);
  filter:blur(2px);
}
.dw-hero-placeholder-glow{
  position:absolute; inset:0;
  background:radial-gradient(circle at 60% 40%, rgba(255,255,255,0.5), transparent 60%);
  animation:dw-glow-pulse 4s ease-in-out infinite;
}
@keyframes dw-glow-pulse{
  0%,100%{opacity:0.5;}
  50%{opacity:0.9;}
}

@media (max-width:1000px){
  .dw-hero-light-inner{grid-template-columns:1fr; min-height:auto;}
  .dw-hero-light-visual{height:280px; order:-1;}
  .dw-hero-light-text{max-width:100%;}
}

/* ---- Corporate enquiry modal ---- */
.dw-modal-overlay{
  display:none; position:fixed; inset:0; background:rgba(43,27,14,0.55); z-index:99999;
  align-items:center; justify-content:center; padding:20px; backdrop-filter:blur(2px);
}
.dw-modal-overlay.open{display:flex;}
.dw-modal{
  background:var(--dw-cream); border-radius:20px; padding:36px 32px 32px; width:100%; max-width:440px;
  position:relative; box-shadow:0 24px 60px rgba(92,18,32,0.25); font-family:'Poppins', sans-serif;
  max-height:90vh; overflow-y:auto;
}
.dw-modal-close{
  position:absolute; top:14px; right:16px; background:none; border:none; font-size:22px;
  color:var(--dw-ink-soft); cursor:pointer; line-height:1;
}
.dw-modal h3{font-size:1.3rem; margin:4px 0 6px;}
.dw-modal-hint{font-size:0.88rem; color:var(--dw-ink-soft); margin-bottom:20px;}
.dw-modal-fields{display:flex; flex-direction:column; gap:14px; margin-bottom:20px;}
.dw-modal-field{display:flex; flex-direction:column; gap:5px;}
.dw-modal-field label{font-size:0.78rem; font-weight:600; color:var(--dw-ink); text-transform:uppercase; letter-spacing:0.03em;}
.dw-modal-field label span{color:var(--dw-maroon);}
.dw-modal-field .dw-optional{color:var(--dw-ink-soft); text-transform:none; font-weight:400;}
.dw-modal-field input, .dw-modal-field textarea{
  padding:11px 14px; border:1.5px solid #e5d6b8; border-radius:10px; font-size:0.9rem;
  background:#fff; color:var(--dw-ink); font-family:'Poppins', sans-serif; resize:vertical;
}
.dw-modal-field input:focus, .dw-modal-field textarea:focus{
  outline:none; border-color:var(--dw-gold); box-shadow:0 0 0 3px rgba(197,157,95,0.15);
}
.dw-modal-submit{width:100%; justify-content:center;}
.dw-modal-status{text-align:center; font-size:0.85rem; font-weight:600; margin-top:12px; padding:8px 12px; border-radius:8px; display:none;}
.dw-modal-status.dw-ok{display:block; background:#f0fdf4; color:#166534;}
.dw-modal-status.dw-err{display:block; background:#fff1f2; color:#9f1239;}