/* Nostalgic Embrace — restrained, graceful, mobile-first theme.
   Palette follows the supplied navy-and-cream logo. */
:root {
  --wine: #26334b;
  --wine-dark: #1c263a;
  --rose: #b8b5af;
  --blush: #eee7dc;
  --cream: #f3ecdf;
  --sand: #e4dacb;
  --ink: #263047;
  --muted: #747783;
  --line: #ded6ca;
  --white: #fffdf8;
  --shadow: 0 8px 26px rgba(38, 51, 75, .07);
}
body { background: var(--cream); color: var(--ink); }
.announcement { background: var(--wine-dark); color: #f5efe5; letter-spacing: .06em; }
.site-header { background: rgba(243,236,223,.97); border-bottom: 1px solid var(--line); }
.main-nav { color: #444b59; }
.main-nav a:hover, .footer-links a:hover, .text-link:hover { color: var(--wine); }
.nav-contact { border-color: #b8b2a8; }
.menu-toggle { color: var(--wine); }
.brand img { width: 116px; max-height: 62px; }
.hero {
  min-height: 490px;
  background: linear-gradient(110deg, #f3ecdf 0%, #f3ecdf 70%, #ebe2d5 70%, #ebe2d5 100%);
}
.eyebrow, .hero h1 em, .custom-banner h2 em, .story h2 em,
.note-star, .art-flower { color: var(--wine); }
.hero h1, .section-heading h2, .custom-banner h2, .story h2 { letter-spacing: -.035em; }
.hero-description { color: #6f7280; }
.button-dark { background: var(--wine); color: #fffdf8; }
.button-dark:hover { background: var(--wine-dark); }
.button-light { background: #fffdf8; color: var(--wine-dark); border-color: #e2d9cc; }
.button-outline { border-color: #a9a7a3; color: var(--wine); }
.text-link { border-bottom-color: #aaa79f; }
.hero-art {
  background: #e5ddcf;
  border-radius: 48% 48% 2px 2px;
}
.art-sun { background: #d8d1c5; }
.art-arch { border-color: rgba(38,51,75,.3); }
.arch-one { background: linear-gradient(150deg,#596276,#303b51); }
.arch-two { background: linear-gradient(160deg,#f4eee3,#c9c5bd); }
.fabric-one { background: repeating-linear-gradient(110deg,#667085 0 5px,#4a566d 5px 10px); }
.fabric-two { background: repeating-linear-gradient(75deg,#eee5d7 0 6px,#d3cabc 6px 8px); }
.art-caption { color: var(--wine-dark); }
.art-flower { color: #6f7889; }
.trust-strip { background: #faf6ef; border-bottom: 1px solid var(--line); color: #666b76; }
.trust-strip span { color: var(--wine); }
.section-wrap { background: transparent; }
.section-heading > p, .product-category, .catalog-footnote { color: var(--muted); }
.category-pill { border-color: #d5ccbe; color: #555b68; background: transparent; }
.category-pill:hover, .category-pill.active { background: var(--wine); border-color: var(--wine); color: #fffdf8; }
.catalog-toolbar { border-color: var(--line); }
.search-box { color: var(--muted); }
.product-visual { background: #e8dfd2; }
.product-placeholder { background: #e6ddcf !important; }
.product-placeholder:before {
  background: var(--tile-main, #566176) !important;
  box-shadow: inset 0 0 0 8px rgba(255,253,248,.10);
}
.product-placeholder:after { color: rgba(255,253,248,.46); }
.product-badge { color: var(--wine); background: rgba(250,246,239,.95); }
.product-price, .dialog-price { color: var(--wine-dark); }
.product-id { color: #898987; }
.custom-banner { background: var(--wine-dark); color: #fffdf8; }
.custom-banner .eyebrow { color: #d8dce4; }
.custom-banner h2 em { color: #e2e4e8; }
.custom-banner p:not(.eyebrow) { color: #e4e6eb; }
.custom-flower { color: rgba(255,255,255,.035); }
.story { background: #faf6ef; }
.story-mark { background: radial-gradient(circle,#e8dfd2 0,#f4eee4 58%,#faf6ef 59%); }
.story-mark img { width: min(250px,80%); }
.site-footer { background: #e8dfd2; }
.footer-brand { color: var(--wine-dark); }
.footer-links a { color: #555b68; }
.floating-whatsapp { box-shadow: 0 6px 20px rgba(38,51,75,.12); }
.product-dialog { background: var(--cream); }
.product-dialog::backdrop { background: rgba(25,31,43,.55); }

/* Mobile: simpler, quieter and easier to scan. */
@media (max-width: 720px) {
  .announcement { padding: 8px 12px; font-size: 9px; }
  .site-header { height: 68px; padding: 0 16px; }
  .brand img { width: 100px; max-height: 54px; }
  .menu-toggle { padding: 6px; }
  .main-nav { top: 67px; background: #f3ecdf; box-shadow: 0 8px 20px rgba(38,51,75,.07); }
  .hero {
    padding: 34px 22px 28px;
    gap: 24px;
    background: #f3ecdf;
  }
  .hero-copy { padding: 0; }
  .eyebrow { font-size: 9px; letter-spacing: .16em; margin-bottom: 12px; }
  .hero h1 { font-size: clamp(42px, 11vw, 50px); line-height: 1.08; }
  .hero-description { font-size: 13px; line-height: 1.75; margin: 15px 0 20px; }
  .hero-actions { gap: 12px; }
  .hero-actions .button { padding: 12px 14px; font-size: 10px; }
  .hero-note { margin-top: 22px; }
  .hero-art { height: 245px; width: 84%; max-width: 300px; }
  .art-sun { width: 145px; height: 145px; left: calc(50% - 72px); top: 24px; }
  .art-arch { height: 205px; width: 140px; }
  .art-caption { top: 38px; left: 20px; font-size: 15px; }
  .art-flower { font-size: 28px; right: 18px; top: 18px; }
  .trust-strip { padding: 13px 10px; gap: 7px; font-size: 7.5px; }
  .section-wrap { padding: 48px 17px; }
  .section-heading { margin-bottom: 22px; }
  .section-heading h2, .story h2 { font-size: 34px; line-height: 1.15; }
  .section-heading > p { font-size: 11px; line-height: 1.7; }
  .category-pills { gap: 7px; margin-bottom: 19px; }
  .category-pill { padding: 8px 10px; font-size: 9px; }
  .catalog-toolbar { padding: 12px 0; gap: 10px; }
  .search-box input { font-size: 12px; }
  .product-grid { gap: 23px 11px; }
  .product-visual { aspect-ratio: 3 / 4.2; }
  .product-info { padding-top: 10px; }
  .product-name { font-size: 14px; line-height: 1.35; }
  .product-category { font-size: 7px; letter-spacing: .1em; }
  .product-bottom { align-items: baseline; }
  .product-price { font-size: 11px; }
  .custom-banner { padding: 40px 21px; }
  .custom-banner h2 { font-size: 36px; line-height: 1.15; }
  .custom-banner p:not(.eyebrow) { font-size: 12px; line-height: 1.75; }
  .story { gap: 22px; }
  .story-mark { min-height: 150px; }
  .story-mark img { width: min(205px,75%); }
  .story-copy > p:not(.eyebrow) { font-size: 12px; line-height: 1.8; }
  .site-footer { padding: 28px 17px 22px; }
  .footer-links { flex-wrap: wrap; gap: 12px 18px; }
  .floating-whatsapp { right: 12px; bottom: 12px; padding: 9px 12px; font-size: 10px; }
}
@media (max-width: 380px) {
  .hero { padding-left: 17px; padding-right: 17px; }
  .hero h1 { font-size: 40px; }
  .hero-actions .button { padding: 11px 10px; }
  .trust-strip { font-size: 7px; }
  .section-heading h2, .story h2 { font-size: 31px; }
  .product-grid { gap: 20px 9px; }
}

/* ---- Site additions kept on top of the theme ---- */
/* Logo: size by height so the oval logo (about 1.36:1) never stretches */
.brand img { height: 62px; width: auto; max-height: none; }
.footer-brand img { height: 74px; width: auto; }
.story-mark img { height: auto; mix-blend-mode: multiply; }
@media (max-width: 720px) { .brand img { height: 52px; width: auto; } }

/* Our story */
.story-copy { max-width: 580px; }
.story-copy > p.story-signoff { font: italic 21px/1.4 var(--serif); color: var(--wine); margin: 22px 0 24px; }
@media (min-width: 721px) {
  .story-copy > p:not(.eyebrow):not(.story-signoff) { font-size: 14px; line-height: 1.95; color: #4f5566; margin: 18px 0; }
}
@media (max-width: 720px) { .story-copy > p.story-signoff { font-size: 18px; } }

/* Ordering and policy pages */
.page-hero { background: linear-gradient(110deg, #f3ecdf 0%, #f3ecdf 70%, #ebe2d5 70%, #ebe2d5 100%); }
.prose a:not(.button) { border-bottom-color: #aaa79f; }
.callout { background: #faf6ef; }
@media (max-width: 720px) {
  .page-hero { background: #f3ecdf; padding: 34px 22px 26px; }
  .page-hero h1 { font-size: clamp(36px, 10vw, 44px); }
  .prose { padding: 34px 17px 64px; }
  .prose p, .prose li { font-size: 13px; line-height: 1.8; }
  .page-cta { gap: 14px; }
}

/* Oval logo panel in Our story (replaces the clipped circle) */
.story-mark { background: none; position: relative; min-height: 300px; }
.story-mark::before {
  content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: min(400px, 92%); aspect-ratio: 1.37; border-radius: 50%;
  background: radial-gradient(ellipse at center, #fffdf8 0%, #f1e9dc 70%, #e8dfd2 100%);
  box-shadow: 0 10px 30px rgba(38, 51, 75, .06), inset 0 0 0 1px rgba(38, 51, 75, .08);
}
.story-mark img { position: relative; width: min(290px, 66%); height: auto; mix-blend-mode: normal; }
@media (max-width: 720px) {
  .story-mark { min-height: 220px; }
  .story-mark::before { width: min(320px, 92%); }
  .story-mark img { width: min(230px, 66%); }
}

/* Tagline */
.site-footer > p.footer-tagline { font: italic 17px var(--serif); color: var(--wine); margin: 10px 0 18px; }

/* How ordering works (homepage) */
.how-order { background: #faf6ef; border-top: 1px solid var(--line); }
.order-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.order-steps li { background: var(--white); border: 1px solid var(--line); padding: 22px 20px; }
.step-num { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 50%; background: var(--wine); color: #fffdf8; font-size: 12px; font-weight: 600; }
.order-steps h3 { font: 500 19px/1.3 var(--serif); margin: 14px 0 6px; color: var(--wine-dark); }
.order-steps p { font-size: 12.5px; line-height: 1.75; color: var(--muted); margin: 0; }
.order-notes { margin-top: 26px; display: grid; gap: 6px; font-size: 13px; line-height: 1.75; color: #4f5566; }
.order-notes p { margin: 0; }
.order-notes a:not(.button) { color: var(--wine); border-bottom: 1px solid #aaa79f; }
.order-notes .button { justify-self: start; margin-top: 12px; }

/* Our story: shopping link */
.story-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }

/* Contact in footer */
.footer-contact { display: flex; justify-content: center; gap: 8px 22px; flex-wrap: wrap; font-size: 13px; color: var(--wine-dark); margin: 0 0 16px; }
.footer-contact a { border-bottom: 1px solid #aaa79f; padding-bottom: 2px; }

/* Ordering info inside the product pop-up */
.dialog-order-info { margin-top: 18px; padding: 14px 16px; background: #faf6ef; border: 1px solid var(--line); font-size: 11.5px; color: #4f5566; }
.dialog-order-info b { display: block; color: var(--ink); margin-bottom: 4px; }
.dialog-order-info ol { margin: 0 0 8px; padding-left: 18px; line-height: 1.7; }
.dialog-order-info small { font-size: 11px; }
.dialog-order-info a { color: var(--wine); text-decoration: underline; }

/* Visible keyboard focus */
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible, .product-card:focus-visible {
  outline: 2px solid var(--wine); outline-offset: 3px;
}
.custom-banner a:focus-visible { outline-color: #fffdf8; }

@media (max-width: 1000px) { .order-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  /* Keep shopping near the top on phones */
  .hero { min-height: 0; }
  .hero-art, .hero-note { display: none; }
  .order-steps { grid-template-columns: 1fr; gap: 10px; }
  .order-steps li { padding: 16px; display: grid; grid-template-columns: 30px 1fr; column-gap: 14px; }
  .order-steps li .step-num { grid-row: span 2; }
  .order-steps h3 { margin: 4px 0 4px; font-size: 17px; }
  .main-nav a { padding: 14px 0; }
  .story-actions { gap: 14px; }
}

/* Lehengas feature section */
.lehenga-feature { display: grid; grid-template-columns: minmax(260px, .8fr) 2fr; gap: 40px; align-items: start; background: #faf6ef; border-bottom: 1px solid var(--line); }
.lehenga-intro { position: sticky; top: 110px; }
.lehenga-intro h2 { font: 400 clamp(34px, 3.6vw, 46px)/1.1 var(--serif); letter-spacing: -.035em; margin: 0; }
.lehenga-intro h2 em { color: var(--wine); }
.lehenga-intro > p:not(.eyebrow) { font-size: 13px; line-height: 1.85; color: var(--muted); margin: 18px 0 24px; }
.lehenga-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.lehenga-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lehenga-empty { grid-column: 2; align-self: center; font: italic 18px/1.6 var(--serif); color: var(--wine); padding: 40px; border: 1px dashed #cfc5b6; text-align: center; margin: 0; }
@media (max-width: 1000px) { .lehenga-feature { grid-template-columns: 1fr; gap: 26px; } .lehenga-intro { position: static; } .lehenga-empty { grid-column: auto; } }
@media (max-width: 720px) {
  .lehenga-intro h2 { font-size: 34px; }
  .lehenga-actions { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .lehenga-grid { gap: 23px 11px; }
  .lehenga-empty { padding: 26px 18px; font-size: 16px; }
}

/* Premium Collection section */
.premium-collection { background: var(--white); border-bottom: 1px solid var(--line); }
.premium-collection .section-heading h2 em { color: var(--wine); font-weight: 400; }

/* Festive Collection section */
.festive-collection { background: #faf6ef; border-bottom: 1px solid var(--line); }
.festive-collection .section-heading h2 em { color: var(--wine); font-weight: 400; }
