:root {
  --ww-brown: #6b3f2a;
  --ww-brown-dark: #4e2d1e;
  --ww-gold: #d4af37;
  --ww-cream: #faf6f0;
  --ww-border: #e2d5c9;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

* { -webkit-tap-highlight-color: transparent; }

body {
  background: linear-gradient(180deg, #fff 0, var(--ww-cream) 220px);
  font-family: 'Segoe UI', Roboto, sans-serif;
  color: #3a2a20;
  padding-bottom: 0;
}

.hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

/* ---------- App bar ---------- */
.app-bar {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: var(--ww-brown);
  color: #fff;
  padding-top: env(safe-area-inset-top, 0px);
}
.app-bar-inner {
  height: 56px;
  display: flex;
  align-items: center;
  padding: 0 16px;
  max-width: 1240px;
  margin: 0 auto;
}
.app-bar-title { font-weight: 700; font-size: 1.15rem; }

/* ---------- Type chip strip ---------- */
.type-chip-strip {
  position: sticky;
  top: 56px;
  z-index: 1020;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
}
.type-chip-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  flex: 1;
}
.type-chip-scroll::-webkit-scrollbar { display: none; }
.type-chip {
  flex: 0 0 auto;
  border: 1.5px solid var(--ww-border);
  background: #fff;
  color: var(--ww-brown-dark);
  border-radius: 999px;
  padding: 7px 16px;
  font-size: .85rem;
  font-weight: 600;
  white-space: nowrap;
}
.type-chip.active { background: var(--ww-brown); border-color: var(--ww-brown); color: #fff; }
.filter-btn {
  flex: 0 0 auto;
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid var(--ww-border);
  background: #fff;
  color: var(--ww-brown-dark);
  font-size: 1.05rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.filter-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #c0392b;
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
  border-radius: 999px;
  min-width: 17px;
  height: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
}

/* ---------- Desktop always-visible filters ---------- */
.desktop-filter-bar { display: none; }

.filter-group { margin-bottom: 18px; }
.filter-group-label {
  font-weight: 700;
  font-size: .85rem;
  color: #6b5545;
  display: block;
  margin-bottom: 8px;
}
.chip-wrap { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  border: 1.5px solid var(--ww-border);
  background: #fff;
  color: var(--ww-brown-dark);
  border-radius: 999px;
  padding: 8px 14px;
  font-size: .82rem;
  font-weight: 600;
}
.chip.active { background: var(--ww-brown); border-color: var(--ww-brown); color: #fff; }

/* ---------- Main grid ---------- */
main.container-fluid {
  width: min(100% - 32px, 1180px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.pb-nav { padding-bottom: calc(88px + var(--safe-bottom)); }
.hamper-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.hamper-card-wrap {
  transition: opacity .18s ease, transform .18s ease;
  opacity: 1;
  transform: scale(1);
}
.hamper-card-wrap.filtered-out {
  opacity: 0;
  transform: scale(.92);
  pointer-events: none;
}
.hamper-card-wrap.d-none-anim { display: none; }
.hamper-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 5px rgba(0,0,0,.07);
  cursor: pointer;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow .15s ease, transform .1s ease;
}
.hamper-card:active { transform: scale(.97); }
.hamper-card-img { aspect-ratio: 1/1; background: #f1e9e0; position: relative; }
.hamper-card-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.hamper-card-noimg {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  color: #c9b8a8; font-size: 2.2rem;
}
.item-count-badge {
  position: absolute;
  bottom: 8px;
  left: 8px;
  background: rgba(0,0,0,.65);
  color: #fff;
  font-size: .68rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 999px;
}
.hamper-card-body { padding: 10px 12px 12px; flex: 1; display: flex; flex-direction: column; }
.hamper-card-name {
  font-size: .88rem;
  font-weight: 600;
  margin: 0 0 4px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.2em;
}
.hamper-card-price { font-weight: 700; color: var(--ww-brown-dark); margin-bottom: 8px; }
.hamper-card-actions { margin-top: auto; display: flex; gap: 6px; }
.btn-details,
.btn-choose,
.btn-share {
  border-radius: 999px;
  font-weight: 600;
  font-size: .78rem;
  padding: 7px 0;
}
.btn-details {
  flex: 1;
  border: 1.5px solid var(--ww-border);
  background: #fff;
  color: var(--ww-brown-dark);
}
.btn-choose {
  flex: 1;
  border: none;
  background: #f1e9e0;
  color: var(--ww-brown-dark);
}
.btn-share {
  flex: 0 0 34px;
  border: 1.5px solid var(--ww-border);
  background: #fff;
  color: var(--ww-brown-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.btn-details:active { background: #f1e9e0; }
.btn-choose:active { background: var(--ww-brown); color: #fff; }

/* ---------- Sticky bottom CTA ---------- */
.bottom-cta {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1030;
  background: #fff;
  padding: 10px 14px calc(10px + var(--safe-bottom));
  box-shadow: 0 -2px 10px rgba(0,0,0,.08);
}

/* ---------- Buttons ---------- */
.btn-brown {
  background: var(--ww-brown);
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 600;
}
.btn-brown:hover { background: var(--ww-brown-dark); color: #fff; }
.btn-brown:active { background: var(--ww-brown-dark); }
.btn-outline-reset {
  border: 1.5px solid #ddd;
  background: #fff;
  color: #555;
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 600;
}
.btn-sm-reset {
  padding: 6px 12px;
  font-size: .8rem;
}

/* ---------- Bottom sheets / modals ---------- */
.app-sheet {
  border-radius: 20px 20px 0 0;
  max-height: 88vh;
}
.sheet-handle {
  width: 40px; height: 4px;
  background: #ddd;
  border-radius: 999px;
  margin: 10px auto 0;
}
.sheet-footer {
  display: flex;
  gap: 10px;
  padding: 12px 16px calc(12px + var(--safe-bottom));
  border-top: 1px solid #f0ebe4;
  background: #fff;
}
#filterSheet { height: 88vh !important; max-height: 88vh !important; }
#filterSheet .offcanvas-body,
#enquirySheet .offcanvas-body,
#customHamperSheet .offcanvas-body { overflow-y: auto; padding-bottom: calc(24px + var(--safe-bottom)); }
#enquirySheet,
#customHamperSheet { height: 88vh !important; max-height: 88vh !important; }

/* ---------- Detail sheet ---------- */
#detailSheet { height: 92vh !important; max-height: 92vh !important; }
#detailSheet .offcanvas-body { overflow-y: auto; }
.detail-close {
  position: absolute;
  top: 14px; right: 14px;
  z-index: 5;
  background: rgba(255,255,255,.9);
  border-radius: 50%;
  width: 34px; height: 34px;
  padding: 0;
}
.detail-img { width: 100%; aspect-ratio: 4/3; max-height: 42vh; background: #f1e9e0; overflow: hidden; }
.detail-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.detail-img.no-img { display: flex; align-items: center; justify-content: center; font-size: 3rem; color: #c9b8a8; }
.detail-price { font-size: 1.3rem; font-weight: 700; color: var(--ww-brown-dark); margin-bottom: 8px; }
.detail-items { list-style: none; padding: 0; margin: 0; }
.detail-items li {
  display: flex; justify-content: space-between;
  gap: 10px;
  padding: 8px 0; border-bottom: 1px dashed #eee;
  font-size: .9rem;
}
.tag-pill-sm {
  display: inline-block;
  background: #f1e9e0;
  color: var(--ww-brown-dark);
  border-radius: 999px;
  padding: 3px 10px;
  font-size: .75rem;
  margin: 2px 4px 2px 0;
}

/* ---------- Custom form ---------- */
.form-section-title {
  font-weight: 800;
  color: var(--ww-brown-dark);
  margin: 14px 0 10px;
  font-size: .95rem;
}
.custom-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.custom-check {
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1.5px solid #eee0d3;
  background: #fff;
  border-radius: 12px;
  padding: 9px 10px;
  font-size: .85rem;
  font-weight: 600;
  color: #5b4637;
}
.custom-check.inline { display: inline-flex; }
.custom-check input { accent-color: var(--ww-brown); }
.share-url-box {
  border: 1.5px dashed var(--ww-border);
  background: #faf6f0;
  color: #5b4637;
  padding: 10px 12px;
  border-radius: 12px;
  word-break: break-all;
  font-size: .85rem;
}

.offcanvas-backdrop { --bs-backdrop-opacity: .5; }

/* ---------- Small screens ---------- */
@media (max-width: 575.98px) {
  main.container-fluid {
    width: 100%;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .hamper-card-body { padding: 9px 10px 11px; }
  .hamper-card-name { font-size: .84rem; }
  .hamper-card-price { font-size: .95rem; }
  .btn-details,
  .btn-choose { font-size: .74rem; padding: 7px 0; }
  .btn-share { flex-basis: 32px; }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .hamper-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- Desktop layout ---------- */
@media (min-width: 992px) {
  .app-bar-inner,
  .desktop-filter-inner {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
  }

  .type-chip-strip {
    padding-left: max(16px, calc((100vw - 1240px) / 2));
    padding-right: max(16px, calc((100vw - 1240px) / 2));
  }

  .filter-btn { display: none !important; }

  .desktop-filter-bar {
    display: block;
    position: sticky;
    top: 112px;
    z-index: 1015;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #f0ebe4;
    box-shadow: 0 3px 10px rgba(0,0,0,.04);
  }
  .desktop-filter-inner { padding: 12px 16px 14px; }
  .desktop-filter-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    color: var(--ww-brown-dark);
  }
  .desktop-filter-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 18px;
  }
  .desktop-filter-groups .filter-group {
    margin-bottom: 0;
    min-width: 0;
  }
  .desktop-filter-groups .filter-group-label {
    font-size: .76rem;
    margin-bottom: 6px;
  }
  .desktop-filter-groups .chip-wrap {
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 6px;
    padding-bottom: 2px;
    scrollbar-width: thin;
  }
  .desktop-filter-groups .chip {
    flex: 0 0 auto;
    font-size: .76rem;
    padding: 6px 10px;
  }

  main.container-fluid { width: min(100% - 32px, 1240px); }
  .pb-nav { padding-bottom: 28px !important; }
  .hamper-grid {
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 20px;
  }
  .hamper-card {
    border-radius: 18px;
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
  }
  .hamper-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
  }
  .hamper-card:active { transform: translateY(-1px); }
  .hamper-card-img { aspect-ratio: 4 / 3; }
  .hamper-card-name { font-size: .95rem; }
  .hamper-card-price { font-size: 1.05rem; }
  .btn-details,
  .btn-choose { padding: 8px 0; }
  .btn-share { flex-basis: 38px; }

  .bottom-cta {
    position: static;
    max-width: 1240px;
    margin: 10px auto 28px;
    padding: 0 16px;
    background: transparent;
    box-shadow: none;
  }
  .bottom-cta .btn-brown {
    width: auto !important;
    min-width: 380px;
    max-width: 520px;
    display: block;
    margin: 0 auto;
    border-radius: 14px;
  }

  /* Desktop: show bottom sheets as clean centered modals, except mobile filter sheet */
  #enquirySheet.offcanvas.offcanvas-bottom,
  #customHamperSheet.offcanvas.offcanvas-bottom,
  #detailSheet.offcanvas.offcanvas-bottom,
  #shareSheet.offcanvas.offcanvas-bottom {
    top: 50% !important;
    bottom: auto !important;
    left: 50% !important;
    right: auto !important;
    height: auto !important;
    max-height: 88vh !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.28);
    transform: translate(-50%, 120vh) !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  #enquirySheet.offcanvas.offcanvas-bottom,
  #shareSheet.offcanvas.offcanvas-bottom { width: min(560px, calc(100vw - 32px)) !important; }
  #customHamperSheet.offcanvas.offcanvas-bottom { width: min(760px, calc(100vw - 32px)) !important; }
  #detailSheet.offcanvas.offcanvas-bottom { width: min(640px, calc(100vw - 32px)) !important; }

  #enquirySheet.offcanvas.offcanvas-bottom.show,
  #enquirySheet.offcanvas.offcanvas-bottom.showing,
  #customHamperSheet.offcanvas.offcanvas-bottom.show,
  #customHamperSheet.offcanvas.offcanvas-bottom.showing,
  #detailSheet.offcanvas.offcanvas-bottom.show,
  #detailSheet.offcanvas.offcanvas-bottom.showing,
  #shareSheet.offcanvas.offcanvas-bottom.show,
  #shareSheet.offcanvas.offcanvas-bottom.showing {
    transform: translate(-50%, -50%) !important;
  }

  #enquirySheet .sheet-handle,
  #customHamperSheet .sheet-handle,
  #detailSheet .sheet-handle,
  #shareSheet .sheet-handle { display: none; }

  #enquirySheet .offcanvas-header,
  #customHamperSheet .offcanvas-header,
  #shareSheet .offcanvas-header {
    padding: 22px 24px 12px;
    border-bottom: 1px solid #f0ebe4;
  }
  #enquirySheet .offcanvas-title,
  #customHamperSheet .offcanvas-title,
  #shareSheet .offcanvas-title {
    font-size: 1.25rem;
    font-weight: 700;
  }
  #enquirySheet .offcanvas-body,
  #customHamperSheet .offcanvas-body,
  #shareSheet .offcanvas-body {
    max-height: calc(88vh - 78px);
    overflow-y: auto;
    padding: 22px 24px 24px;
  }
  #enquirySheet .form-control,
  #customHamperSheet .form-control,
  #customHamperSheet .form-select,
  #enquirySheet .form-select {
    min-height: 44px;
    border-radius: 10px;
  }
  #enquirySheet textarea.form-control,
  #customHamperSheet textarea.form-control { min-height: 96px; }

  #detailSheet .offcanvas-body { max-height: calc(88vh - 82px); overflow-y: auto; }
  #detailSheet .detail-img { aspect-ratio: 16 / 9; max-height: 300px; }
  #detailSheet .p-3 { padding: 22px 24px !important; }
  #detailSheet #detailName { font-size: 1.35rem; font-weight: 700; margin-bottom: 6px; }
  #detailSheet .detail-price { font-size: 1.25rem; margin-bottom: 12px; }
  #detailSheet .sheet-footer { padding: 14px 24px 20px; border-top: 1px solid #f0ebe4; }
  #detailSheet .detail-close {
    top: 14px;
    right: 14px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
  }

  .custom-check-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}


/* ==========================================================
   UI IMPROVEMENT UPDATE
   Cleaner desktop filter panel with wrapping chips, active count,
   and More/Less handling. Mobile bottom-sheet filters remain intact.
========================================================== */

.filter-group-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.filter-more-toggle {
  display: none;
  border: none;
  background: transparent;
  color: var(--ww-brown);
  font-size: .74rem;
  font-weight: 700;
  padding: 0;
  white-space: nowrap;
}

.filter-more-toggle:hover {
  color: var(--ww-brown-dark);
  text-decoration: underline;
}

.filter-active-text {
  display: inline-flex;
  margin-left: 8px;
  color: #8a7566;
  font-size: .78rem;
  font-weight: 600;
}

@media (min-width: 992px) {
  .desktop-filter-bar {
    background: rgba(255,255,255,.98);
  }

  .desktop-filter-inner {
    padding: 12px 16px 16px;
  }

  .desktop-filter-heading {
    margin-bottom: 12px;
  }

  .desktop-filter-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
  }

  .desktop-filter-groups {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px 20px !important;
  }

  .desktop-filter-groups .filter-ui-group {
    min-width: 0;
    background: #fffaf5;
    border: 1px solid #f0e4d8;
    border-radius: 16px;
    padding: 10px 11px 11px;
  }

  .desktop-filter-groups .filter-group-label {
    font-size: .78rem !important;
    margin-bottom: 0 !important;
    color: #705340;
  }

  .desktop-filter-groups .filter-chip-wrap {
    display: flex;
    flex-wrap: wrap !important;
    gap: 7px !important;
    overflow: hidden !important;
    max-height: 76px;
    padding-top: 8px;
    padding-bottom: 0 !important;
    scrollbar-width: none;
  }

  .desktop-filter-groups .filter-chip-wrap::-webkit-scrollbar {
    display: none;
  }

  .desktop-filter-groups .filter-ui-group.is-expanded .filter-chip-wrap {
    max-height: 240px;
  }

  .desktop-filter-groups .filter-ui-group.has-more .filter-more-toggle {
    display: inline-flex;
  }

  .desktop-filter-groups .filter-ui-group.is-expanded .filter-more-toggle::after {
    content: '';
  }

  .desktop-filter-groups .chip {
    flex: 0 0 auto !important;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: .77rem !important;
    padding: 7px 10px !important;
    line-height: 1.1;
  }

  .desktop-filter-groups .chip.active {
    box-shadow: 0 3px 10px rgba(107,63,42,.18);
  }

  .desktop-filter-heading .btn-sm-reset {
    min-width: 88px;
  }

  main.container-fluid {
    padding-top: 18px !important;
  }

  .hamper-grid {
    align-items: stretch;
  }

  .hamper-card {
    border: 1px solid rgba(226,213,201,.58);
  }
}

@media (min-width: 1200px) {
  .desktop-filter-groups {
    grid-template-columns: 1.05fr 1.1fr 1.1fr !important;
  }
}

@media (max-width: 991.98px) {
  .filter-more-toggle {
    display: none !important;
  }

  #filterSheet .filter-group-top {
    display: block;
  }

  #filterSheet .filter-chip-wrap {
    flex-wrap: wrap;
  }
}

/* ---------- Phase 2: logo and policy pages ---------- */
.public-logo {
  width: 34px;
  height: 34px;
  object-fit: contain;
  border-radius: 8px;
  background: rgba(255,255,255,.12);
}
.public-footer a {
  color: var(--ww-brown-dark);
  text-decoration: none;
  font-weight: 600;
}
.public-footer a:hover { text-decoration: underline; }
.policy-page-wrap {
  width: min(100% - 32px, 960px);
  margin-left: auto;
  margin-right: auto;
}
.policy-page-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 4px 18px rgba(0,0,0,.07);
  padding: 24px;
}
.policy-page-card h1 {
  color: var(--ww-brown-dark);
  font-size: clamp(1.45rem, 2.5vw, 2.2rem);
  font-weight: 800;
}
.policy-content {
  color: #4c3b30;
  line-height: 1.75;
  font-size: .98rem;
}
@media (max-width: 575.98px) {
  .policy-page-wrap { width: 100%; padding-left: 12px !important; padding-right: 12px !important; }
  .policy-page-card { padding: 18px; border-radius: 16px; }
  .public-logo { width: 30px; height: 30px; }
}

/* ---------- Phase 3: customer intro, product badges, item catalogue, 1:1 media ---------- */
.public-hero {
  background: linear-gradient(135deg, #fff7ef, #ffffff);
  border-bottom: 1px solid #f0ebe4;
}
.public-hero-inner {
  width: min(100% - 32px, 1240px);
  margin: 0 auto;
  padding: 22px 0;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr);
  gap: 22px;
  align-items: center;
}
.hero-kicker {
  color: var(--ww-brown);
  font-weight: 800;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 6px;
}
.public-hero h1 {
  color: var(--ww-brown-dark);
  font-weight: 850;
  font-size: clamp(1.35rem, 3vw, 2.35rem);
  line-height: 1.08;
  margin: 0 0 8px;
}
.public-hero p {
  color: #695548;
  margin: 0 0 14px;
  max-width: 720px;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.btn-hero-whatsapp {
  border: 1.5px solid #87c39a;
  background: #f2fff6;
  color: #176b32;
  border-radius: 12px;
  padding: 11px 16px;
  font-weight: 700;
  text-decoration: none;
}
.public-hero-points {
  display: grid;
  gap: 10px;
}
.public-hero-points > div {
  background: #fff;
  border: 1px solid #f0e4d8;
  border-radius: 16px;
  padding: 12px 14px;
  box-shadow: 0 3px 12px rgba(0,0,0,.04);
}
.public-hero-points strong { display: block; color: var(--ww-brown-dark); }
.public-hero-points span { display: block; color: #756255; font-size: .86rem; }

.hamper-sale-badge {
  position: absolute;
  top: 9px;
  left: 9px;
  z-index: 2;
  background: var(--ww-gold);
  color: #3a2a20;
  font-weight: 800;
  font-size: .68rem;
  padding: 4px 9px;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(0,0,0,.13);
}
.hamper-suitable-line {
  color: #7c6759;
  font-size: .76rem;
  line-height: 1.25;
  margin-bottom: 5px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hamper-availability {
  color: #7e6b5f;
  background: #fff8ef;
  border: 1px solid #f0e4d8;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
  padding: 3px 8px;
  display: inline-flex;
  width: max-content;
  margin-bottom: 8px;
}
.detail-badge {
  display: inline-flex;
  background: var(--ww-gold);
  color: #3a2a20;
  font-size: .72rem;
  font-weight: 850;
  padding: 4px 10px;
  border-radius: 999px;
}
.detail-suitable {
  color: #6b5545;
  font-weight: 700;
  margin-bottom: 5px;
}
.detail-availability {
  display: inline-flex;
  border: 1px solid #f0e4d8;
  background: #fff8ef;
  color: #6b5545;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .78rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.basket-items-section {
  margin-top: 32px;
  padding: 26px;
  background: #fff;
  border: 1px solid #f0e4d8;
  border-radius: 24px;
  box-shadow: 0 5px 22px rgba(0,0,0,.06);
}
.section-heading-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.section-heading-row h2 {
  color: var(--ww-brown-dark);
  font-weight: 850;
  font-size: clamp(1.25rem, 2.3vw, 1.9rem);
  margin: 0 0 6px;
}
.section-heading-row p {
  margin: 0;
  color: #735f52;
  max-width: 760px;
}
.item-category-strip {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.item-category-chip {
  flex: 0 0 auto;
  border: 1.5px solid var(--ww-border);
  background: #fffaf5;
  color: var(--ww-brown-dark);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: .78rem;
  font-weight: 700;
}
.item-category-chip.active { background: var(--ww-brown); color: #fff; border-color: var(--ww-brown); }
.basket-items-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.basket-item-card {
  border: 1px solid #f0e4d8;
  border-radius: 18px;
  overflow: hidden;
  background: #fffaf5;
  height: 100%;
}
.basket-item-img {
  aspect-ratio: 1 / 1;
  background: #f1e9e0;
  position: relative;
  overflow: hidden;
}
.basket-item-img img,
.basket-item-noimg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b8a797;
  font-size: 2rem;
}
.basket-item-img .badge {
  position: absolute;
  left: 8px;
  bottom: 8px;
  font-size: .66rem;
}
.basket-item-body { padding: 10px 11px 12px; }
.basket-item-body h3 {
  font-size: .9rem;
  font-weight: 800;
  margin: 0 0 4px;
  color: var(--ww-brown-dark);
}
.basket-item-meta { color: #8a7566; font-size: .74rem; font-weight: 700; margin-bottom: 4px; }
.basket-item-price { font-weight: 850; color: var(--ww-brown-dark); font-size: .86rem; margin-bottom: 4px; }
.basket-item-body p { margin: 0; color: #7c6759; font-size: .78rem; line-height: 1.35; }

/* Keep all product-related images square on public screens */
.hamper-card-img,
.detail-img { aspect-ratio: 1 / 1 !important; }
@media (min-width: 992px) {
  .hamper-card-img { aspect-ratio: 1 / 1 !important; }
  #detailSheet .detail-img { aspect-ratio: 1 / 1 !important; max-height: 440px; }
  .basket-items-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (min-width: 576px) and (max-width: 991.98px) {
  .basket-items-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .public-hero-inner { grid-template-columns: 1fr; width: 100%; padding: 18px 12px; }
  .public-hero-points { grid-template-columns: 1fr; }
  .section-heading-row { flex-direction: column; }
  .basket-items-section { margin-left: 0; margin-right: 0; padding: 16px 12px; border-radius: 18px; }
}

/* ==========================================================
   PHASE 4A: Compact desktop filters + reviews
   Desktop filters use a 2-row compact dropdown bar to keep
   products visible quickly. Mobile bottom sheet remains intact.
========================================================== */
@media (min-width: 992px) {
  .desktop-filter-bar {
    top: 112px;
  }
  .desktop-filter-inner {
    padding: 10px 16px 12px !important;
  }
  .desktop-filter-heading {
    margin-bottom: 8px !important;
  }
  .desktop-filter-groups {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px 12px !important;
    align-items: start;
  }
  .desktop-filter-groups .filter-ui-group {
    position: relative;
    min-height: 48px;
    padding: 9px 11px !important;
    border-radius: 14px !important;
    background: #fffaf5;
    border: 1px solid #f0e4d8;
  }
  .desktop-filter-groups .filter-ui-group.has-active {
    border-color: var(--ww-brown);
    background: #fff6ee;
    box-shadow: 0 4px 14px rgba(107,63,42,.08);
  }
  .desktop-filter-groups .filter-group-top {
    min-height: 26px;
  }
  .desktop-filter-groups .filter-group-label {
    font-size: .78rem !important;
    margin-bottom: 0 !important;
    color: #5a3e2f;
    line-height: 1.1;
  }
  .filter-group-summary {
    color: #8a7566;
    font-size: .69rem;
    font-weight: 700;
    margin-left: auto;
    margin-right: 6px;
    white-space: nowrap;
  }
  .desktop-filter-groups .filter-more-toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    color: var(--ww-brown);
    font-size: .72rem;
    font-weight: 800;
    text-decoration: none !important;
  }
  .desktop-filter-groups .filter-more-toggle::after {
    content: '▾';
    font-size: .65rem;
  }
  .desktop-filter-groups .filter-ui-group.is-open .filter-more-toggle::after {
    content: '▴';
  }
  .desktop-filter-groups .filter-chip-wrap {
    display: none !important;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: min(360px, calc(100vw - 40px));
    max-height: 280px !important;
    overflow-y: auto !important;
    background: #fff;
    border: 1px solid #eadbcf;
    border-radius: 16px;
    box-shadow: 0 18px 42px rgba(55,33,22,.18);
    padding: 12px !important;
    z-index: 1050;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .desktop-filter-groups .filter-ui-group.is-open .filter-chip-wrap {
    display: flex !important;
  }
  .desktop-filter-groups .filter-ui-group:nth-child(3n) .filter-chip-wrap,
  .desktop-filter-groups .filter-ui-group:nth-child(4n) .filter-chip-wrap {
    left: auto;
    right: 0;
  }
  .desktop-filter-groups .chip {
    font-size: .78rem !important;
    padding: 7px 11px !important;
    white-space: nowrap;
  }
}

@media (min-width: 1200px) {
  .desktop-filter-groups {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991.98px) {
  .desktop-filter-groups .filter-chip-wrap {
    display: flex;
  }
}

.reviews-section {
  margin-top: 22px;
  background: #fff;
  border: 1px solid #f0e4d8;
  border-radius: 20px;
  padding: 20px 24px 24px;
  box-shadow: 0 4px 18px rgba(0,0,0,.05);
}
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.review-card {
  border: 1px solid #f0e4d8;
  background: #fffaf5;
  border-radius: 16px;
  padding: 14px;
}
.review-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.review-img {
  width: 52px;
  height: 52px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 14px;
  background: #efe6dd;
  flex: 0 0 auto;
}
.review-noimg {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b99883;
  font-size: 1.35rem;
}
.review-card h3 {
  font-size: .98rem;
  margin: 0 0 2px;
  font-weight: 800;
  color: var(--ww-brown-dark);
}
.review-meta {
  font-size: .78rem;
  color: #8a7566;
}
.review-stars {
  color: #b8860b;
  letter-spacing: 1px;
  font-size: .88rem;
  margin-bottom: 8px;
}
.review-card p {
  margin: 0;
  color: #4c3b30;
  font-size: .9rem;
  line-height: 1.5;
}
@media (max-width: 991.98px) {
  .reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .reviews-section { padding: 16px; border-radius: 16px; }
  .reviews-grid { grid-template-columns: 1fr; }
}

/* ==========================================================
   PHASE 4A QUICK UI FIX
   - Hamper type chips now appear after hero in markup
   - Desktop filters stay in one compact row
   - Dropdown buttons now work through customize.js initialization
   - Flat line icons added to filter groups
========================================================== */
@media (min-width: 992px) {
  .type-chip-strip {
    top: 56px;
    z-index: 1024;
    border-bottom: 1px solid #f0e4d8;
  }

  .desktop-filter-bar {
    top: 112px !important;
    z-index: 1023;
    overflow: visible !important;
  }

  .desktop-filter-inner {
    padding: 8px 16px 10px !important;
    overflow: visible !important;
  }

  .desktop-filter-heading {
    margin-bottom: 7px !important;
  }

  .desktop-filter-title strong {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .desktop-filter-groups {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: start;
    overflow: visible !important;
  }

  .desktop-filter-groups .filter-ui-group {
    min-height: 46px !important;
    padding: 8px 9px !important;
    border-radius: 14px !important;
    background: #fffaf5;
    border: 1px solid #f0e4d8;
    overflow: visible !important;
  }

  .desktop-filter-groups .filter-group-top {
    min-height: 28px !important;
    gap: 6px;
  }

  .desktop-filter-groups .filter-group-label {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    min-width: 0;
    font-size: .76rem !important;
    font-weight: 800 !important;
    line-height: 1.1;
  }

  .filter-label-icon {
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #f2e6dc;
    color: var(--ww-brown);
    font-size: .82rem;
  }

  .desktop-filter-groups .filter-group-label span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .filter-group-summary {
    display: none !important;
  }

  .desktop-filter-groups .filter-more-toggle {
    flex: 0 0 auto;
    margin-left: auto;
    padding: 4px 0 4px 6px;
    font-size: .7rem;
  }

  .desktop-filter-groups .filter-chip-wrap {
    top: calc(100% + 7px) !important;
    width: min(340px, calc(100vw - 40px)) !important;
    z-index: 1060 !important;
  }

  .desktop-filter-groups .filter-ui-group:nth-child(n+4) .filter-chip-wrap {
    left: auto !important;
    right: 0 !important;
  }

  .desktop-filter-groups .chip {
    font-size: .78rem !important;
  }

  main.container-fluid {
    padding-top: 18px !important;
  }
}

@media (min-width: 992px) and (max-width: 1130px) {
  .desktop-filter-groups .filter-group-label {
    font-size: .72rem !important;
    gap: 5px;
  }
  .filter-label-icon {
    width: 23px;
    height: 23px;
    flex-basis: 23px;
  }
  .desktop-filter-groups .filter-more-toggle {
    font-size: .66rem;
  }
}

/* ==========================================================
   PHASE 4B WEBSITE CMS + BLOG UI
========================================================== */
.website-header .app-bar-inner { gap: 16px; }
.brand-link { flex: 0 0 auto; }
.site-menu-toggle {
  margin-left: auto;
  background: rgba(255,255,255,.12);
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}
.site-nav {
  position: absolute;
  top: 56px;
  left: 12px;
  right: 12px;
  background: #fff;
  border: 1px solid #eadbcf;
  border-radius: 16px;
  box-shadow: 0 16px 42px rgba(55,33,22,.18);
  padding: 10px;
  z-index: 1100;
}
.site-nav a {
  display: block;
  color: var(--ww-brown-dark);
  text-decoration: none;
  font-weight: 700;
  padding: 10px 12px;
  border-radius: 10px;
}
.site-nav a:hover { background: #fff4ea; }
.site-nav-whatsapp { color: #087d35 !important; }
.hero-subline { font-size: .98rem !important; color: #6d5747 !important; }
.website-info-band {
  width: min(100% - 32px, 1240px);
  margin: 18px auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.website-info-band article,
.blog-teaser-section,
.faq-section,
.contact-cta-section {
  background: #fff;
  border: 1px solid #f0e4d8;
  border-radius: 20px;
  padding: 20px 24px;
  box-shadow: 0 4px 18px rgba(0,0,0,.05);
}
.website-info-band h2,
.blog-teaser-section h2,
.faq-section h2,
.contact-cta-section h2 { font-size: 1.35rem; margin: 4px 0 8px; color: var(--ww-brown-dark); font-weight: 900; }
.website-info-band p { color: #6d5747; margin-bottom: 8px; }
.safe-lines { color: #3f2d22; line-height: 1.6; font-size: .95rem; }
.occasion-lines { column-count: 2; column-gap: 16px; }
.blog-teaser-section,
.faq-section,
.contact-cta-section { margin-top: 22px; }
.blog-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.blog-card,
.blog-list-card {
  background: #fffaf5;
  border: 1px solid #f0e4d8;
  border-radius: 18px;
  overflow: hidden;
}
.blog-img-link {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  background: #efe6dd;
  overflow: hidden;
}
.blog-img-link img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-noimg { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 2rem; color: #b99883; }
.blog-card-body { padding: 14px; }
.blog-meta { color: #8d7563; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.blog-card h3,
.blog-list-card h2 { font-size: 1.05rem; margin: 6px 0 8px; font-weight: 900; }
.blog-card h3 a,
.blog-list-card h2 a { color: var(--ww-brown-dark); text-decoration: none; }
.blog-card p,
.blog-list-card p { color: #5f4b3e; margin: 0; font-size: .9rem; line-height: 1.5; }
.read-more { color: var(--ww-brown); font-weight: 800; text-decoration: none; }
.faq-list { display: grid; gap: 10px; }
.faq-item { border: 1px solid #f0e4d8; background: #fffaf5; border-radius: 14px; padding: 0; overflow: hidden; }
.faq-item summary { cursor: pointer; padding: 14px 16px; font-weight: 800; color: var(--ww-brown-dark); }
.faq-item div { padding: 0 16px 16px; color: #4d3b30; line-height: 1.6; }
.contact-cta-section { text-align: center; background: linear-gradient(135deg, #fff, #fff4ea); }
.website-page-card { max-width: 900px; margin-left: auto; margin-right: auto; }
.page-featured-img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 18px; margin-top: 18px; background: #efe6dd; }
.page-excerpt { color: #6d5747; }
.website-content { font-size: 1rem; line-height: 1.75; }
.website-blog-wrap { width: min(100% - 32px, 1180px); margin: 0 auto; }
.blog-hero { background: #fff; border: 1px solid #f0e4d8; border-radius: 22px; padding: 28px; margin-bottom: 18px; box-shadow: 0 4px 18px rgba(0,0,0,.05); }
.blog-hero h1 { font-weight: 950; color: var(--ww-brown-dark); margin: 4px 0 8px; }
.blog-layout { display: grid; grid-template-columns: 280px 1fr; gap: 18px; }
.blog-sidebar { background: #fff; border: 1px solid #f0e4d8; border-radius: 18px; padding: 16px; align-self: start; position: sticky; top: 84px; }
.blog-sidebar h3 { font-size: 1rem; color: var(--ww-brown-dark); font-weight: 900; margin: 18px 0 10px; }
.blog-cat { display: block; padding: 9px 10px; border-radius: 10px; color: var(--ww-brown-dark); text-decoration: none; font-weight: 700; }
.blog-cat:hover,
.blog-cat.active { background: #fff0e5; }
.blog-list-grid { display: grid; gap: 16px; }
.blog-list-card { display: grid; grid-template-columns: 190px 1fr; gap: 16px; padding: 12px; }
.blog-list-card .blog-img-link { border-radius: 14px; }
.blog-article h1 { font-weight: 950; color: var(--ww-brown-dark); margin-top: 8px; }
@media (min-width: 992px) {
  .website-header .site-menu-toggle { display: none; }
  .website-header-inner { position: relative; }
  .site-nav {
    position: static;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    margin-left: auto;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
  }
  .site-nav a { color: #fff; padding: 8px 10px; font-size: .9rem; }
  .site-nav a:hover { background: rgba(255,255,255,.12); }
  .site-nav-whatsapp { background: #e8fff1 !important; color: #087d35 !important; border-radius: 999px !important; padding: 8px 13px !important; }
}
@media (max-width: 991.98px) {
  .website-info-band { grid-template-columns: 1fr; width: 100%; padding: 0 12px; }
  .blog-card-grid { grid-template-columns: 1fr; }
  .blog-layout { grid-template-columns: 1fr; }
  .blog-sidebar { position: static; }
  .blog-list-card { grid-template-columns: 1fr; }
  .policy-page-wrap, .website-blog-wrap { width: 100%; padding-left: 12px !important; padding-right: 12px !important; }
}
@media (max-width: 575.98px) {
  .website-info-band article, .blog-teaser-section, .faq-section, .contact-cta-section { padding: 16px; border-radius: 16px; }
  .occasion-lines { column-count: 1; }
}

/* ==========================================================
   PHASE 4C: Premium website UI, dedicated catalogue pages,
   dynamic theme support, contact page, WYSIWYG content styles
========================================================== */
body {
  font-family: var(--ww-body-font, 'Inter', 'Segoe UI', sans-serif) !important;
  color: var(--ww-body, #4b372d) !important;
  background: linear-gradient(180deg, #fff 0, var(--ww-cream) 420px) !important;
}
h1, h2, h3, .hamper-card-name, .app-bar-title {
  color: var(--ww-heading, #3d1d14);
}
.public-hero h1,
.blog-hero h1,
.catalogue-hero h1,
.policy-page-card h1 {
  font-family: var(--ww-heading-font, 'Playfair Display', Georgia, serif);
  letter-spacing: -0.035em;
}
.app-bar,
.website-header {
  background: var(--ww-menu-bg, var(--ww-brown)) !important;
  color: var(--ww-menu-text, #fff) !important;
  box-shadow: 0 4px 18px rgba(50,24,16,.12);
}
.website-header {
  position: sticky;
  top: 0;
}
.public-logo, .admin-top-logo {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain;
  border-radius: 10px;
  background: rgba(255,255,255,.14);
  padding: 2px;
}
.website-header .brand-link span:last-child {
  color: var(--ww-menu-text, #fff);
  font-weight: 850;
}
.site-nav a {
  color: var(--ww-menu-text, #fff) !important;
  opacity: .92;
}
.site-nav a:hover { opacity: 1; }
.site-nav-whatsapp {
  background: #ffffff;
  color: #147b43 !important;
  border-radius: 999px;
  padding: 8px 14px !important;
  font-weight: 850;
}
.btn-brown {
  background: var(--ww-button, var(--ww-brown)) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(107,63,42,.16);
}
.btn-brown:hover { filter: brightness(.92); }
.hero-kicker {
  color: var(--ww-accent, #a51f7a) !important;
  font-weight: 900;
  letter-spacing: .08em;
}
.premium-hero {
  background:
    radial-gradient(circle at 88% 10%, rgba(165,31,122,.14), transparent 30%),
    radial-gradient(circle at 10% 90%, rgba(212,175,55,.18), transparent 25%),
    linear-gradient(135deg, #fff 0%, #fff9f3 55%, #fff1e8 100%);
  border-bottom: 1px solid var(--ww-border);
}
.premium-hero-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 34px;
  align-items: center;
  padding: 42px 16px 38px;
}
.premium-hero h1 {
  font-size: clamp(2.35rem, 5vw, 5rem);
  line-height: .98;
  max-width: 790px;
  color: var(--ww-heading);
}
.premium-hero p {
  max-width: 700px;
  font-size: 1.05rem;
  line-height: 1.72;
}
.hero-premium-card {
  background: rgba(255,255,255,.86);
  border: 1px solid var(--ww-border);
  border-radius: 34px;
  padding: 28px;
  box-shadow: 0 28px 70px rgba(70,34,24,.16);
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.hero-logo-wrap {
  width: 180px;
  height: 180px;
  margin: 0 auto 18px;
  border-radius: 34px;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 16px 40px rgba(165,31,122,.16);
  border: 1px solid rgba(165,31,122,.12);
}
.hero-logo-wrap img { max-width: 150px; max-height: 150px; object-fit: contain; }
.hero-premium-card h2 {
  font-family: var(--ww-heading-font, Georgia, serif);
  font-size: 1.7rem;
  color: var(--ww-heading);
}
.hero-premium-card p { margin: 0 auto; }
.home-section,
.website-info-card,
.blog-teaser-section,
.faq-section,
.reviews-section,
.contact-cta-section {
  scroll-margin-top: 92px;
}
.home-section {
  margin: 22px 0;
  background: rgba(255,255,255,.84);
  border: 1px solid var(--ww-border);
  border-radius: 28px;
  padding: 24px;
  box-shadow: 0 14px 40px rgba(55,33,22,.06);
}
.home-section h2,
.section-heading-row h2,
.reviews-section h2,
.blog-teaser-section h2,
.faq-section h2,
.contact-cta-section h2 {
  font-family: var(--ww-heading-font, Georgia, serif);
  font-weight: 800;
  color: var(--ww-heading);
}
.featured-hamper-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.item-category-showcase { background: linear-gradient(135deg, #fff 0%, #fff8f3 100%); }
.featured-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
}
.featured-category-card {
  display: grid;
  grid-template-columns: 110px 1fr;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border: 1px solid var(--ww-border);
  border-radius: 22px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease;
}
.featured-category-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(55,33,22,.12); }
.featured-category-img {
  aspect-ratio: 1 / 1;
  border-radius: 18px;
  overflow: hidden;
  background: #f1e9e0;
}
.featured-category-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.featured-category-card h3 {
  font-size: 1rem;
  margin: 0 0 4px;
  font-weight: 900;
  color: var(--ww-heading);
}
.featured-category-card p { margin: 0 0 5px; font-size: .84rem; color: #7c6759; line-height: 1.35; }
.featured-category-card span { font-size: .76rem; color: var(--ww-accent); font-weight: 850; }
.website-info-card .safe-lines {
  display: grid;
  gap: 10px;
  color: #5d483b;
}
.home-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.occasion-lines {
  columns: 2;
}
.home-benefit-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 22px 0;
}
.home-benefit-cards article {
  background: #fff;
  border: 1px solid var(--ww-border);
  border-radius: 24px;
  padding: 20px;
  box-shadow: 0 12px 30px rgba(55,33,22,.06);
}
.home-benefit-cards i {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: #fff1e8;
  color: var(--ww-accent);
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  margin-bottom: 10px;
}
.home-benefit-cards strong { display: block; color: var(--ww-heading); font-weight: 900; font-size: 1.05rem; }
.home-benefit-cards span { color: #756255; font-size: .92rem; }
.empty-card {
  border: 1px dashed var(--ww-border);
  background: #fffaf5;
  padding: 22px;
  border-radius: 20px;
  color: #7c6759;
}
.catalogue-hero {
  max-width: 1240px;
  margin: 28px auto 0;
  padding: 28px 16px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
}
.catalogue-hero h1 {
  font-family: var(--ww-heading-font, Georgia, serif);
  font-size: clamp(2.2rem, 4vw, 4.2rem);
  color: var(--ww-heading);
  margin: 0 0 8px;
}
.catalogue-hero p { max-width: 760px; margin: 0; color: #6c5749; line-height: 1.65; }
.catalogue-type-strip { top: 56px; }
.catalogue-filter-bar { top: 112px !important; }
.catalogue-main { width: min(100% - 32px, 1240px) !important; }
.item-page-layout {
  display: grid;
  grid-template-columns: 290px minmax(0,1fr);
  gap: 22px;
  align-items: start;
}
.item-filter-panel {
  position: sticky;
  top: 80px;
  background: #fff;
  border: 1px solid var(--ww-border);
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 14px 36px rgba(55,33,22,.08);
}
.item-filter-panel h2 { font-size: 1.05rem; font-weight: 900; color: var(--ww-heading); }
.item-filter-form label { font-size: .78rem; font-weight: 850; color: #6b5545; margin-top: 10px; margin-bottom: 4px; }
.item-filter-form .form-control,
.item-filter-form .form-select,
.contact-form-card .form-control,
.contact-form-card .form-select { border-radius: 12px; border-color: var(--ww-border); min-height: 44px; }
.page-items-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.contact-page-grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 22px;
}
.contact-info-card,
.contact-form-card {
  background: #fff;
  border: 1px solid var(--ww-border);
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 14px 36px rgba(55,33,22,.07);
}
.contact-info-card h2,
.contact-form-card h2 { font-family: var(--ww-heading-font, Georgia, serif); color: var(--ww-heading); }
.map-embed iframe { width: 100%; min-height: 260px; border: 0; border-radius: 18px; }
.rich-content h2,
.rich-content h3,
.website-content h2,
.website-content h3 { margin-top: 1.25em; color: var(--ww-heading); }
.rich-content p,
.website-content p { line-height: 1.78; }
.rich-content a,
.website-content a { color: var(--ww-accent); font-weight: 700; }
.rich-content ul,
.rich-content ol,
.website-content ul,
.website-content ol { line-height: 1.75; }
.blog-img-link,
.blog-card .blog-img-link,
.blog-list-card .blog-img-link {
  aspect-ratio: 1 / 1;
  border-radius: 20px;
  overflow: hidden;
  background: #f1e9e0;
}
.blog-img-link img,
.page-featured-img { object-fit: cover; }
.page-featured-img { aspect-ratio: 1 / 1; width: min(100%, 760px); display: block; border-radius: 24px; margin-top: 18px; }
.premium-footer {
  background: var(--ww-footer-bg, #321810) !important;
  color: var(--ww-footer-text, #f8eee6) !important;
  padding: 44px 16px 18px !important;
}
.premium-footer-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr .7fr .7fr .9fr;
  gap: 26px;
  text-align: left;
}
.premium-footer h3,
.premium-footer h4 { color: #fff; font-weight: 900; }
.premium-footer h3 { font-family: var(--ww-heading-font, Georgia, serif); }
.premium-footer p { color: rgba(255,255,255,.72); margin: 0 0 10px; }
.premium-footer a { display: block; color: rgba(255,255,255,.78) !important; text-decoration: none; margin: 7px 0; }
.premium-footer a:hover { color: #fff !important; }
.footer-whatsapp {
  display: inline-flex !important;
  width: fit-content;
  background: #fff;
  color: #147b43 !important;
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 850;
}
.footer-bottom {
  max-width: 1240px;
  margin: 28px auto 0;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.62);
  text-align: center;
  font-size: .86rem;
}
.theme-preview {
  border: 1px dashed #d9c7b8;
  border-radius: 18px;
  padding: 18px;
  background: #fffaf5;
}
@media (min-width: 992px) {
  .hamper-grid { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
  .desktop-filter-groups { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
}
@media (max-width: 991.98px) {
  .premium-hero-inner,
  .item-page-layout,
  .contact-page-grid,
  .premium-footer-inner { grid-template-columns: 1fr; }
  .premium-hero-inner { padding: 28px 12px; }
  .premium-hero h1 { font-size: 2.65rem; }
  .hero-premium-card { min-height: auto; }
  .featured-hamper-grid,
  .featured-category-grid,
  .home-steps,
  .home-benefit-cards,
  .page-items-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .item-filter-panel { position: static; }
  .catalogue-hero { flex-direction: column; align-items: start; }
}
@media (max-width: 575.98px) {
  .featured-hamper-grid,
  .featured-category-grid,
  .home-steps,
  .home-benefit-cards,
  .page-items-grid { grid-template-columns: 1fr; }
  .featured-category-card { grid-template-columns: 92px 1fr; }
  .home-section { padding: 16px; border-radius: 20px; }
  .catalogue-hero h1, .premium-hero h1 { font-size: 2.25rem; }
}

/* ==========================================================
   PHASE 4D: website CTA polish and visible WhatsApp buttons
========================================================== */
.site-nav a.site-nav-whatsapp,
.website-header .site-nav a.site-nav-whatsapp {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: 122px;
  background: #e9fff2 !important;
  color: #087d35 !important;
  border: 1px solid rgba(20,123,67,.24) !important;
  border-radius: 999px !important;
  padding: 9px 16px !important;
  font-weight: 900 !important;
  opacity: 1 !important;
  box-shadow: 0 8px 18px rgba(8,125,53,.12);
}
.site-nav a.site-nav-whatsapp:hover,
.website-header .site-nav a.site-nav-whatsapp:hover {
  background: #d7fbe5 !important;
  color: #065f29 !important;
}
.premium-footer a.footer-whatsapp,
.public-footer a.footer-whatsapp {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: auto !important;
  min-width: 138px;
  background: #ffffff !important;
  color: #087d35 !important;
  border: 1px solid rgba(20,123,67,.18) !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.premium-footer a.footer-whatsapp:hover,
.public-footer a.footer-whatsapp:hover {
  color: #065f29 !important;
  background: #e9fff2 !important;
}
@media (max-width: 991.98px) {
  .site-nav a.site-nav-whatsapp { width: 100%; margin-top: 6px; }
}
/* Phase 5E public website refinements */
.public-city-selector{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 10px;color:#fff;margin-left:auto}.public-city-selector select{background:transparent;color:#fff;border:0;font-weight:700;outline:0;max-width:130px}.public-city-selector option{color:#2b1710}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.campaign-card{display:block;background:#fff;border:1px solid var(--ww-border);border-radius:24px;overflow:hidden;text-decoration:none;color:var(--ww-body);box-shadow:0 12px 34px rgba(80,38,24,.08);transition:.18s ease}.campaign-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(80,38,24,.14)}.campaign-card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#f1e7df}.campaign-card div{padding:18px}.campaign-card h2{font-size:1.35rem;color:var(--ww-heading);font-family:var(--ww-heading-font);margin:0 0 8px}.campaign-card span{font-weight:800;color:var(--ww-brown)}.campaign-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:28px;align-items:center;max-width:1240px;margin:0 auto;padding:56px 22px;background:linear-gradient(135deg,#fff8f1,#fff);border-bottom:1px solid var(--ww-border)}.campaign-hero img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:28px;border:1px solid var(--ww-border);box-shadow:0 18px 50px rgba(80,38,24,.11);order:2}.campaign-hero h1{font-size:clamp(2.1rem,5vw,4.5rem);line-height:.98;color:var(--ww-heading);font-family:var(--ww-heading-font);font-weight:800}.campaign-hero p{font-size:1.1rem;max-width:720px}.site-nav a.active{font-weight:900}.floating-wa-cta{position:fixed;right:18px;bottom:18px;z-index:1035;background:#15a66a;color:white;border-radius:999px;padding:12px 18px;font-weight:900;box-shadow:0 14px 40px rgba(21,166,106,.26);text-decoration:none;display:flex;gap:8px;align-items:center}@media(max-width:991px){.public-city-selector{order:3;width:100%;justify-content:center;margin:8px 0 0}.campaign-hero{grid-template-columns:1fr;padding:32px 16px}.campaign-hero img{order:0}.floating-wa-cta{left:14px;right:14px;justify-content:center}}

/* ===============================
   Phase 5G: Mobile UX, conversion and clean URL polish
================================ */
.mobile-catalogue-toolbar { display: none; }
.shortcut-section { padding-top: 4px; }
.compact-heading-row { margin-bottom: 14px; }
.shortcut-chip-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.shortcut-chip-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid var(--ww-border);
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  color: var(--ww-heading);
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 8px 22px rgba(80,38,24,.06);
  transition: .18s ease;
}
.shortcut-chip-card:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(80,38,24,.11); color: var(--ww-brown); }
.shortcut-chip-card i { color: var(--ww-brown); font-size: 1.08rem; }
.muted-shortcut { background: #fff8f1; }

.mobile-sticky-actions { gap: 10px; }
.mobile-sticky-actions .btn-brown,
.mobile-sticky-actions .btn-hero-whatsapp {
  flex: 1;
  justify-content: center;
  min-height: 48px;
  border-radius: 16px;
  margin: 0;
  text-align: center;
}
.mobile-sticky-actions .btn-hero-whatsapp { border: 1px solid #8fd4ac; background: #e8fff2; color: #08733a; font-weight: 900; box-shadow: none; }
.guided-form-progress { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; }
.guided-step-dot {
  width: 34px; height: 34px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--ww-border); background: #fff; color: #7b685e; font-weight: 900; font-size: .88rem;
}
.guided-step-dot.active { background: var(--ww-brown); color: #fff; border-color: var(--ww-brown); box-shadow: 0 8px 22px rgba(122,63,42,.18); }
.guided-step-dot.done { background: #e9fff1; color: #08733a; border-color: #a9dfbc; }
.custom-form-step { display: none; }
.custom-form-step.active { display: block; }
.guided-form-actions { display: flex; gap: 10px; position: sticky; bottom: 0; background: #fff; padding: 14px 0 0; z-index: 2; }
.guided-form-actions .btn-brown,
.guided-form-actions .btn-outline-reset { flex: 1; min-height: 46px; }
.item-filter-sheet { height: 84vh !important; max-height: 84vh !important; }
.mobile-filter-actions { display:flex; gap:10px; margin-top:14px; }
.mobile-filter-actions .btn-outline-reset { min-width: 104px; display:flex; align-items:center; justify-content:center; }
.public-error-page .premium-card { border: 1px solid var(--ww-border); background: #fff; }

@media (min-width: 992px) {
  .mobile-sticky-actions { display: none !important; }
  .shortcut-chip-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .occasion-shortcuts { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
  body { padding-bottom: calc(74px + var(--safe-bottom)); }
  .website-header { position: sticky; top: 0; z-index: 1040; }
  .website-header-inner { min-height: 68px; gap: 10px; }
  .public-logo { width: 48px; height: 48px; border-radius: 13px; object-fit: contain; background: rgba(255,255,255,.08); }
  .app-bar-title span:last-child { font-size: 1.35rem; line-height: 1.05; white-space: nowrap; }
  .site-menu-toggle { width: 54px; height: 54px; border-radius: 17px; margin-left: auto; }
  .site-nav { position: absolute; left: 12px; right: 12px; top: calc(100% + 8px); background: #fff; border: 1px solid var(--ww-border); border-radius: 22px; padding: 12px; box-shadow: 0 18px 44px rgba(40,18,10,.18); }
  .site-nav a { color: var(--ww-heading) !important; padding: 12px 14px; border-radius: 14px; display: flex; justify-content: space-between; font-weight: 900; }
  .site-nav a:hover { background: #fff4ec; }
  .site-nav-whatsapp { background: #e8fff2 !important; color: #08733a !important; justify-content: center !important; }

  .public-hero { padding: 0; }
  .public-hero-inner { padding: 24px 18px 28px !important; gap: 18px; }
  .public-hero-copy { text-align: left; }
  .public-hero h1 { font-size: clamp(2.28rem, 12vw, 3.55rem) !important; line-height: .96 !important; letter-spacing: -.045em; }
  .public-hero p { font-size: 1.02rem; line-height: 1.55; }
  .hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; align-items: stretch; }
  .hero-actions .btn-brown,
  .hero-actions .btn-outline-reset,
  .hero-actions .btn-hero-whatsapp { width: 100%; justify-content: center; min-height: 50px; }
  .hero-premium-card { display: none !important; }

  .home-section, .reviews-section, .blog-teaser-section, .faq-section, .contact-cta-section { margin-left: 12px; margin-right: 12px; border-radius: 24px; }
  .section-heading-row { gap: 12px; align-items: flex-start; }
  .section-heading-row h2 { font-size: clamp(1.65rem, 8vw, 2.25rem); }
  .section-heading-row > a { width: 100%; text-align: center; justify-content: center; }
  .featured-hamper-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .hamper-card { border-radius: 18px; }
  .hamper-card-img { aspect-ratio: 1 / 1; }
  .hamper-card-body { padding: 10px; }
  .hamper-card-name { font-size: .92rem; min-height: 2.35em; }
  .hamper-suitable-line, .hamper-availability { font-size: .74rem; }
  .hamper-card-price { font-size: 1rem; }
  .hamper-card-actions { grid-template-columns: 1fr 1fr 34px; gap: 6px; }
  .btn-details, .btn-choose { font-size: .75rem; padding: 8px 0; }

  .shortcut-chip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .shortcut-chip-card { padding: 12px 12px; border-radius: 16px; font-size: .9rem; }
  .featured-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .featured-category-card { border-radius: 20px; }
  .featured-category-card h3 { font-size: 1rem; }
  .featured-category-card p { display: none; }

  .catalogue-hero { margin: 0 12px; border-radius: 0 0 24px 24px; padding: 24px 18px; grid-template-columns: 1fr; }
  .catalogue-hero h1 { font-size: clamp(2rem, 10vw, 3rem); }
  .catalogue-type-strip { position: sticky; top: 68px; z-index: 1015; background: rgba(255,250,246,.96); backdrop-filter: blur(10px); }
  .desktop-filter-bar { display: none !important; }
  .mobile-catalogue-toolbar { display:flex; gap:10px; padding: 12px 16px; position: sticky; top: 68px; z-index: 1016; background: rgba(255,250,246,.96); backdrop-filter: blur(10px); border-bottom:1px solid var(--ww-border); }
  .mobile-catalogue-toolbar .btn-outline-reset,
  .mobile-catalogue-toolbar .btn-hero-whatsapp { flex:1; justify-content:center; min-height:44px; border-radius:14px; }
  .item-page-layout { display: block; }
  .item-filter-panel { display: none !important; }
  .item-category-strip { overflow-x: auto; white-space: nowrap; padding-bottom: 10px; margin-left: -4px; }
  .page-items-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .basket-item-card { border-radius: 18px; }
  .basket-item-body { padding: 10px; }
  .basket-item-body h3 { font-size: .95rem; }
  .basket-item-body p { display: none; }

  .app-sheet { border-radius: 26px 26px 0 0 !important; }
  .app-sheet .offcanvas-header { padding: 20px 22px 10px; }
  .app-sheet .offcanvas-title { font-size: 1.45rem; }
  .custom-sheet { height: 92vh !important; max-height: 92vh !important; }
  #customHamperSheet .offcanvas-body { padding: 18px 18px calc(92px + var(--safe-bottom)) !important; }
  .custom-check-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .custom-check { min-height: 58px; border-radius: 16px; }
  .custom-check span { font-size: .94rem; }
  .guided-form-actions { padding-bottom: var(--safe-bottom); }

  .floating-wa-cta { display: none !important; }
  .bottom-cta { display: flex !important; position: fixed; left: 0; right: 0; bottom: 0; padding: 10px 12px calc(10px + var(--safe-bottom)); background: rgba(255,250,246,.96); border-top: 1px solid var(--ww-border); box-shadow: 0 -12px 34px rgba(80,38,24,.12); z-index: 1032; }
  .mobile-sticky-actions .btn-brown, .mobile-sticky-actions .btn-hero-whatsapp { font-size: .95rem; padding: 12px 10px; }
  .public-footer { padding-bottom: calc(84px + var(--safe-bottom)); }
}

@media (max-width: 380px) {
  .app-bar-title span:last-child { font-size: 1.1rem; }
  .public-logo { width: 42px; height: 42px; }
  .site-menu-toggle { width: 48px; height: 48px; }
  .custom-check-grid, .featured-hamper-grid, .featured-category-grid, .page-items-grid { grid-template-columns: 1fr; }
}

/* ===============================
   Phase 5G.1: Mobile/frontend hotfixes
   Fixes hero blank card, guided form step visibility, mobile menu and item filters.
================================ */
@media (max-width: 991.98px) {
  .premium-hero .hero-premium-card,
  .public-hero .hero-premium-card,
  .hero-premium-card {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .premium-hero-inner,
  .public-hero-inner {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }
  .public-hero { min-height: 0 !important; }
  .public-hero-copy { max-width: 100% !important; }

  .site-nav.collapse:not(.show) {
    display: none !important;
  }
  .site-nav.collapse.show,
  .site-nav.collapsing {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
  }

  #customHamperForm .custom-form-step {
    display: none !important;
  }
  #customHamperForm .custom-form-step.active {
    display: block !important;
  }
  #customHamperForm .guided-form-progress {
    gap: 7px !important;
    margin-bottom: 18px !important;
  }
  #customHamperForm .guided-step-dot {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    font-size: .9rem !important;
  }
  #customHamperForm .guided-submit.d-none,
  #customHamperForm .guided-next.d-none {
    display: none !important;
  }

  .item-filter-sheet .offcanvas-body {
    overflow-y: auto !important;
    padding-bottom: calc(24px + var(--safe-bottom)) !important;
  }
  .mobile-filter-actions {
    position: sticky;
    bottom: 0;
    background: #fff;
    padding-top: 12px;
    padding-bottom: var(--safe-bottom);
    z-index: 2;
  }
  .mobile-filter-actions .btn-brown,
  .mobile-filter-actions .btn-outline-reset {
    min-height: 48px;
    border-radius: 14px;
  }
}

@media (min-width: 992px) {
  #customHamperForm .custom-form-step {
    display: block !important;
  }
  #customHamperForm .guided-form-progress,
  #customHamperForm .guided-form-actions {
    display: none !important;
  }
}

/* ===============================
   Phase 5G.3: item catalogue visibility + responsive toolbar hotfix
   Keep desktop item filters and mobile filter sheet from appearing together.
================================ */
@media (min-width: 992px) {
  .mobile-catalogue-toolbar { display: none !important; }
  .item-filter-panel { display: block !important; }
}
@media (max-width: 991.98px) {
  .mobile-catalogue-toolbar { display: flex !important; }
  .item-page-layout { display: block !important; }
  .item-filter-panel { display: none !important; }
  .item-filter-sheet .offcanvas-body { overflow-y: auto; }
}

/* ===============================
   Phase 5G.4: item catalogue final hotfix
   - keep desktop filter buttons stacked, visible and non-overlapping
   - ensure mobile-only filter toolbar never appears on desktop
================================ */
.item-filter-panel .item-filter-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.item-filter-panel .item-filter-form .btn-brown,
.item-filter-panel .item-filter-form .btn-outline-reset {
  position: static !important;
  display: flex !important;
  width: 100% !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 10px 0 0 !important;
  line-height: 1.2 !important;
  clear: both !important;
}
.item-filter-panel .item-filter-form .btn-outline-reset {
  background: #fff !important;
  color: #55433a !important;
  border: 1.5px solid var(--ww-border) !important;
}
@media (min-width: 992px) {
  .mobile-catalogue-toolbar,
  .mobile-filter-open,
  #itemFilterSheet.show {
    display: none !important;
    visibility: hidden !important;
  }
  .item-filter-panel { display: block !important; }
}
@media (max-width: 991.98px) {
  .item-filter-panel { display: none !important; }
  .mobile-catalogue-toolbar { display: flex !important; }
}


/* ===============================
   Phase 5G.5: item All-view + filter panel polish
   The All view fix is in public/items.php. This CSS keeps desktop item filter buttons from overlapping in narrow desktop widths.
================================ */
.item-filter-panel .item-filter-form .custom-check.inline {
  width: 100% !important;
  margin-top: 12px !important;
  margin-bottom: 2px !important;
}
.item-filter-panel .item-filter-form .btn-brown,
.item-filter-panel .item-filter-form .btn-outline-reset {
  float: none !important;
  flex: none !important;
  box-sizing: border-box !important;
}
.item-filter-panel .item-filter-form .btn-outline-reset {
  margin-top: 8px !important;
}
@media (min-width: 992px) {
  .item-filter-panel { overflow: visible !important; }
  .item-filter-panel .item-filter-form { align-items: stretch !important; }
}

/* ===============================
   Phase 5H: Customer profile, Gift Finder and Occasion Calendar
================================ */
.customer-portal-grid,
.gift-finder-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
.customer-card {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--ww-border);
  border-radius: 28px;
  padding: 24px;
  box-shadow: 0 14px 38px rgba(55,33,22,.08);
}
.customer-card h2,
.gift-planner-card h3 {
  font-family: var(--ww-heading-font, Georgia, serif);
  color: var(--ww-heading);
  font-weight: 850;
}
.customer-profile-form .form-control,
.customer-profile-form .form-select {
  min-height: 46px;
  border-radius: 13px;
  border-color: var(--ww-border);
}
.customer-profile-form .form-label {
  font-weight: 800;
  color: #6b5545;
  font-size: .84rem;
}
.customer-alert {
  border-radius: 18px;
  border-width: 1px;
}
.gift-suggestion-card {
  position: sticky;
  top: 92px;
  background: linear-gradient(135deg, #fff, #fff8f1);
}
.gift-summary-pill {
  border: 1px solid var(--ww-border);
  background: #fffaf5;
  border-radius: 16px;
  padding: 11px 13px;
  margin: 8px 0;
  color: #5d483b;
}
.gift-finder-benefits {
  margin: 16px 0 0;
  padding-left: 20px;
  color: #6d5747;
  line-height: 1.8;
}
.gift-planner-section {
  background: linear-gradient(135deg, #fff, #fff6ed);
}
.gift-planner-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.gift-planner-card {
  background: #fff;
  border: 1px solid var(--ww-border);
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 12px 32px rgba(55,33,22,.07);
}
.gift-planner-card > i {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: #fff1e8;
  color: var(--ww-accent);
  font-size: 1.45rem;
  margin-bottom: 12px;
}
.gift-planner-card p { color: #6d5747; }
.customer-portal-hero,
.gift-finder-hero { align-items: center; }
@media (max-width: 991.98px) {
  .customer-portal-grid,
  .gift-finder-grid,
  .gift-planner-grid { grid-template-columns: 1fr; }
  .customer-card { padding: 18px; border-radius: 22px; }
  .gift-suggestion-card { position: static; }
  .customer-portal-hero,
  .gift-finder-hero { margin: 0 12px; }
}


/* ===============================
   Phase 5I.1: Mobile UX, customer login and store selector polish
================================ */
.public-city-selector{display:none!important}.public-city-bar{background:rgba(255,250,246,.98);border-bottom:1px solid var(--ww-border);box-shadow:0 6px 18px rgba(80,38,24,.05);position:relative;z-index:1025}.public-city-bar-inner{width:min(100% - 32px,1240px);margin:0 auto;padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:14px}.public-city-current{display:flex;align-items:center;gap:8px;color:var(--ww-heading);font-weight:800}.public-city-current i{color:var(--ww-accent)}.public-city-current span{color:#806b5f;font-weight:700}.public-city-current strong{font-weight:950}.public-city-bar-form select{min-width:220px;border:1px solid var(--ww-border);border-radius:999px;background:#fff;color:var(--ww-heading);font-weight:850;padding:9px 36px 9px 14px}.mobile-app-menu{background:linear-gradient(180deg,#fff,#fff8f1);border-left:1px solid var(--ww-border)}.mobile-app-menu .offcanvas-header{border-bottom:1px solid var(--ww-border);background:var(--ww-menu-bg);color:#fff}.mobile-app-menu .btn-close{filter:invert(1)}.mobile-app-menu small{color:rgba(255,255,255,.75)}.mobile-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mobile-app-grid a{display:flex;min-height:98px;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ww-border);border-radius:22px;background:#fff;color:var(--ww-heading);text-decoration:none;font-weight:950;box-shadow:0 12px 28px rgba(80,38,24,.08)}.mobile-app-grid a i{width:42px;height:42px;border-radius:15px;background:#fff1e8;color:var(--ww-brown);display:grid;place-items:center;font-size:1.35rem}.mobile-app-whatsapp{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;background:#e8fff2;color:#08733a;text-decoration:none;border:1px solid #92d8ad;border-radius:18px;padding:14px 16px;font-weight:950}.mobile-app-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center}
body #customHamperForm .custom-form-step{display:none!important}body #customHamperForm .custom-form-step.active{display:block!important}.guided-custom-form{position:relative}.guided-form-progress{position:relative;justify-content:space-between;background:#fff7ef;border:1px solid var(--ww-border);border-radius:18px;padding:10px;margin-bottom:18px!important}.guided-form-progress:before{content:"";position:absolute;left:24px;right:24px;top:50%;height:3px;background:#ead8c9;z-index:0}.guided-step-dot{position:relative;z-index:1}.form-section-title{font-size:1.08rem!important;display:flex;align-items:center;gap:8px}.form-section-title:before{content:"";width:10px;height:10px;background:var(--ww-accent);border-radius:50%;display:inline-block}.guided-form-actions{box-shadow:0 -8px 22px rgba(80,38,24,.07)}
.basket-item-img{background:#fff!important}.basket-item-img img{object-fit:contain!important;object-position:center!important;padding:10px!important;background:#fff}.page-items-grid .basket-item-card{overflow:hidden}.page-items-grid .basket-item-body h3{line-height:1.25}.item-category-strip{scrollbar-width:thin}.item-category-strip::-webkit-scrollbar{height:5px}.item-category-strip::-webkit-scrollbar-thumb{background:#d6c3b4;border-radius:999px}.shortcut-chip-grid{display:grid!important}.shortcut-chip-card,.shortcut-chip-grid a.shortcut-chip-card{display:flex!important;align-items:center!important;gap:10px!important;text-decoration:none!important;border:1px solid var(--ww-border)!important;border-radius:18px!important;background:#fff!important;color:var(--ww-heading)!important;font-weight:950!important;padding:14px 16px!important;line-height:1.2!important;box-shadow:0 8px 22px rgba(80,38,24,.06)!important}.shortcut-chip-card i{color:var(--ww-brown)!important;text-decoration:none!important}.shortcut-chip-card span{text-decoration:none!important;color:inherit!important}.customer-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.customer-mini-stats div{border:1px solid var(--ww-border);border-radius:18px;background:#fff8f1;padding:14px}.customer-mini-stats small{display:block;color:#806b5f;font-weight:800}.customer-mini-stats strong{display:block;font-size:1.7rem;color:var(--ww-heading)}.auth-card{min-height:100%}
@media(max-width:991.98px){.website-header-inner{min-height:74px}.site-nav{display:none!important}.site-menu-toggle{display:inline-flex!important}.public-city-bar-inner{width:100%;padding:10px 14px;flex-direction:column;align-items:stretch}.public-city-current{justify-content:center;flex-wrap:wrap}.public-city-bar-form select{width:100%;min-width:0;text-align:center}.mobile-app-menu{width:min(92vw,390px)!important}.catalogue-main{width:100%!important;padding-left:12px!important;padding-right:12px!important}.item-category-strip{padding-left:4px;padding-right:4px}.page-items-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.basket-item-img{aspect-ratio:1/1!important}.basket-item-img img{padding:8px!important}.basket-item-body{min-height:104px}.shortcut-chip-grid,.budget-shortcuts,.occasion-shortcuts{grid-template-columns:1fr!important;gap:10px!important}.shortcut-chip-card,.shortcut-chip-grid a.shortcut-chip-card{min-height:54px!important;font-size:1rem!important;justify-content:flex-start!important}.custom-sheet{height:94vh!important;max-height:94vh!important}.custom-sheet .offcanvas-header{padding:18px 18px 10px}.custom-sheet .offcanvas-title{font-size:1.45rem!important}.custom-check-grid{grid-template-columns:1fr!important}.custom-check{min-height:54px}.guided-form-actions{position:sticky!important;bottom:0!important;background:#fff!important;padding:12px 0 calc(12px + var(--safe-bottom))!important}.guided-form-actions .btn-brown,.guided-form-actions .btn-outline-reset{min-height:50px}.customer-mini-stats{grid-template-columns:1fr}.auth-grid{grid-template-columns:1fr!important}}
@media(min-width:992px){.mobile-app-menu-toggle{display:none!important}.site-nav{display:flex!important}.custom-sheet #customHamperForm .custom-form-step{display:none!important}.custom-sheet #customHamperForm .custom-form-step.active{display:block!important}}


/* ===============================
   Phase 5I.2: hard mobile/frontend corrections
   Cache-busted in public_header with ?v=5i2.
================================ */
html, body { max-width: 100%; overflow-x: hidden; }
.menu-icon-lines{width:26px;height:22px;display:inline-flex;flex-direction:column;justify-content:space-between}.menu-icon-lines span{display:block;height:3px;border-radius:999px;background:#fff}.site-menu-toggle.mobile-app-menu-toggle{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important}
.mobile-app-grid a{text-align:center!important}.mobile-app-grid a .mobile-app-emoji{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:#fff1e8;font-size:1.45rem;line-height:1}.mobile-app-grid a i{display:none!important}
.site-nav a{white-space:nowrap}.website-header-inner{gap:14px}.brand-link{min-width:0}.brand-link span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body #customHamperForm .custom-form-step{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important}body #customHamperForm .custom-form-step.active{display:block!important;visibility:visible!important;height:auto!important;overflow:visible!important;margin:initial!important;padding:initial!important}.guided-form-progress{display:flex!important}.guided-form-actions{display:flex!important}.guided-form-actions .guided-submit.d-none,.guided-form-actions .guided-next.d-none{display:none!important}.custom-form-card #customHamperForm .custom-form-step.active{padding:0!important}.visual-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visual-choice{display:flex;align-items:center;gap:9px;border:1.5px solid var(--ww-border);border-radius:16px;background:#fff;padding:12px 13px;font-weight:900;color:var(--ww-heading);cursor:pointer}.visual-choice input{accent-color:var(--ww-brown)}.visual-choice:has(input:checked){border-color:var(--ww-brown);background:#fff4ec;box-shadow:0 8px 20px rgba(107,63,42,.12)}.custom-hamper-page-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px;align-items:start}.custom-info-card,.custom-form-card{box-shadow:0 14px 36px rgba(55,33,22,.07)}.custom-info-steps{display:grid;gap:12px;margin-top:16px}.custom-info-steps div{border:1px solid var(--ww-border);background:#fffaf5;border-radius:18px;padding:14px}.custom-info-steps strong{display:block;color:var(--ww-heading);font-weight:950}.custom-info-steps span{display:block;color:#6d5747;margin-top:3px}.gift-finder-complete{grid-template-columns:minmax(0,720px)!important;justify-content:center}.gift-suggestion-result{position:static!important;text-align:left}.ajax-submitted{display:none!important}.ajax-success-actions{display:grid;gap:10px;margin-top:10px}
.shortcut-chip-grid,.budget-shortcuts,.occasion-shortcuts{display:grid!important;align-items:stretch!important}.shortcut-chip-card,.shortcut-chip-grid>a,.budget-shortcuts>a,.occasion-shortcuts>a{display:flex!important;align-items:center!important;gap:10px!important;text-decoration:none!important;border:1.5px solid var(--ww-border)!important;border-radius:18px!important;background:#fff!important;color:var(--ww-heading)!important;font-weight:950!important;padding:14px 16px!important;line-height:1.25!important;box-shadow:0 8px 22px rgba(80,38,24,.06)!important;white-space:normal!important}.shortcut-chip-card:hover,.shortcut-chip-grid>a:hover{transform:translateY(-2px);color:var(--ww-brown)!important}.shortcut-chip-card i,.shortcut-chip-grid>a i{display:inline-grid!important;place-items:center;width:34px;height:34px;border-radius:12px;background:#fff1e8;color:var(--ww-brown)!important;text-decoration:none!important;flex:0 0 auto}.shortcut-chip-card span,.shortcut-chip-grid>a span{text-decoration:none!important;color:inherit!important}.basket-item-card{min-width:0!important;max-width:100%!important}.basket-item-img{width:100%!important;aspect-ratio:1/1!important;background:#fff!important;display:grid!important;place-items:center!important;overflow:hidden!important}.basket-item-img img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;padding:12px!important;background:#fff!important}.basket-item-img .badge{position:absolute!important;left:8px!important;bottom:8px!important}.item-listing-area{min-width:0!important}.item-category-strip{max-width:100%;overflow-x:auto;display:flex;gap:8px}.item-category-chip{white-space:nowrap}.item-filter-panel{max-width:100%}.mobile-catalogue-toolbar{max-width:100%;overflow:hidden}
@media(max-width:991.98px){.website-header-inner{min-height:76px!important;padding-left:14px!important;padding-right:14px!important}.public-logo{width:48px!important;height:48px!important}.app-bar-title span:last-child{font-size:1.22rem!important}.site-nav{display:none!important}.mobile-app-menu-toggle{display:inline-flex!important;flex:0 0 56px;width:56px!important;height:56px!important;border-radius:18px!important}.mobile-app-menu{width:min(94vw,420px)!important}.mobile-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.mobile-app-grid a{min-height:104px!important;border-radius:22px!important}.custom-hamper-page-grid{grid-template-columns:1fr!important}.visual-choice-grid,.budget-choice-grid{grid-template-columns:1fr!important}.custom-hamper-hero{margin:0 12px!important}.custom-hamper-page{padding-left:12px!important;padding-right:12px!important}.page-items-grid,.basket-items-grid.page-items-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:100%!important}.basket-item-body{padding:10px!important;min-height:96px!important}.basket-item-body h3{font-size:.88rem!important;line-height:1.25!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.basket-item-price,.basket-item-meta{font-size:.76rem!important}.catalogue-main{width:100%!important;max-width:100%!important;padding-left:12px!important;padding-right:12px!important}.item-page-layout{display:block!important;width:100%!important;max-width:100%!important}.item-filter-panel{display:none!important}.mobile-catalogue-toolbar{display:flex!important;padding:10px 12px!important}.shortcut-chip-grid,.budget-shortcuts,.occasion-shortcuts{grid-template-columns:1fr!important}.shortcut-chip-grid>a,.shortcut-chip-card{min-height:58px!important}.section-heading-row.compact-heading-row>div{width:100%}.section-heading-row.compact-heading-row>a{width:100%;display:flex!important;justify-content:center}.custom-check-grid{grid-template-columns:1fr!important}.custom-sheet #customHamperForm .custom-form-step:not(.active){display:none!important}.custom-sheet #customHamperForm .custom-form-step.active{display:block!important}.gift-finder-grid{grid-template-columns:1fr!important}.gift-finder-complete{grid-template-columns:1fr!important}.bottom-cta{gap:10px}.bottom-cta .btn-brown,.bottom-cta .btn-hero-whatsapp{min-width:0!important}}
@media(min-width:992px){.site-nav{gap:2px}.site-nav a{padding-left:8px!important;padding-right:8px!important}.custom-hamper-page-grid{grid-template-columns:.9fr 1.1fr}.custom-form-card{position:relative}.page-items-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.basket-item-img img{padding:14px!important}.budget-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))!important}.occasion-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))!important}}


/* Phase 5I.3: mobile UI repair + customer account polish */
html, body { max-width: 100%; overflow-x: hidden; }
body { -webkit-text-size-adjust: 100%; }

/* Shortcut cards: force proper chips/cards even if old rich link styles interfere */
.shortcut-chip-grid,
.budget-shortcuts,
.occasion-shortcuts {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
}
.shortcut-chip-grid > a,
.shortcut-chip-card,
.budget-shortcuts > a,
.occasion-shortcuts > a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 16px !important;
  border: 1.5px solid var(--ww-border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: var(--ww-heading) !important;
  text-decoration: none !important;
  font-weight: 950 !important;
  line-height: 1.25 !important;
  box-shadow: 0 8px 22px rgba(80,38,24,.06) !important;
  min-width: 0 !important;
  white-space: normal !important;
}
.shortcut-chip-grid > a i,
.shortcut-chip-card i {
  display: inline-grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  background: #fff1e8 !important;
  color: var(--ww-brown) !important;
  flex: 0 0 auto !important;
  text-decoration: none !important;
}
.shortcut-chip-grid > a span,
.shortcut-chip-card span { text-decoration: none !important; color: inherit !important; }

/* Featured item categories: keep text inside card */
.featured-category-grid { min-width: 0 !important; }
.featured-category-card { min-width: 0 !important; overflow: hidden !important; }
.featured-category-card > div:last-child { min-width: 0 !important; overflow-wrap: anywhere !important; }
.featured-category-card h3 { overflow-wrap: anywhere !important; word-break: normal !important; }
.featured-category-img img { object-fit: contain !important; background: #fff !important; padding: 8px !important; }

/* Items page: stop horizontal overflow */
.item-page-layout,
.item-listing-area,
.basket-items-grid,
.page-items-grid,
.basket-item-card,
.basket-item-body { min-width: 0 !important; max-width: 100% !important; }
.basket-item-card { overflow: hidden !important; }
.basket-item-img { overflow: hidden !important; background: #fff !important; }
.basket-item-img img { object-fit: contain !important; object-position: center !important; background: #fff !important; }
.item-category-strip { display: flex !important; gap: 8px !important; overflow-x: auto !important; overflow-y: hidden !important; max-width: 100% !important; padding-bottom: 10px !important; -webkit-overflow-scrolling: touch; }
.item-category-chip { flex: 0 0 auto !important; white-space: nowrap !important; }

/* Mobile app menu icon cards */
.mobile-app-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
.mobile-app-grid a { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; gap: 8px !important; }
.mobile-app-emoji { display: grid !important; place-items: center !important; width: 46px !important; height: 46px !important; border-radius: 16px !important; background: #fff1e8 !important; font-size: 1.45rem !important; line-height: 1 !important; flex: 0 0 auto !important; }
.mobile-app-grid a i { display: none !important; }

/* Custom hamper wizard: one visible step with clear controls */
body #customHamperForm .custom-form-step { display: none !important; visibility: hidden !important; height: 0 !important; overflow: hidden !important; margin: 0 !important; padding: 0 !important; }
body #customHamperForm .custom-form-step.active { display: block !important; visibility: visible !important; height: auto !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; }
.guided-form-actions { display: flex !important; gap: 10px !important; background: #fff !important; border-top: 1px solid var(--ww-border) !important; margin-top: 18px !important; padding: 14px 0 0 !important; z-index: 20 !important; }
.guided-form-actions .btn-brown,
.guided-form-actions .btn-outline-reset { flex: 1 !important; min-height: 48px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
.guided-form-actions .d-none { display: none !important; }
.guided-form-help { text-align: center; }
.customer-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.customer-benefit-grid article { border: 1px solid var(--ww-border); background: #fffaf6; border-radius: 18px; padding: 14px; display: grid; gap: 6px; }
.customer-benefit-grid span { font-size: 1.6rem; }
.customer-benefit-grid strong { color: var(--ww-heading); font-weight: 950; }
.customer-benefit-grid small { color: #6f5a4c; line-height: 1.35; }
.login-required-card { max-width: 920px; margin: 0 auto 22px; }

@media (max-width: 991.98px) {
  .featured-category-grid { grid-template-columns: 1fr !important; gap: 12px !important; width: 100% !important; }
  .featured-category-card { grid-template-columns: 88px minmax(0, 1fr) !important; gap: 12px !important; padding: 12px !important; border-radius: 20px !important; width: 100% !important; }
  .featured-category-img { width: 88px !important; min-width: 88px !important; border-radius: 16px !important; }
  .featured-category-card h3 { font-size: 1rem !important; line-height: 1.2 !important; margin-bottom: 3px !important; }
  .featured-category-card p { display: none !important; }
  .featured-category-card span { font-size: .86rem !important; display: block !important; }

  .item-page-layout { display: block !important; width: 100% !important; }
  .item-filter-panel { display: none !important; }
  .mobile-catalogue-toolbar { display: flex !important; gap: 8px !important; width: 100% !important; padding: 10px 12px !important; }
  .mobile-catalogue-toolbar > * { min-width: 0 !important; flex: 1 !important; justify-content: center !important; }
  .page-items-grid, .basket-items-grid.page-items-grid { grid-template-columns: 1fr !important; gap: 14px !important; width: 100% !important; }
  .basket-item-card { display: grid !important; grid-template-columns: 116px minmax(0, 1fr) !important; align-items: stretch !important; border-radius: 22px !important; }
  .basket-item-img { aspect-ratio: 1/1 !important; width: 116px !important; min-height: 116px !important; }
  .basket-item-img img { padding: 8px !important; }
  .basket-item-body { padding: 12px !important; min-height: auto !important; }
  .basket-item-body h3 { font-size: 1rem !important; line-height: 1.25 !important; }
  .basket-item-body p { display: none !important; }
  .item-category-strip { margin-left: 0 !important; padding-left: 0 !important; }

  .shortcut-chip-grid, .budget-shortcuts, .occasion-shortcuts { grid-template-columns: 1fr !important; gap: 10px !important; }
  .shortcut-chip-grid > a, .shortcut-chip-card { min-height: 58px !important; font-size: 1rem !important; }

  .guided-form-actions { position: sticky !important; bottom: 0 !important; padding: 12px 0 calc(12px + var(--safe-bottom)) !important; box-shadow: 0 -12px 30px rgba(80,38,24,.08) !important; }
  .customer-benefit-grid { grid-template-columns: 1fr !important; }
}


/* Phase 5I.4: Rakhi landing page, footer social links, reliable custom hamper wizard */
.site-nav-dropdown{position:relative;display:inline-flex;align-items:center}.site-nav-dropbtn{display:inline-flex!important;align-items:center;gap:4px}.site-nav-dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:190px;background:#fff;border:1px solid var(--ww-border);border-radius:16px;padding:8px;box-shadow:0 20px 45px rgba(44,20,12,.16);z-index:999}.site-nav-dropdown:hover .site-nav-dropdown-menu,.site-nav-dropdown:focus-within .site-nav-dropdown-menu{display:grid;gap:4px}.site-nav-dropdown-menu a{color:var(--ww-heading)!important;padding:10px 12px!important;border-radius:12px!important;white-space:nowrap}.site-nav-dropdown-menu a:hover{background:#fff4ec!important;color:var(--ww-brown)!important}.footer-social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.footer-social-links a{width:40px;height:40px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none}.footer-social-links a:hover{background:#fff;color:var(--ww-brown-dark)}
#customHamperForm .custom-wizard-actions,#customHamperForm .guided-form-actions-page{display:flex!important;visibility:visible!important;height:auto!important;overflow:visible!important;gap:12px!important;position:sticky!important;bottom:0!important;background:#fff!important;border-top:1px solid var(--ww-border)!important;margin-top:20px!important;padding:14px 0 0!important;z-index:40!important;opacity:1!important}#customHamperForm .custom-wizard-actions button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:50px!important;flex:1!important;border-radius:14px!important;font-weight:900!important}.custom-form-card{overflow:visible!important}.custom-hamper-page{padding-bottom:110px!important}.guided-form-help{position:relative;z-index:1}.guided-step-dot.completed{background:var(--ww-brown)!important;color:#fff!important}.guided-step-dot.active{background:var(--ww-accent)!important;color:#fff!important}
.rakhi-landing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:34px;align-items:center;padding:64px max(24px,6vw);background:radial-gradient(circle at top right,#ffeaf5,transparent 42%),linear-gradient(135deg,#fff8f1,#fff1e5);border-bottom:1px solid var(--ww-border)}.rakhi-hero-copy h1{font-family:var(--ww-heading-font);font-size:clamp(2.2rem,5vw,5.2rem);line-height:.96;color:var(--ww-heading);max-width:900px}.rakhi-hero-copy p{font-size:1.12rem;color:#6d5747;max-width:720px}.rakhi-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.rakhi-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.rakhi-trust-row span{background:#fff;border:1px solid var(--ww-border);border-radius:999px;padding:8px 12px;font-weight:800;color:var(--ww-heading)}.rakhi-hero-visual{background:#fff;border:1px solid var(--ww-border);border-radius:34px;padding:18px;box-shadow:0 28px 70px rgba(90,41,24,.14)}.rakhi-hero-visual img{width:100%;border-radius:24px;display:block;object-fit:cover}.rakhi-landing-main{max-width:1280px;margin:0 auto}.rakhi-emotion-card,.rakhi-lead-section,.rakhi-faq{background:#fff;border:1px solid var(--ww-border);border-radius:30px;padding:32px;margin:28px 0;box-shadow:0 18px 55px rgba(90,41,24,.08)}.rakhi-emotion-card h2,.rakhi-lead-copy h2,.rakhi-faq h2{font-family:var(--ww-heading-font);color:var(--ww-heading)}.rakhi-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.rakhi-package-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:18px;background:#fff;border:1px solid var(--ww-border);border-radius:30px;padding:18px;box-shadow:0 18px 55px rgba(90,41,24,.08);overflow:hidden}.rakhi-package-card img{width:100%;height:100%;max-height:560px;object-fit:contain;border-radius:22px;background:#fff7ef}.rakhi-package-body{display:flex;flex-direction:column;justify-content:center}.rakhi-price-chip{display:inline-flex;align-self:flex-start;background:var(--ww-accent);color:#fff;border-radius:999px;padding:8px 14px;font-weight:950;margin-bottom:10px}.rakhi-package-body h3{font-family:var(--ww-heading-font);color:var(--ww-heading)}.rakhi-package-body li{margin-bottom:8px}.rakhi-how-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0}.rakhi-how-grid div{background:#fff8f1;border:1px solid var(--ww-border);border-radius:22px;padding:18px}.rakhi-how-grid strong{display:block;color:var(--ww-heading);font-weight:950}.rakhi-how-grid span{display:block;color:#6d5747;margin-top:4px}.rakhi-lead-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:start}.rakhi-lead-form{background:#fffaf5;border:1px solid var(--ww-border);border-radius:24px;padding:22px}.rakhi-faq{margin-bottom:80px}
@media(max-width:991.98px){.site-nav-dropdown{display:none}.rakhi-landing-hero{grid-template-columns:1fr;padding:32px 16px}.rakhi-hero-copy h1{font-size:2.4rem}.rakhi-package-grid,.rakhi-lead-section{grid-template-columns:1fr}.rakhi-package-card{grid-template-columns:1fr}.rakhi-how-grid{grid-template-columns:1fr}.rakhi-package-card img{max-height:none}.rakhi-emotion-card,.rakhi-lead-section,.rakhi-faq{border-radius:24px;padding:22px;margin:18px 0}.rakhi-hero-actions .btn-brown,.rakhi-hero-actions .btn-hero-whatsapp{width:100%;justify-content:center}#customHamperForm .custom-wizard-actions{bottom:calc(74px + var(--safe-bottom))!important;padding-bottom:10px!important}.custom-hamper-page{padding-bottom:180px!important}}


/* Phase 5I.5: production stabilization and final mobile UX cleanup */
html, body { max-width: 100%; overflow-x: hidden; }
.step-local-actions { display: flex !important; gap: 12px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--ww-border); }
.step-local-actions .btn-brown, .step-local-actions .btn-outline-reset { flex: 1; min-height: 52px; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 16px; font-weight: 950; text-decoration: none; }
#customHamperForm .guided-form-actions-page { display: none !important; }
#customHamperForm .guided-form-help { margin-top: 12px; padding: 10px 12px; border: 1px dashed var(--ww-border); border-radius: 14px; background: #fffaf5; text-align: center; }
.custom-form-step[hidden] { display: none !important; }
.custom-form-step.active .step-local-actions { display: flex !important; }
.featured-category-grid, .basket-items-grid, .page-items-grid, .item-page-layout, .item-listing-area { min-width: 0 !important; max-width: 100% !important; }
.featured-category-card { min-width: 0 !important; max-width: 100% !important; overflow: hidden !important; }
.featured-category-card > div:last-child { min-width: 0 !important; width: 100% !important; }
.featured-category-card h3, .featured-category-card span, .featured-category-card p { max-width: 100% !important; overflow-wrap: anywhere !important; word-break: normal !important; }
.basket-item-card, .basket-item-img, .basket-item-body { min-width: 0 !important; max-width: 100% !important; }
.basket-item-img img { object-fit: contain !important; object-position: center !important; }
.shortcut-chip-grid > a, .shortcut-chip-card, .budget-shortcuts > a, .occasion-shortcuts > a { text-decoration: none !important; border-bottom: 0 !important; }
.shortcut-chip-grid > a span, .shortcut-chip-card span { text-decoration: none !important; }
.campaign-page img, .campaign-hero img, .campaign-package-card img { max-width: 100%; height: auto; }
.public-footer { margin-bottom: 0; }
@media (max-width: 767.98px) {
  .home-section { margin-left: 12px !important; margin-right: 12px !important; padding: 24px 18px !important; border-radius: 26px !important; }
  .section-heading-row { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; }
  .section-heading-row h2 { font-size: clamp(2rem, 10vw, 3rem) !important; line-height: 1.05 !important; }
  .featured-category-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; width: 100% !important; overflow: visible !important; }
  .featured-category-card { display: grid !important; grid-template-columns: 118px minmax(0, 1fr) !important; align-items: center !important; gap: 14px !important; width: 100% !important; padding: 14px !important; border-radius: 22px !important; }
  .featured-category-img { width: 118px !important; height: 118px !important; min-width: 118px !important; aspect-ratio: 1/1 !important; border-radius: 18px !important; }
  .featured-category-img img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 8px !important; }
  .featured-category-card h3 { font-size: 1.18rem !important; line-height: 1.15 !important; margin: 0 0 6px !important; }
  .featured-category-card p { display: none !important; }
  .featured-category-card span { font-size: .95rem !important; line-height: 1.3 !important; display: block !important; }
  .page-items-grid, .basket-items-grid.page-items-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; width: 100% !important; }
  .basket-item-card { display: grid !important; grid-template-columns: 132px minmax(0, 1fr) !important; align-items: stretch !important; overflow: hidden !important; border-radius: 22px !important; }
  .basket-item-img { width: 132px !important; min-width: 132px !important; height: 132px !important; aspect-ratio: 1/1 !important; }
  .basket-item-img img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 8px !important; }
  .basket-item-body { padding: 13px !important; min-height: 132px !important; }
  .basket-item-body h3 { font-size: 1rem !important; line-height: 1.22 !important; }
  .catalogue-main { padding-left: 12px !important; padding-right: 12px !important; }
  .item-category-strip { margin-left: 0 !important; padding-bottom: 10px !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .shortcut-chip-grid, .budget-shortcuts, .occasion-shortcuts { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
  .shortcut-chip-grid > a, .shortcut-chip-card { display: grid !important; grid-template-columns: 42px 1fr !important; align-items: center !important; min-height: 64px !important; padding: 13px 15px !important; border-radius: 18px !important; background: #fff !important; color: var(--ww-heading) !important; box-shadow: 0 10px 24px rgba(80,38,24,.06) !important; }
  .shortcut-chip-grid > a i, .shortcut-chip-card i { width: 42px !important; height: 42px !important; display: inline-grid !important; place-items: center !important; background: #fff1e8 !important; border-radius: 14px !important; }
  .custom-hamper-page-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .step-local-actions { position: sticky; bottom: var(--safe-bottom); background: #fff; z-index: 50; padding: 12px 0 calc(12px + var(--safe-bottom)); box-shadow: 0 -12px 24px rgba(80,38,24,.08); }
  .step-local-actions .btn-brown, .step-local-actions .btn-outline-reset { min-height: 54px; }
  .custom-form-card { overflow: visible !important; }
  .custom-hamper-page { padding-bottom: 120px !important; }
  .bottom-cta { padding-left: 12px !important; padding-right: 12px !important; }
}
@media (max-width: 380px) {
  .featured-category-card, .basket-item-card { grid-template-columns: 1fr !important; }
  .featured-category-img, .basket-item-img { width: 100% !important; min-width: 0 !important; height: auto !important; }
}

/* Phase 6B: Join Us and partner application experience */
.join-us-page,.join-apply-page{background:linear-gradient(180deg,#fffaf6 0,#fff 45%,#fff8f2 100%);color:var(--ww-text,#4f3b32)}
.join-hero,.join-apply-hero{padding:clamp(44px,7vw,88px) 20px;background:radial-gradient(circle at 80% 20%,rgba(255,196,154,.34),transparent 34%),linear-gradient(135deg,#4c2419,#7d432f 58%,#a96242);color:#fff;overflow:hidden}
.join-hero-inner,.join-apply-hero-inner,.join-section,.join-apply-layout,.join-trust-strip{width:min(1180px,100%);margin:0 auto}
.join-hero-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:48px;align-items:center}
.join-kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:900;margin-bottom:14px;color:#dc9a72}
.join-hero .join-kicker,.join-apply-hero .join-kicker{color:#ffd3b7}
.join-hero h1,.join-apply-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.55rem,5.4vw,5rem);line-height:.98;letter-spacing:-.045em;margin:0 0 20px;color:#fff;max-width:900px}
.join-hero p,.join-apply-hero p{font-size:clamp(1.02rem,1.5vw,1.25rem);line-height:1.7;color:rgba(255,255,255,.85);max-width:720px}
.join-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.join-hero-actions .btn-brown{background:#fff;color:#5e2c20}.join-hero-actions .btn-outline-reset{border-color:rgba(255,255,255,.6);color:#fff}
.join-hero-visual{position:relative;min-height:390px;border:1px solid rgba(255,255,255,.2);border-radius:42px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);box-shadow:0 30px 80px rgba(37,13,7,.25)}
.join-network-center,.join-network-node{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border-radius:28px;box-shadow:0 20px 40px rgba(37,13,7,.18)}
.join-network-center{width:150px;height:150px;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;color:#65301f}.join-network-center i{font-size:2.6rem;color:#ad5f3f}.join-network-center strong{font-family:'Playfair Display',serif;font-size:1.45rem}
.join-network-node{width:116px;height:96px;background:#fff6ef;color:#5c2d20;font-weight:850}.join-network-node i{font-size:1.7rem;margin-bottom:6px}.node-one{left:24px;top:42px}.node-two{right:22px;top:54px}.node-three{left:50%;bottom:22px;transform:translateX(-50%)}
.join-section{padding:clamp(54px,7vw,90px) 20px}.join-section-heading{max-width:760px;margin:0 auto 38px;text-align:center}.join-section-heading h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;color:#3d1d14}.join-section-heading p{font-size:1.02rem;color:#7b675e}
.join-opportunity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.join-opportunity-card{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid #ead9ce;border-radius:28px;background:#fff;box-shadow:0 18px 45px rgba(91,49,32,.08);transition:.2s ease}.join-opportunity-card:hover{transform:translateY(-5px);box-shadow:0 26px 55px rgba(91,49,32,.13)}
.join-card-icon{width:62px;height:62px;border-radius:21px;display:grid;place-items:center;background:#fff0e7;color:#87432d;font-size:1.55rem;margin-bottom:20px}.join-card-label{font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#aa674b}.join-opportunity-card h3{font-family:'Playfair Display',serif;font-size:1.85rem;color:#3d1d14;margin:7px 0 12px}.join-opportunity-card p{color:#75635b;line-height:1.65}.join-opportunity-card ul{padding:0;margin:8px 0 24px;list-style:none}.join-opportunity-card li{position:relative;padding:8px 0 8px 25px;border-bottom:1px dashed #ead9ce;font-weight:700;color:#5e4a42}.join-opportunity-card li:before{content:'✓';position:absolute;left:0;color:#278046;font-weight:950}.join-card-link{margin-top:auto;text-decoration:none;color:#713824;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px}
.join-process-section{padding-top:20px}.join-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.join-process-step{position:relative;padding:26px 22px;border-radius:24px;background:#fff5ee;border:1px solid #eed8ca}.join-process-step>span{position:absolute;right:18px;top:16px;font-size:2rem;font-weight:950;color:rgba(125,67,47,.13)}.join-process-step i{font-size:1.7rem;color:#944b32}.join-process-step h3{font-size:1.1rem;margin:16px 0 8px;color:#3d1d14}.join-process-step p{font-size:.92rem;color:#78655c;margin:0;line-height:1.6}
.join-trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:70px;background:#ead8cc;border:1px solid #ead8cc;border-radius:26px;overflow:hidden}.join-trust-strip>div{display:grid;grid-template-columns:48px 1fr;column-gap:13px;padding:24px;background:#fff}.join-trust-strip i{grid-row:1/3;width:48px;height:48px;display:grid;place-items:center;border-radius:17px;background:#fff0e6;color:#80402a;font-size:1.25rem}.join-trust-strip strong{color:#3f2117}.join-trust-strip span{font-size:.86rem;color:#7a665d}
.join-apply-hero{padding:46px 20px}.join-apply-hero-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.join-apply-hero h1{font-size:clamp(2.25rem,4.5vw,4.25rem)}.join-back-link{display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none;font-weight:800;margin-bottom:20px}.join-apply-icon{width:126px;height:126px;border-radius:38px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);font-size:3.2rem}
.join-apply-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:28px;padding:46px 20px 80px;align-items:start}.join-info-column{display:grid;gap:18px;position:sticky;top:96px}.join-info-card,.join-form-card{background:#fff;border:1px solid #ead8cd;border-radius:28px;box-shadow:0 18px 45px rgba(79,39,25,.075)}.join-info-card{padding:25px}.join-info-card h2{font-family:'Playfair Display',serif;color:#3e1f15;font-size:1.45rem}.join-info-card ul{list-style:none;padding:0;margin:15px 0 0}.join-info-card li{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:10px 0;border-bottom:1px dashed #ead9ce}.join-info-card li:last-child{border-bottom:0}.join-info-card i{color:#8e4931}.join-info-card span{font-weight:700;line-height:1.5}.join-caution{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:18px;border-radius:20px;background:#fff7df;border:1px solid #efd88e;color:#66521d}.join-caution p{margin:0;font-size:.9rem;line-height:1.55}.vendor-category-cloud{display:flex;flex-wrap:wrap;gap:8px}.vendor-category-cloud span{padding:8px 12px;border-radius:999px;background:#fff0e7;color:#713824;font-size:.82rem;font-weight:800}
.join-form-card{padding:clamp(22px,4vw,38px)}.join-form-head{padding-bottom:20px;border-bottom:1px solid #ead9cf;margin-bottom:24px}.join-form-head>span{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:#a65c40;font-weight:900}.join-form-head h2{font-family:'Playfair Display',serif;font-size:2rem;color:#3d1d14;margin:5px 0}.join-form-head p{margin:0;color:#79665d}.join-form-section-title{font-weight:950;color:#4a261b;font-size:1rem;padding:9px 12px;border-left:4px solid #a15a3d;background:#fff7f1;border-radius:0 10px 10px 0}.join-application-form .form-label{font-weight:800;color:#5a4036}.join-application-form .form-control,.join-application-form .form-select{min-height:50px;border-radius:14px;border-color:#dfcbbf}.join-application-form textarea.form-control{min-height:auto}.join-consent{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-weight:700;color:#5c4b43}.join-consent input{width:18px;height:18px;margin-top:3px}.join-submit-btn{width:100%;min-height:56px;margin-top:22px;display:flex;align-items:center;justify-content:center;gap:10px}.join-privacy-note{text-align:center;color:#7b685f;font-size:.82rem;margin:12px 0 0}.join-success-panel{text-align:center;padding:36px 15px}.join-success-icon{width:78px;height:78px;margin:0 auto 20px;border-radius:26px;display:grid;place-items:center;background:#e9f9ee;color:#1f7b3c;font-size:2.4rem}.join-success-panel h2{font-family:'Playfair Display',serif;color:#3c1e14}.join-success-panel>strong{display:inline-block;padding:12px 20px;border-radius:14px;background:#fff0e7;color:#753a26;font-size:1.25rem;letter-spacing:.05em;margin:6px 0 16px}
@media(max-width:991.98px){.join-hero-inner,.join-apply-layout{grid-template-columns:1fr}.join-hero-visual{min-height:330px}.join-opportunity-grid{grid-template-columns:1fr}.join-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.join-info-column{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.join-caution,.vendor-category-cloud{grid-column:1/-1}}
@media(max-width:767.98px){.join-hero,.join-apply-hero{padding-left:16px;padding-right:16px}.join-hero h1,.join-apply-hero h1{font-size:2.55rem}.join-hero-visual{min-height:300px}.join-network-center{width:125px;height:125px}.join-network-node{width:96px;height:82px;font-size:.8rem}.node-one{left:10px}.node-two{right:10px}.join-section,.join-apply-layout{padding-left:14px;padding-right:14px}.join-process-grid,.join-trust-strip,.join-info-column{grid-template-columns:1fr}.join-trust-strip{margin-left:14px;margin-right:14px}.join-apply-hero-inner{grid-template-columns:1fr}.join-apply-icon{display:none}.join-opportunity-card,.join-form-card{border-radius:22px}.join-form-card{padding:20px 16px}}

/* ==========================================================
   PHASE 6B.1: confirmation-first public forms + contrast safety
   Keeps submitted forms hidden, moves attention to the response,
   and preserves readable text across editable theme colours.
========================================================== */
:root {
  --ww-primary-text: #ffffff;
  --ww-primary-dark-text: #ffffff;
  --ww-button-text: #ffffff;
  --ww-accent-text: #ffffff;
  --ww-gold-text: #23150f;
}

/* Primary actions must remain readable even when the admin changes theme colours. */
.btn-brown,
a.btn-brown,
button.btn-brown,
input.btn-brown {
  background: var(--ww-button, var(--ww-brown)) !important;
  color: var(--ww-button-text, #fff) !important;
  border: 1px solid color-mix(in srgb, var(--ww-button, var(--ww-brown)) 82%, #000 18%) !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
.btn-brown:hover,
.btn-brown:focus,
.btn-brown:active {
  color: var(--ww-button-text, #fff) !important;
}
.btn-brown:disabled,
.btn-brown.disabled,
.btn-brown[aria-disabled="true"] {
  color: var(--ww-button-text, #fff) !important;
  opacity: .62;
}

/* Secondary actions use a fixed high-contrast neutral treatment. */
.btn-outline-reset,
a.btn-outline-reset,
button.btn-outline-reset {
  background: #fff !important;
  border-color: #bfaea2 !important;
  color: #3f2b22 !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
.btn-outline-reset:hover,
.btn-outline-reset:focus,
.btn-outline-reset:active {
  background: #f7eee8 !important;
  border-color: #8f7465 !important;
  color: #2d1d16 !important;
}
.btn-outline-reset:disabled,
.btn-outline-reset.disabled {
  color: #5f514a !important;
  background: #f4f1ef !important;
  opacity: .7;
}

/* Active filters and pills inherit an automatically calculated text colour. */
.type-chip.active,
.chip.active,
.item-category-chip.active,
.filter-chip.active,
.guided-step-dot.active,
.guided-step-dot.completed,
.guided-step-dot.done.active {
  background: var(--ww-brown) !important;
  border-color: var(--ww-brown) !important;
  color: var(--ww-primary-text, #fff) !important;
}
.guided-step-dot.active,
#customHamperForm .guided-step-dot.active {
  background: var(--ww-accent) !important;
  border-color: var(--ww-accent) !important;
  color: var(--ww-accent-text, #fff) !important;
}
.rakhi-price-chip {
  background: var(--ww-accent) !important;
  color: var(--ww-accent-text, #fff) !important;
}
.filter-badge,
.item-count-badge {
  color: #fff !important;
}
.hamper-sale-badge,
.detail-badge {
  color: var(--ww-gold-text, #23150f) !important;
}
.btn-choose:active {
  color: var(--ww-primary-text, #fff) !important;
}

/* Normal pill states receive explicit foreground colours instead of inheriting them. */
.type-chip,
.chip,
.item-category-chip,
.filter-chip,
.tag-pill-sm,
.gift-summary-pill,
.vendor-category-cloud span,
.rakhi-trust-row span,
.detail-badge,
.detail-suitable,
.hamper-suitable-line {
  color: #4a2b20 !important;
}
.type-chip:focus-visible,
.chip:focus-visible,
.item-category-chip:focus-visible,
.filter-chip:focus-visible,
.btn-brown:focus-visible,
.btn-outline-reset:focus-visible,
.btn-hero-whatsapp:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ww-accent) 45%, #fff 55%) !important;
  outline-offset: 2px;
}

/* White-outline actions on dark hero areas must not retain a white background. */
.join-hero-actions .btn-outline-reset,
.join-apply-hero .btn-outline-reset {
  background: transparent !important;
  border-color: rgba(255,255,255,.78) !important;
  color: #fff !important;
}
.join-hero-actions .btn-outline-reset:hover,
.join-hero-actions .btn-outline-reset:focus,
.join-apply-hero .btn-outline-reset:hover,
.join-apply-hero .btn-outline-reset:focus {
  background: #fff !important;
  color: #4b251a !important;
}

/* Submitted forms are always removed from layout, even when older CSS has display rules. */
form.ajax-submitted,
form.ajax-form[hidden],
.ajax-form.ajax-submitted,
.ajax-form[aria-hidden="true"] {
  display: none !important;
  visibility: hidden !important;
}

.public-confirmation-panel {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid #b9dfc4;
  border-radius: 26px;
  background: linear-gradient(145deg, #f4fff7 0%, #ffffff 62%, #fffaf5 100%);
  color: #2f211b;
  box-shadow: 0 20px 55px rgba(42,91,55,.12);
  text-align: left;
}
.public-confirmation-panel:focus {
  outline: 4px solid rgba(39,128,70,.2);
  outline-offset: 3px;
}
.public-confirmation-icon {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 24px;
  background: #def7e5;
  color: #176a35;
  font-size: 2.35rem;
}
.public-confirmation-panel h2 {
  margin: 4px 0 10px;
  color: #2f1a13 !important;
  font-family: var(--ww-heading-font, Georgia, serif);
  font-size: clamp(1.7rem, 4vw, 2.55rem);
  line-height: 1.08;
}
.public-confirmation-message {
  margin: 0 0 18px;
  color: #5b4940;
  font-size: 1.02rem;
  line-height: 1.65;
}
.public-confirmation-reference {
  display: grid;
  gap: 4px;
  padding: 18px 20px;
  margin: 18px 0;
  border: 1px dashed #c98d69;
  border-radius: 18px;
  background: #fff7f1;
}
.public-confirmation-reference small {
  color: #76594a;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.public-confirmation-reference strong {
  color: #542718;
  font-size: clamp(1.25rem, 4vw, 1.7rem);
  letter-spacing: .045em;
  overflow-wrap: anywhere;
}
.public-confirmation-reference span {
  color: #6e5b51;
  font-size: .88rem;
}
.public-confirmation-next {
  padding: 18px 20px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e9ddd4;
}
.public-confirmation-next > strong {
  color: #3c241b;
}
.public-confirmation-next ol {
  margin: 10px 0 0;
  padding-left: 1.25rem;
  color: #5b4940;
}
.public-confirmation-next li + li { margin-top: 7px; }
.public-confirmation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.public-confirmation-actions .btn-brown,
.public-confirmation-actions .btn-outline-reset {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* Error and confirmation blocks get keyboard focus after submission. */
.ajax-form-message:focus,
.alert[tabindex="-1"]:focus {
  outline: 3px solid rgba(165,31,122,.2);
  outline-offset: 2px;
}

@media (max-width: 575.98px) {
  .public-confirmation-panel {
    padding: 22px 17px;
    border-radius: 22px;
  }
  .public-confirmation-icon {
    width: 60px;
    height: 60px;
    border-radius: 19px;
    font-size: 2rem;
  }
  .public-confirmation-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .public-confirmation-actions .btn-brown,
  .public-confirmation-actions .btn-outline-reset {
    width: 100%;
  }
}

/* 6B.1 theme text fallback for light admin-selected colours. */
:root {
  --ww-primary-readable: #6b3f2a;
  --ww-accent-readable: #7b245d;
}
.hero-kicker {
  color: var(--ww-accent-readable, #7b245d) !important;
}
.campaign-card span,
.read-more,
.public-hero-points strong {
  color: var(--ww-primary-readable, #6b3f2a) !important;
}
.btn-brown:disabled,
.btn-brown.disabled,
.btn-brown[aria-disabled="true"] { opacity: .78; }

/* Phase 6B.2 controlled CMS sections */
.cms-page-sections,.cms-homepage-sections{display:block;width:100%}.cms-content-section{margin:1.25rem auto;border-radius:24px;overflow:hidden}.cms-section-container{width:min(1180px,calc(100% - 28px))}.cms-section-full{width:100%;border-radius:0}.cms-section-inner{padding:clamp(1.4rem,3vw,3rem)}.cms-style-default{background:#fff}.cms-style-soft{background:#fff8f1}.cms-style-accent{background:var(--accent-soft,#f8e6d5)}.cms-style-dark{background:#2e211c;color:#fff}.cms-style-outline{background:#fff;border:1px solid rgba(73,43,29,.16)}.cms-style-dark h2,.cms-style-dark h3,.cms-style-dark p,.cms-style-dark .cms-section-content{color:#fff}.cms-section-heading,.cms-copy-centered{text-align:center;max-width:820px;margin-inline:auto}.cms-section-copy h2,.cms-section-heading h2{font-size:clamp(1.65rem,3vw,2.55rem);margin:.45rem 0 .75rem}.cms-section-subtitle{font-size:1.06rem;opacity:.82;max-width:760px}.cms-section-content{line-height:1.75}.cms-section-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.cms-copy-centered .cms-section-actions,.cms-section-heading+.cms-feature-grid+.cms-section-actions,.cms-section-heading+.cms-stats-grid+.cms-section-actions{justify-content:center}.cms-image-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}.cms-image-left .cms-section-media{order:-1}.cms-section-media img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:20px}.cms-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.cms-feature-card{display:block;padding:1.25rem;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(73,43,29,.12);color:inherit;text-decoration:none}.cms-feature-card h3{font-size:1.05rem;margin-bottom:.5rem}.cms-feature-card p{margin:0;opacity:.78}.cms-feature-card span{display:inline-block;margin-top:.8rem;font-weight:700}.cms-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.cms-stat-card{padding:1.35rem;text-align:center;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(73,43,29,.12)}.cms-stat-card strong{display:block;font-size:clamp(1.6rem,3vw,2.4rem)}.cms-stat-card span{display:block;opacity:.75;margin-top:.25rem}.cms-divider{height:1px;background:rgba(73,43,29,.15);margin:1rem 0}.cms-hide-desktop{display:none!important}
@media(max-width:767.98px){.cms-section-container{width:min(100% - 18px,1180px)}.cms-content-section{border-radius:18px;margin:.8rem auto}.cms-section-inner{padding:1.25rem}.cms-image-text{grid-template-columns:1fr}.cms-image-left .cms-section-media{order:0}.cms-feature-grid,.cms-stats-grid{grid-template-columns:1fr}.cms-section-actions>*{width:100%;text-align:center}.cms-hide-desktop{display:block!important}.cms-hide-mobile{display:none!important}}
@media(min-width:768px){.cms-hide-desktop{display:none!important}}

/* ==========================================================
   PHASE 6B.3: CMS width, dynamic icons/footer and page endings
========================================================== */
.cms-created-page,
.policy-page-wrap {
  width: min(100%, calc(var(--ww-content-max, 1440px) + (var(--ww-page-pad, 24px) * 2))) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-left: var(--ww-page-pad, 24px) !important;
  padding-right: var(--ww-page-pad, 24px) !important;
}
.cms-created-page .website-page-card,
.policy-page-wrap .website-page-card {
  width: 100%;
  max-width: var(--ww-content-max, 1440px) !important;
  margin-inline: auto;
  padding: clamp(22px, 3vw, 44px);
}
.cms-created-page .cms-page-sections,
.policy-page-wrap .cms-page-sections,
.cms-page-sections .cms-section-container,
.cms-homepage-sections .cms-section-container {
  width: 100%;
  max-width: var(--ww-content-max, 1440px);
  margin-inline: auto;
}
.cms-content-section.cms-section-container {
  width: 100%;
}
.cms-created-page .contact-page-grid,
.cms-created-page .faq-section,
.cms-created-page .blog-teaser-section,
.cms-created-page .page-prefooter-cta,
.policy-page-wrap .contact-page-grid,
.policy-page-wrap .faq-section,
.policy-page-wrap .blog-teaser-section,
.policy-page-wrap .page-prefooter-cta {
  width: 100%;
  max-width: var(--ww-content-max, 1440px);
  margin-inline: auto;
}
.page-featured-img {
  width: min(100%, 1040px);
  aspect-ratio: 16 / 7;
}

.page-prefooter-cta {
  margin-top: clamp(28px, 5vw, 58px) !important;
  margin-bottom: 0;
  border: 1px solid var(--ww-border, #ead8c9);
  border-radius: 28px;
  background:
    radial-gradient(circle at 90% 10%, rgba(255,255,255,.88), transparent 28%),
    linear-gradient(135deg, #fff7ef, #f5e2d4);
  box-shadow: 0 18px 46px rgba(80,38,24,.09);
  overflow: hidden;
}
.page-prefooter-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: clamp(24px, 4vw, 46px);
}
.page-prefooter-inner h2 {
  margin: .35rem 0 .55rem;
  color: var(--ww-heading);
  font-family: var(--ww-heading-font, Georgia, serif);
  font-size: clamp(1.7rem, 3vw, 2.55rem);
}
.page-prefooter-inner p { margin: 0; max-width: 760px; color: #665247; line-height: 1.7; }
.page-prefooter-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.page-prefooter-actions a { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }

.cms-icon { flex: 0 0 auto; }
.cms-icon-image {
  display: block;
  width: 1.35em;
  height: 1.35em;
  object-fit: contain;
}
.mobile-app-grid a .mobile-menu-icon,
.mobile-app-grid a i.mobile-menu-icon,
.mobile-app-grid a .cms-icon-emoji,
.mobile-app-grid a .cms-icon-image {
  display: grid !important;
  place-items: center;
  width: 48px !important;
  height: 48px !important;
  padding: 0;
  border-radius: 16px;
  background: #fff1e8;
  color: var(--ww-primary-readable, var(--ww-brown));
  font-size: 1.45rem;
  line-height: 1;
  object-fit: contain;
}
.mobile-app-grid a .cms-icon-image { padding: 8px; }
.mobile-app-grid a:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--ww-brown) 35%, white); }
.mobile-app-grid a:focus-visible { outline: 3px solid color-mix(in srgb, var(--ww-accent) 28%, transparent); outline-offset: 2px; }

.dynamic-footer { padding-inline: var(--ww-page-pad, 24px) !important; }
.dynamic-footer-grid {
  width: 100%;
  max-width: var(--ww-content-max, 1440px) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
}
.footer-section { min-width: 0; }
.footer-span-2 { grid-column: span 2; }
.footer-span-3 { grid-column: span 3; }
.footer-section-icon { margin-bottom: 12px; }
.footer-icon { width: 44px !important; height: 44px !important; display: grid; place-items: center; object-fit: contain; font-size: 1.55rem; }
.footer-link-icon { display: inline-grid !important; width: 22px; height: 22px; margin-right: 7px; vertical-align: middle; place-items: center; object-fit: contain; }
.footer-social-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.premium-footer .footer-social-links a {
  display: inline-flex;
  width: 39px;
  height: 39px;
  align-items: center;
  justify-content: center;
  margin: 0;
  border-radius: 13px;
  background: rgba(255,255,255,.1);
}
.footer-custom-content { color: rgba(255,255,255,.74); line-height: 1.65; }
.footer-text-button { display: inline-flex !important; width: fit-content; padding: 9px 14px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; }
.footer-hide-desktop { display: none !important; }
.footer-bottom { max-width: var(--ww-content-max, 1440px); }

.join-cms-content { line-height: 1.75; }
.join-cms-content h2,
.join-cms-content h3 { color: var(--ww-heading); margin-top: 1.2em; }
.join-cms-featured { width: 100%; max-height: 540px; object-fit: cover; border-radius: 24px; }

@media (max-width: 991.98px) {
  .cms-created-page,
  .policy-page-wrap { --ww-page-pad: 16px; }
  .page-prefooter-inner { grid-template-columns: 1fr; }
  .page-prefooter-actions { justify-content: flex-start; }
  .dynamic-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .footer-span-3 { grid-column: span 2; }
  .footer-hide-desktop { display: block !important; }
  .footer-hide-mobile { display: none !important; }
}
@media (min-width: 992px) {
  .footer-hide-desktop { display: none !important; }
}
@media (max-width: 575.98px) {
  .cms-created-page,
  .policy-page-wrap { --ww-page-pad: 12px; padding-top: 14px !important; }
  .cms-created-page .website-page-card,
  .policy-page-wrap .website-page-card { padding: 18px; border-radius: 18px; }
  .page-featured-img { aspect-ratio: 16 / 9; }
  .page-prefooter-cta { border-radius: 20px; }
  .page-prefooter-inner { padding: 22px 18px; }
  .page-prefooter-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .page-prefooter-actions a { width: 100%; }
  .dynamic-footer { padding-inline: 16px !important; }
  .dynamic-footer-grid { grid-template-columns: 1fr !important; gap: 24px; }
  .footer-span-2,.footer-span-3 { grid-column: span 1; }
}

/* 6B.3 wide template canvas for fixed Join Us routes as well. */
.join-hero-inner,
.join-apply-hero-inner,
.join-section,
.join-apply-layout,
.join-trust-strip,
.join-cms-sections {
  width: min(var(--ww-content-max, 1440px), calc(100% - (var(--ww-page-pad, 24px) * 2))) !important;
  max-width: none !important;
}
.join-section,
.join-apply-layout { padding-left: 0 !important; padding-right: 0 !important; }
.join-cms-sections { margin-inline: auto; }
.join-hero-cms-image { width:100%; max-height:520px; object-fit:cover; border-radius:30px; box-shadow:0 22px 54px rgba(30,13,8,.24); }
.join-page-intro-content { margin-top:18px; color:rgba(255,255,255,.88); line-height:1.7; }
.join-page-intro-content a { color:#fff; }
@media(max-width:767.98px){
  .join-hero-inner,.join-apply-hero-inner,.join-section,.join-apply-layout,.join-trust-strip,.join-cms-sections { width:calc(100% - 24px) !important; }
}

/* 6B.3 menu icon visibility helpers. */
.site-nav a { display:inline-flex; align-items:center; gap:6px; }
.header-menu-icon { width:1.05em; height:1.05em; display:inline-grid; place-items:center; object-fit:contain; font-size:1em; }
.footer-link-hide-desktop { display:none !important; }
@media(max-width:991.98px){
  .footer-link-hide-desktop { display:flex !important; }
  .footer-link-hide-mobile { display:none !important; }
}
@media(min-width:992px){
  .footer-link-hide-desktop { display:none !important; }
}
