:root {
  /* Bhagwa-first palette: SAFFRON leads everywhere; deep brown is only used for text and small dark accents. */
  --saffron: #ff7a00;
  --saffron-dark: #e65100;
  --gold: #ffc83d;
  --green-dark: #4a1d0a;   /* name kept for compatibility: deep brown (text / dark accents) */
  --green: #e65100;        /* deep saffron */
  --green-light: #ff9a1f;
  --orange: #ff8f1f;
  --cream: #fff7ec;
  --text: #2b1810;
  --font-display: 'Plus Jakarta Sans', 'Poppins', sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  height: 100%;
}

body {
  font-family: 'Poppins', sans-serif;
  color: var(--text);
  background: var(--cream);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-x: hidden;
  position: relative;
  padding-top: 112px;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
}

.topbar {
  background: linear-gradient(90deg, var(--saffron-dark), var(--saffron), var(--gold));
  background-size: 200% 100%;
  animation: shift 8s ease-in-out infinite;
}

.topbar-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 20px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 10px 32px;
}

@keyframes shift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.topbar-left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 24px;
}

.topbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

.topbar-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  opacity: 0.96;
  transition: opacity 0.2s ease;
}

.topbar-item:hover {
  opacity: 1;
  text-decoration: underline;
}

.topbar-item svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: #fff;
}

.social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  color: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.social-icon svg {
  width: 15px;
  height: 15px;
}

.social-icon:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.social-icon.whatsapp { background: #25d366; }
.social-icon.facebook { background: #1877f2; }
.social-icon.instagram {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

.navbar {
  background: #fff;
  box-shadow: 0 4px 14px rgba(193, 88, 7, 0.08);
}

.navbar-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px 32px;
}

.nav-logo {
  display: flex;
  align-items: center;
  justify-self: start;
  flex-shrink: 0;
}

.nav-logo img {
  height: 114px;
  width: auto;
}

.nav-search {
  justify-self: stretch;
  width: 100%;
  max-width: 680px;
  display: flex;
  align-items: center;
  gap: 11px;
  background: var(--cream);
  border: 1px solid rgba(193, 88, 7, 0.15);
  border-radius: 999px;
  padding: 16px 22px;
}

.nav-search svg {
  width: 21px;
  height: 21px;
  flex-shrink: 0;
  color: var(--saffron-dark);
}

.search-input-area {
  position: relative;
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
}

.nav-search input {
  position: relative;
  z-index: 2;
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  outline: none;
  font-family: 'Poppins', sans-serif;
  font-size: 0.94rem;
  color: var(--text);
}

.search-placeholder {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  font-family: 'Poppins', sans-serif;
  font-size: 0.94rem;
  color: #a8968a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.search-placeholder b {
  font-weight: 600;
  color: var(--saffron-dark);
}

.search-placeholder.fade-out {
  opacity: 0;
  transform: translateY(-50%) translateY(6px);
}

.search-input-area.hide-placeholder .search-placeholder {
  opacity: 0;
  pointer-events: none;
}

.nav-search input::placeholder {
  color: #a8968a;
}

.nav-right {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 26px;
  flex-shrink: 0;
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--saffron-dark);
  font-weight: 600;
  font-size: 0.88rem;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}

.nav-link svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.nav-link:hover {
  opacity: 0.75;
}

.nav-cart {
  position: relative;
  display: flex;
  align-items: center;
  color: var(--text);
  flex-shrink: 0;
  transition: opacity 0.2s ease;
}

.nav-cart svg {
  width: 27px;
  height: 27px;
}

.nav-cart:hover {
  opacity: 0.75;
}

.cart-count {
  position: absolute;
  top: -8px;
  right: -10px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--saffron);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
}

.mobile-menu-bar {
  display: none;
  justify-content: flex-start;
  background: #fff;
  border-top: 1px solid rgba(193, 88, 7, 0.10);
  border-bottom: 1px solid rgba(193, 88, 7, 0.10);
}

.hamburger {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border: none;
  background: none;
  color: var(--saffron-dark);
  cursor: pointer;
}

.hamburger svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.mobile-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(43, 28, 18, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mobile-overlay.active {
  opacity: 1;
  visibility: visible;
}

.mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  width: 300px;
  max-width: 85vw;
  height: 100%;
  background: #fff;
  box-shadow: -10px 0 30px rgba(43, 28, 18, 0.18);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  overflow-y: auto;
}

.mobile-drawer.active {
  transform: translateX(0);
}

.mobile-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(193, 88, 7, 0.12);
  flex-shrink: 0;
}

.mobile-drawer-header img {
  height: 42px;
  width: auto;
}

.drawer-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 153, 51, 0.10);
  color: var(--saffron-dark);
  cursor: pointer;
}

.drawer-close svg {
  width: 18px;
  height: 18px;
}

.mobile-drawer-nav {
  display: flex;
  flex-direction: column;
  padding: 10px 10px 4px;
}

.mobile-drawer-nav > a {
  padding: 13px 12px;
  border-radius: 8px;
  font-size: 0.94rem;
  font-weight: 600;
  color: var(--text);
  text-decoration: none;
}

.mobile-drawer-nav > a.active {
  color: var(--saffron-dark);
}

.mobile-drawer-nav > a:hover {
  background: rgba(255, 153, 51, 0.08);
}

.mobile-drawer-group {
  display: flex;
  flex-direction: column;
  padding: 6px 0;
}

.mobile-drawer-group > span {
  padding: 12px 12px 4px;
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--saffron-dark);
}

.mobile-drawer-group a {
  padding: 10px 12px 10px 22px;
  border-radius: 8px;
  font-size: 0.88rem;
  color: var(--text);
  text-decoration: none;
}

.mobile-drawer-group a:hover {
  background: rgba(255, 153, 51, 0.08);
}

.mobile-drawer-footer {
  margin-top: auto;
  padding: 18px;
  border-top: 1px solid rgba(193, 88, 7, 0.12);
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
}

.mobile-drawer-footer > a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.86rem;
  font-weight: 500;
  color: var(--text);
  text-decoration: none;
}

.mobile-drawer-footer > a svg {
  width: 18px;
  height: 18px;
  color: var(--saffron-dark);
  flex-shrink: 0;
}

.mobile-social {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}

.category-nav {
  position: relative;
  background: #fbf6f0;
  border-top: 1px solid rgba(193, 88, 7, 0.10);
  border-bottom: 1px solid rgba(193, 88, 7, 0.10);
}

.category-nav::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 36px;
  background: linear-gradient(90deg, transparent, #fbf6f0 85%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.category-nav.has-scroll::after {
  opacity: 1;
}

.hero-slider {
  position: relative;
  z-index: 1;
  width: 100%;
  background: #fff;
}

.heroSwiper img {
  width: 100%;
  height: auto;
  display: block;
}

.heroSwiper .swiper-pagination-bullet {
  background: #fff;
  opacity: 0.7;
}

.heroSwiper .swiper-pagination-bullet-active {
  background: var(--saffron);
  opacity: 1;
}

.heroSwiper .swiper-button-prev,
.heroSwiper .swiper-button-next {
  width: 40px;
  height: 40px;
  margin-top: -20px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  color: var(--saffron-dark);
  box-shadow: 0 4px 12px rgba(43, 28, 18, 0.15);
}

.heroSwiper .swiper-button-prev::after,
.heroSwiper .swiper-button-next::after {
  font-size: 16px;
  font-weight: 700;
}

@media (max-width: 600px) {
  .heroSwiper .swiper-button-prev,
  .heroSwiper .swiper-button-next {
    display: none;
  }
}

.trust-bar {
  position: relative;
  z-index: 1;
  width: 100%;
  background: linear-gradient(135deg, var(--green-dark), var(--green));
}

.trust-bar-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px 32px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1 0;
  min-width: 0;
  padding-right: 16px;
  border-right: 1px solid rgba(255, 255, 255, 0.25);
}

.trust-item:last-child {
  border-right: none;
  padding-right: 0;
}

.trust-item svg {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  color: var(--gold);
}

.trust-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.trust-text strong {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
}

.trust-text span {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.78rem;
  font-weight: 500;
}

@media (max-width: 768px) {
  .trust-bar-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 16px;
    gap: 0;
  }
  .trust-item {
    min-width: 0;
    padding: 14px 12px;
    border-right: 1px solid rgba(255, 255, 255, 0.25);
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  }
  .trust-item:nth-child(2n) {
    border-right: none;
    padding-right: 0;
  }
  .trust-item:nth-child(2n+1) {
    padding-left: 0;
  }
  .trust-item:nth-last-child(-n+2) {
    border-bottom: none;
  }
  .trust-item svg { width: 24px; height: 24px; }
  .trust-text strong { font-size: 0.92rem; }
  .trust-text span { font-size: 0.72rem; }
}

.category-icons {
  position: relative;
  z-index: 1;
  width: 100%;
  background: #fff;
  border-top: 1px solid var(--saffron);
}

.category-icons-inner {
  width: 100%;
  padding: 32px 48px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px;
}

.category-icons-inner::-webkit-scrollbar {
  display: none;
}

.cat-icon-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 130px;
  flex-shrink: 0;
  text-decoration: none;
  color: var(--text);
  transition: transform 0.2s ease;
}

.cat-icon-card:hover {
  transform: translateY(-4px);
}

.cat-icon-card img {
  width: 100px;
  height: 100px;
  object-fit: contain;
  border-radius: 16px;
  background: #ffe28a;
  border: 1px solid rgba(193, 88, 7, 0.25);
  padding: 8px;
}

.cat-icon-card span {
  font-size: 0.85rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
}

.cat-icon-card:hover span {
  color: var(--saffron-dark);
}

.cat-icon-more {
  display: none;
}

.more-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  border-radius: 16px;
  background: #ffe28a;
  border: 1px dashed rgba(193, 88, 7, 0.4);
  color: var(--saffron-dark);
}

.more-icon svg {
  width: 34px;
  height: 34px;
}

.more-label {
  font-size: 0.85rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
  color: var(--saffron-dark);
}

.category-nav-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 26px;
  overflow-x: auto;
  scrollbar-width: none;
}

.category-nav-inner::-webkit-scrollbar {
  display: none;
}

.category-nav-inner > a,
.category-item > a {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  padding: 12px 0;
  font-size: 0.86rem;
  font-weight: 500;
  color: var(--text);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.category-nav-inner > a:hover,
.category-item > a:hover {
  color: var(--saffron-dark);
}

.category-nav-inner > a.active,
.category-item > a.active {
  color: var(--saffron-dark);
  font-weight: 700;
  border-bottom-color: var(--saffron);
}

.category-item {
  position: relative;
  flex-shrink: 0;
}

.chevron {
  width: 13px;
  height: 13px;
  transition: transform 0.2s ease;
}

.category-item:hover .chevron,
.category-item.open .chevron {
  transform: rotate(180deg);
}

.submenu {
  position: fixed;
  min-width: 240px;
  background: #fff;
  border: 1px solid rgba(193, 88, 7, 0.14);
  border-radius: 12px;
  box-shadow: 0 14px 30px rgba(43, 28, 18, 0.12);
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index: 30;
}

.category-item:hover .submenu,
.category-item:focus-within .submenu,
.category-item.open .submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.submenu.mega {
  display: grid;
  grid-template-columns: repeat(3, minmax(190px, 1fr));
  gap: 2px 8px;
  min-width: 620px;
}

.submenu a {
  padding: 10px 12px;
  border-radius: 7px;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--text);
  text-decoration: none;
  white-space: normal;
  transition: background 0.15s ease, color 0.15s ease;
}

.submenu a:hover {
  background: rgba(255, 153, 51, 0.10);
  color: var(--saffron-dark);
}

.business-needs {
  position: relative;
  z-index: 1;
  width: 100%;
  flex-shrink: 0;
  background: #fff;
  border-top: 1px solid rgba(193, 88, 7, 0.10);
}

.business-needs-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 32px;
}

.business-needs-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}

.business-needs-card {
  display: flex;
  flex-direction: column;
  background: var(--cream);
  border: 1px solid rgba(193, 88, 7, 0.10);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.business-needs-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(43, 28, 18, 0.10);
}

.business-needs-card img {
  width: 100%;
  height: 160px;
  object-fit: contain;
  background: #fff;
  padding: 20px;
}

.business-needs-text {
  padding: 4px 20px 24px;
}

.business-needs-text h3 {
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 6px;
}

.business-needs-text p {
  font-size: 0.86rem;
  line-height: 1.6;
  color: #5a4a3f;
}

.testimonials {
  position: relative;
  z-index: 1;
  width: 100%;
  flex-shrink: 0;
  background: #fff;
  border-top: 1px solid rgba(193, 88, 7, 0.10);
}

.testimonials-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 32px;
}

.testimonials-slider {
  position: relative;
}

.testimonialsSwiper {
  padding: 4px 0 52px;
}

@media (min-width: 901px) {
  .testimonialsSwiper {
    width: calc(100% - 112px);
    margin: 0 auto;
  }
}

.testimonial-card {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--cream);
  border: 1px solid rgba(193, 88, 7, 0.10);
  border-radius: 16px;
  padding: 28px 24px;
}

.testimonial-quote {
  width: 30px;
  height: 30px;
  color: var(--saffron);
  opacity: 0.5;
  margin-bottom: 8px;
}

.testimonial-stars {
  display: flex;
  gap: 3px;
  margin-bottom: 14px;
}

.testimonial-stars svg {
  width: 16px;
  height: 16px;
  color: var(--gold);
}

.testimonial-text {
  font-size: 0.9rem;
  line-height: 1.65;
  color: #5a4a3f;
  flex-grow: 1;
  margin-bottom: 20px;
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.testimonial-author-info {
  display: flex;
  flex-direction: column;
}

.testimonial-author-info strong {
  font-size: 0.92rem;
  color: var(--text);
}

.testimonial-author-info span {
  font-size: 0.78rem;
  color: var(--saffron-dark);
}

.testimonialsSwiper .testimonials-pagination {
  bottom: 0;
}

.testimonialsSwiper .testimonials-pagination .swiper-pagination-bullet {
  background: var(--saffron-dark);
  opacity: 0.3;
}

.testimonialsSwiper .testimonials-pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

.testimonials-button-prev,
.testimonials-button-next {
  width: 40px;
  height: 40px;
  margin-top: -20px;
  background: #fff;
  border: 1px solid rgba(193, 88, 7, 0.15);
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(43, 28, 18, 0.10);
  color: var(--saffron-dark);
}

.testimonials-button-prev::after,
.testimonials-button-next::after {
  font-size: 16px;
  font-weight: 700;
}

.testimonials-button-prev {
  left: 0;
}

.testimonials-button-next {
  right: 0;
}

@media (max-width: 900px) {
  .testimonials-button-prev,
  .testimonials-button-next {
    display: none;
  }
}

@media (max-width: 600px) {
  .testimonials-inner { padding: 40px 20px; }
  .testimonial-card { padding: 22px 20px; }
}

.about-faq {
  position: relative;
  z-index: 1;
  width: 100%;
  flex-shrink: 0;
  background: var(--cream);
  border-top: 1px solid rgba(193, 88, 7, 0.10);
}

.about-faq-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 56px 32px;
}

.about-block {
  margin-bottom: 48px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(193, 88, 7, 0.14);
}

.about-block h2,
.faq-block h2 {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 3vw, 1.8rem);
  font-weight: 400;
  color: var(--green-dark);
  margin-bottom: 16px;
}

.about-block p {
  font-size: 0.94rem;
  line-height: 1.75;
  color: #4a4038;
  margin-bottom: 14px;
}

.about-more {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.4s ease;
}

.about-more.expanded {
  max-height: 400px;
  opacity: 1;
}

.read-more-btn {
  border: none;
  background: none;
  padding: 0;
  color: var(--saffron-dark);
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  text-decoration: underline;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.faq-item {
  background: #fff;
  border: 1px solid rgba(193, 88, 7, 0.12);
  border-radius: 12px;
  overflow: hidden;
}

.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border: none;
  background: none;
  text-align: left;
  font-family: 'Poppins', sans-serif;
  font-size: 0.94rem;
  font-weight: 600;
  color: var(--text);
  cursor: pointer;
}

.faq-chevron {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--saffron-dark);
  transition: transform 0.25s ease;
}

.faq-item.open .faq-chevron {
  transform: rotate(180deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.faq-item.open .faq-answer {
  max-height: 200px;
}

.faq-answer p {
  padding: 0 20px 18px;
  font-size: 0.88rem;
  line-height: 1.65;
  color: #5a4a3f;
}

@media (max-width: 600px) {
  .about-faq-inner { padding: 40px 20px; }
  .about-block { margin-bottom: 36px; padding-bottom: 28px; }
  .faq-question { padding: 14px 16px; font-size: 0.88rem; }
}

@media (max-width: 1100px) {
  .business-needs-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
  .business-needs-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .business-needs-inner { padding: 40px 20px; }
  .business-needs-grid { grid-template-columns: 1fr; gap: 16px; }
  .business-needs-card img { height: 140px; }
}

.why-us {
  position: relative;
  z-index: 1;
  width: 100%;
  background: var(--cream);
}

.why-us-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 32px;
}

.why-us-heading {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 40px;
}

.why-us-eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--saffron-dark);
  margin-bottom: 10px;
}

.why-us-heading h2 {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.4vw, 2.2rem);
  font-weight: 400;
  color: var(--green-dark);
  margin-bottom: 10px;
}

.why-us-heading p {
  font-size: 0.95rem;
  color: #4a584f;
  line-height: 1.6;
}

.why-us-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.why-us-card {
  background: #fff;
  border: 1px solid rgba(193, 88, 7, 0.10);
  border-radius: 16px;
  padding: 28px 24px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.why-us-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(43, 28, 18, 0.10);
}

.why-us-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 12px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, var(--saffron), var(--saffron-dark));
  color: #fff;
}

.why-us-icon svg {
  width: 26px;
  height: 26px;
}

.why-us-card h3 {
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 8px;
}

.why-us-card p {
  font-size: 0.86rem;
  line-height: 1.6;
  color: #5a4a3f;
}

@media (max-width: 900px) {
  .why-us-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .why-us-inner { padding: 40px 20px; }
  .why-us-grid { grid-template-columns: 1fr; gap: 16px; }
  .why-us-card { padding: 22px 20px; }
}

.industries {
  position: relative;
  z-index: 1;
  width: 100%;
  flex-shrink: 0;
  background: #fff;
  border-top: 1px solid rgba(193, 88, 7, 0.10);
  padding: 48px 0;
  overflow: hidden;
}

.industries-heading {
  text-align: center;
  margin-bottom: 32px;
  padding: 0 24px;
}

.industries-heading h2 {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.4vw, 2.2rem);
  font-weight: 400;
  color: var(--green-dark);
}

.industriesSwiper {
  width: 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.industriesSwiper .swiper-wrapper {
  transition-timing-function: linear !important;
}

.industry-item {
  width: 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.industry-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid rgba(193, 88, 7, 0.12);
  box-shadow: 0 8px 22px rgba(43, 28, 18, 0.10);
  color: var(--saffron-dark);
}

.industry-icon svg {
  width: 56px;
  height: 56px;
}

.industry-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 50%;
  padding: 14px;
}

.industry-label {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--text);
  text-align: center;
}

@media (max-width: 600px) {
  .industries { padding: 36px 0; }
  .industry-item { width: 130px; gap: 10px; }
  .industry-icon { width: 105px; height: 105px; }
  .industry-icon svg { width: 40px; height: 40px; }
  .industry-label { font-size: 0.8rem; }
}

/* Ambient background */
.bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,153,51,0.14), transparent 45%),
    radial-gradient(circle at 85% 15%, rgba(255,193,7,0.18), transparent 40%),
    radial-gradient(circle at 80% 90%, rgba(255,153,51,0.14), transparent 45%),
    radial-gradient(circle at 10% 85%, rgba(194,72,10,0.08), transparent 40%),
    var(--cream);
}

.bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(193,88,7,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(193,88,7,0.035) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at 50% 40%, black, transparent 75%);
}

.glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.5;
  animation: float 14s ease-in-out infinite;
}
.glow.g1 {
  width: 380px; height: 380px;
  background: radial-gradient(circle, rgba(255,153,51,0.32), transparent 70%);
  top: -100px; left: -120px;
}
.glow.g2 {
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(255,193,7,0.30), transparent 70%);
  bottom: -140px; right: -140px;
  animation-delay: 3s;
}
.glow.g3 {
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(194,72,10,0.16), transparent 70%);
  bottom: 10%; left: 5%;
  animation-delay: 6s;
}

@keyframes float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(25px, -20px) scale(1.06); }
}

.container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 24px;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  animation: rise 0.9s ease both;
}

.logo-wrap img {
  width: min(58vw, 300px);
  height: auto;
  filter: drop-shadow(0 8px 24px rgba(193, 88, 7, 0.18));
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 20px;
  border-radius: 999px;
  background: rgba(255, 153, 51, 0.10);
  border: 1px solid rgba(255, 153, 51, 0.32);
  color: var(--saffron-dark);
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  margin: 8px 0 26px;
  animation: rise 0.9s ease 0.1s both;
}

.badge .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--green));
  animation: pulse 1.8s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.6; }
}

h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 6vw, 3.2rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--green-dark);
  margin-bottom: 16px;
  animation: rise 0.9s ease 0.15s both;
}

h1 span {
  background: linear-gradient(90deg, var(--saffron-dark), var(--saffron), var(--gold));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

p.tagline {
  font-size: clamp(0.95rem, 2vw, 1.1rem);
  color: #4a584f;
  max-width: 520px;
  margin: 0 auto 40px;
  line-height: 1.7;
  animation: rise 0.9s ease 0.2s both;
}

.divider {
  width: 64px;
  height: 3px;
  margin: 0 auto 40px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--saffron), var(--gold), var(--green));
  animation: rise 0.9s ease 0.25s both;
}

.contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  animation: rise 0.9s ease 0.3s both;
}

.contact a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 500;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.contact a.primary {
  background: linear-gradient(135deg, var(--saffron), var(--saffron-dark));
  color: #fff;
  box-shadow: 0 10px 24px rgba(193, 88, 7, 0.32);
}

.contact a.secondary {
  background: #fff;
  color: var(--saffron-dark);
  border: 1px solid rgba(255, 153, 51, 0.35);
}

.contact a:hover {
  transform: translateY(-2px);
}

.closing-tagline {
  font-size: clamp(1rem, 2.4vw, 1.3rem);
  font-weight: 600;
  color: var(--green-dark);
  margin: 8px 0 24px;
  animation: rise 0.9s ease 0.15s both;
}

.site-footer {
  position: relative;
  z-index: 1;
  width: 100%;
  flex-shrink: 0;
  background: var(--green-dark);
  color: rgba(255, 255, 255, 0.85);
}

.footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 32px 32px;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
  gap: 32px;
}

.footer-brand p {
  font-size: 0.86rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.7);
  margin: 14px 0 18px;
  max-width: 320px;
}

.footer-logo {
  height: 92px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.95;
}

.footer-social {
  display: flex;
  gap: 10px;
}

.footer-col h4 {
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 18px;
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-col ul a {
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  font-size: 0.88rem;
  transition: color 0.2s ease;
}

.footer-col ul a:hover {
  color: var(--gold);
}

.footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.footer-contact svg {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--gold);
}

.footer-contact span {
  font-size: 0.86rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.72);
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding: 20px 32px;
  text-align: center;
}

.footer-bottom p {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
}

@media (max-width: 900px) {
  .footer-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .footer-inner {
    grid-template-columns: 1fr;
    padding: 40px 20px 24px;
    gap: 28px;
  }
  .footer-brand p { max-width: none; }
}

@keyframes rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1300px) {
  .mobile-menu-bar { display: flex; }
  .category-nav { display: none; }
  .category-icons-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
  }
  .cat-icon-card { width: 100%; max-width: 110px; }
  .cat-icon-more { display: flex; }
}

@media (max-width: 768px) {
  .glow.g1 { width: 260px; height: 260px; }
  .glow.g2 { width: 280px; height: 280px; }
  .glow.g3 { width: 200px; height: 200px; }
  .container { padding: 32px 20px; }
  .badge { font-size: 11px; padding: 7px 16px; }
  p.tagline { margin-bottom: 32px; }
  footer { margin-top: 28px; padding: 0 16px 24px; text-align: center; }
  .topbar-inner { gap: 6px 20px; padding: 8px 16px; }
  .topbar-item { font-size: 0.75rem; }
  .navbar-inner { padding: 12px 16px; gap: 14px; }
  .nav-logo img { height: 61px; }
  .nav-search { padding: 11px 18px; gap: 10px; }
  .nav-search svg { width: 19px; height: 19px; }
  .nav-search input, .search-placeholder { font-size: 0.92rem; }
  .nav-link { font-size: 0.88rem; gap: 7px; }
  .nav-link svg { width: 21px; height: 21px; }
  .nav-link span { display: none; }
  .nav-right { gap: 18px; }
  .nav-cart svg { width: 24px; height: 24px; }
  .cart-count { min-width: 17px; height: 17px; font-size: 10px; line-height: 17px; top: -7px; right: -9px; }
}

@media (max-width: 600px) {
  .topbar-item span { display: none; }
  .topbar-inner { gap: 10px 16px; }
  .social-icon { width: 26px; height: 26px; }
}

@media (max-width: 480px) {
  .contact { flex-direction: column; align-items: stretch; }
  .contact a { justify-content: center; }
  .logo-wrap img { width: 68vw; }
  h1 { margin-bottom: 12px; }
  .navbar-inner { gap: 8px; }
  .nav-logo img { height: 47px; }
  .nav-search { padding: 8px 14px; gap: 8px; }
  .nav-search svg { width: 17px; height: 17px; }
  .nav-search input, .search-placeholder { font-size: 0.85rem; }
  .nav-right { gap: 12px; }
  .nav-link svg { width: 19px; height: 19px; }
  .nav-cart svg { width: 21px; height: 21px; }
  .cart-count { min-width: 15px; height: 15px; font-size: 9px; line-height: 15px; top: -6px; right: -7px; }
  .category-icons-inner { grid-template-columns: repeat(3, 1fr); gap: 14px; padding: 24px 16px; }
  .cat-icon-card { max-width: none; }
  .cat-icon-card img { width: 72px; height: 72px; }
  .cat-icon-card span { font-size: 0.72rem; }
  .more-icon { width: 72px; height: 72px; }
  .more-icon svg { width: 26px; height: 26px; }
  .more-label { font-size: 0.72rem; }
}

@media (max-height: 700px) {
  body { align-items: flex-start; }
  .container { padding-top: 32px; }
}

/* ===== Inner pages (categories, category, cart) ===== */
body.page-inner { justify-content: flex-start; }
.page-wrap { width: 100%; max-width: 1200px; padding: 28px 20px 60px; flex: 1; }
.breadcrumb { font-size: 13px; color: #7a6555; margin-bottom: 14px; }
.breadcrumb a { color: var(--saffron-dark); text-decoration: none; }
.page-head { display: flex; align-items: center; gap: 16px; margin-bottom: 8px; }
.page-head-icon { width: 64px; height: 64px; object-fit: contain; }
.page-title { font-family: var(--font-display); font-size: 34px; color: var(--green-dark); }
.page-sub { color: #6b5848; margin: 6px 0 24px; }
.cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.product-card, .cart-item, .cart-side { background: #fff; border: 1px solid #f0dcc6; border-radius: 14px; padding: 18px; box-shadow: 0 2px 10px rgba(193, 88, 7, .06); }
.product-card h3 { color: var(--green-dark); margin-bottom: 12px; }
.field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; font-size: 13px; }
.field > span { font-weight: 500; }
.field select, .field input, .field textarea { font: inherit; padding: 9px 10px; border: 1px solid #e3cdb4; border-radius: 8px; background: #fffdfa; width: 100%; }
.qty-row, .cart-item-qty { display: flex; align-items: center; gap: 6px; }
.qty-row .qty-input, .cart-item-qty .qty-input { width: 90px; text-align: center; padding: 8px; border: 1px solid #e3cdb4; border-radius: 8px; font: inherit; }
.qty-btn { width: 36px; height: 36px; border: 1px solid #e3cdb4; background: var(--cream); border-radius: 8px; font-size: 18px; cursor: pointer; }
.qty-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.chip { border: 1px solid #e3cdb4; background: #fff; border-radius: 999px; padding: 4px 12px; font: inherit; font-size: 12px; cursor: pointer; }
.chip.active { background: var(--green); color: #fff; border-color: var(--green); }
.btn-primary, .btn-whatsapp { display: inline-block; text-align: center; border: 0; border-radius: 10px; padding: 12px 20px; font: inherit; font-weight: 600; color: #fff; cursor: pointer; text-decoration: none; background: linear-gradient(90deg, var(--saffron-dark), var(--orange)); }
.btn-whatsapp { background: #25d366; width: 100%; font-size: 16px; }
.product-card .btn-primary { width: 100%; }
.btn-link { background: none; border: 0; color: var(--saffron-dark); cursor: pointer; font: inherit; text-decoration: underline; margin-top: 10px; }
.muted { color: #7a6555; font-size: 12px; }
.cart-layout { display: grid; grid-template-columns: 1fr 340px; gap: 24px; align-items: start; }
.cart-list { display: flex; flex-direction: column; gap: 14px; }
.cart-item { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; align-items: center; }
.cart-item small { color: #7a6555; }
.cart-item p { font-size: 13px; margin-top: 2px; }
.cart-item .remove { margin: 0; justify-self: end; grid-column: 2; }
.cart-side { position: sticky; top: 130px; }
.cart-side h3 { margin-bottom: 12px; color: var(--green-dark); }
.cart-total { margin: 4px 0 12px; }
.cart-empty { text-align: center; padding: 50px 0; }
.cart-empty p { margin-bottom: 14px; }
@media (max-width: 800px) {
  .cart-layout { grid-template-columns: 1fr; }
  .cart-side { position: static; }
  .page-title { font-size: 26px; }
  .cart-item { grid-template-columns: 1fr; }
  .cart-item .remove { grid-column: 1; justify-self: start; }
}

/* ===== Listing + product detail ===== */
.listing-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.listing-card { background: #fff; border: 1px solid #f0dcc6; border-radius: 14px; padding: 14px; text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: 6px; transition: box-shadow .2s, transform .2s; }
.listing-card:hover { box-shadow: 0 8px 22px rgba(193, 88, 7, .15); transform: translateY(-2px); }
.listing-img { background: var(--cream); border-radius: 10px; aspect-ratio: 4 / 3; display: grid; place-items: center; margin-bottom: 6px; }
.listing-img img { width: 55%; height: 55%; object-fit: contain; }
.listing-card h3 { color: var(--green-dark); font-size: 17px; }
.listing-card .btn-primary { margin-top: auto; }
.product-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 40px; align-items: start; }
.pd-media { position: sticky; top: 130px; }
.product-card.pd-info { border: 0; box-shadow: none; padding: 0; background: none; }
.pd-title { font-family: var(--font-display); font-size: 32px; color: var(--green-dark); margin-bottom: 10px; }
.pd-desc { color: #6b5848; margin-bottom: 10px; }
.pd-bullets { margin: 0 0 14px 22px; color: #6b5848; line-height: 1.7; }
.pd-ideal { margin-bottom: 8px; font-weight: 500; }
.pd-note { font-size: 14px; margin-bottom: 20px; font-weight: 500; }
.pd-row { display: grid; grid-template-columns: 150px 1fr; gap: 12px; align-items: center; margin-bottom: 16px; }
.pd-row > span { font-size: 15px; }
.pd-row select, .pd-row > input { font: inherit; padding: 12px; border: 1px solid #e3cdb4; border-radius: 8px; background: #fff; width: 100%; }
.pd-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.pd-actions .btn-primary, .pd-actions .btn-outline { flex: 1 1 200px; }
.btn-outline { display: inline-block; text-align: center; padding: 12px 20px; border: 2px solid var(--green); color: var(--green-dark); border-radius: 10px; font-weight: 600; text-decoration: none; }
.wa-float { position: fixed; right: 22px; bottom: 22px; z-index: 25; width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff; display: grid; place-items: center; box-shadow: 0 6px 18px rgba(0, 0, 0, .25); }
@media (max-width: 800px) {
  .product-detail { grid-template-columns: 1fr; gap: 20px; }
  .pd-media { position: static; }
  .pd-row { grid-template-columns: 1fr; gap: 6px; }
  .pd-title { font-size: 25px; }
}

/* ===== Premium category page ===== */
body.page-inner { padding-bottom: 0; }
.cat-hero { position: relative; width: 100%; overflow: hidden; color: #fff; background: linear-gradient(115deg, #3a0e04 0%, var(--green-dark) 45%, var(--green) 100%); }
.cat-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.07) 1.5px, transparent 1.5px); background-size: 26px 26px; }
.cat-hero-glow { position: absolute; width: 640px; height: 640px; right: -120px; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(255,153,51,.55), transparent 65%); filter: blur(10px); }
.cat-hero-inner { position: relative; max-width: 1280px; margin: 0 auto; padding: 56px 32px 64px; display: grid; grid-template-columns: 1.3fr .7fr; gap: 40px; align-items: center; }
.breadcrumb.on-dark, .breadcrumb.on-dark a { color: rgba(255,255,255,.75); }
.cat-hero-eyebrow { display: inline-block; padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 18px; }
.cat-hero h1 { font-family: var(--font-display); font-size: clamp(36px, 5vw, 62px); line-height: 1.08; margin-bottom: 14px; }
.cat-hero-text > p { font-size: 18px; max-width: 560px; color: rgba(255,255,255,.85); margin-bottom: 26px; }
.cat-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 34px; }
.btn-light, .btn-ghost { display: inline-block; padding: 13px 26px; border-radius: 999px; font-weight: 600; text-decoration: none; transition: transform .2s, background .2s; }
.btn-light { background: #fff; color: var(--green-dark); }
.btn-ghost { border: 1.5px solid rgba(255,255,255,.55); color: #fff; }
.btn-light:hover, .btn-ghost:hover { transform: translateY(-2px); }
.btn-ghost:hover { background: rgba(255,255,255,.12); }
.cat-hero-stats { display: flex; gap: 38px; list-style: none; flex-wrap: wrap; }
.cat-hero-stats li { display: flex; flex-direction: column; }
.cat-hero-stats b { font-size: 28px; font-family: var(--font-display); color: var(--gold); }
.cat-hero-stats span { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.75); }
.cat-hero-art { display: grid; place-items: center; }
.cat-hero-disc { width: min(340px, 80%); aspect-ratio: 1; border-radius: 50%; background: linear-gradient(145deg, #fff, #ffe9cf); display: grid; place-items: center; box-shadow: 0 30px 70px rgba(0,0,0,.35), 0 0 0 14px rgba(255,255,255,.1); animation: floaty 5s ease-in-out infinite; }
.cat-hero-disc img { width: 58%; height: 58%; object-fit: contain; }
@keyframes floaty { 50% { transform: translateY(-12px); } }

.section { width: 100%; padding: 72px 0; background: var(--cream); }
.section-alt { background: #fff; }
.section-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.section-head { text-align: center; max-width: 640px; margin: 0 auto 40px; }
.section-head h2 { font-family: var(--font-display); font-size: clamp(28px, 3.4vw, 40px); color: var(--green-dark); margin: 8px 0; }
.section-head p { color: #6b5848; }
.listing-card { position: relative; border-radius: 18px; padding: 16px; }
.listing-img { position: relative; background: linear-gradient(145deg, #fff8f0, #ffeccf); }
.listing-badge { position: absolute; top: 10px; left: 10px; background: var(--green-dark); color: #fff; font-size: 11px; padding: 4px 10px; border-radius: 999px; z-index: 1; }
.listing-cta { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--saffron-dark); }
.listing-card:hover .listing-cta svg { transform: translateX(4px); }
.listing-cta svg { transition: transform .2s; }
.detail-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: start; }
.detail-title { font-family: var(--font-display); font-size: 36px; color: var(--green-dark); margin: 8px 0 14px; }
.detail-text { color: #6b5848; line-height: 1.8; margin-bottom: 24px; }
.detail-sub { margin-bottom: 12px; }
.check-list { list-style: none; display: grid; gap: 12px; }
.check-list li { display: flex; gap: 10px; align-items: flex-start; }
.check-list svg { flex: none; color: #fff; background: var(--green); border-radius: 50%; padding: 3px; margin-top: 2px; }
.steps-card { background: linear-gradient(160deg, var(--green-dark), var(--green)); color: #fff; border-radius: 20px; padding: 30px; box-shadow: 0 20px 50px rgba(110,26,10,.28); }
.steps-card h3 { font-family: var(--font-display); font-size: 24px; margin-bottom: 18px; }
.steps { list-style: none; counter-reset: s; display: grid; gap: 18px; }
.steps li { counter-increment: s; position: relative; padding-left: 52px; display: flex; flex-direction: column; }
.steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 38px; height: 38px; border-radius: 50%; background: var(--gold); color: var(--green-dark); font-weight: 700; display: grid; place-items: center; }
.steps span { font-size: 14px; color: rgba(255,255,255,.8); }
.faq-narrow { max-width: 820px; }
.cta-band { width: 100%; background: linear-gradient(90deg, var(--saffron-dark), var(--saffron), var(--gold)); color: #fff; }
.cta-band-inner { max-width: 1200px; margin: 0 auto; padding: 44px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cta-band h2 { font-family: var(--font-display); font-size: 30px; }
.cta-band .btn-light { color: var(--saffron-dark); }
@media (max-width: 860px) {
  .cat-hero-inner { grid-template-columns: 1fr; padding: 36px 20px 44px; }
  .cat-hero-art { order: -1; }
  .cat-hero-disc { width: 180px; }
  .detail-grid { grid-template-columns: 1fr; gap: 28px; }
  .section { padding: 48px 0; }
  .cta-band-inner { text-align: center; justify-content: center; }
}

/* flex-column body: stop sections from shrinking, keep hero text light */
.cat-hero, .section, .cta-band, .trust-bar, .why-us { flex-shrink: 0; }
.cat-hero h1 { color: #fff; background: none; -webkit-text-fill-color: #fff; }

/* hero slider */
.catHeroSwiper { position: relative; width: 100%; }
.catHeroSwiper .swiper-slide { height: auto; }
.cat-hero-inner { min-height: 440px; }
.cat-hero h1.h1-like { font-family: var(--font-display); font-size: clamp(34px, 4.6vw, 56px); line-height: 1.1; margin-bottom: 14px; }
.cat-hero-pagination { bottom: 18px !important; }
.cat-hero-pagination .swiper-pagination-bullet { background: #fff; opacity: .5; width: 10px; height: 10px; }
.cat-hero-pagination .swiper-pagination-bullet-active { opacity: 1; background: var(--gold); width: 26px; border-radius: 6px; }
.cat-hero-prev, .cat-hero-next { color: #fff; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.15); backdrop-filter: blur(4px); }
.cat-hero-prev::after, .cat-hero-next::after { font-size: 16px; font-weight: 700; }
@media (max-width: 860px) { .cat-hero-prev, .cat-hero-next { display: none; } .cat-hero-inner { min-height: 0; padding-bottom: 56px; } }
.cat-hero h1 { animation: none; opacity: 1; }

/* search suggestions + promo banner */
.nav-search { position: relative; }
.search-suggest { position: absolute; top: calc(100% + 8px); left: 0; right: 0; background: #fff; border: 1px solid #f0dcc6; border-radius: 14px; box-shadow: 0 16px 40px rgba(0,0,0,.15); overflow: hidden; z-index: 50; }
.search-suggest[hidden] { display: none; }
.search-suggest a { display: flex; flex-direction: column; padding: 10px 18px; text-decoration: none; color: var(--text); border-bottom: 1px solid #f7ece0; }
.search-suggest a:hover { background: var(--cream); }
.search-suggest a span { font-size: 12px; color: #7a6555; }
.search-suggest .suggest-all { color: var(--saffron-dark); font-weight: 600; flex-direction: row; justify-content: center; border-bottom: 0; }
.suggest-empty { padding: 14px 18px; color: #7a6555; font-size: 14px; }

/* ===== Floating order tray ===== */
.order-bar { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 40; width: min(720px, calc(100% - 32px)); display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 10px 10px 16px; border-radius: 22px; color: #fff; background: rgba(58, 14, 4, .9); -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 18px 50px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.12); }
.order-bar[hidden] { display: none; }
.order-bar.pop { animation: trayIn .45s cubic-bezier(.2,.9,.3,1.2); }
@keyframes trayIn { from { transform: translate(-50%, 24px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }
.ob-info { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ob-icon { position: relative; flex: none; width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: rgba(255,255,255,.12); }
.ob-icon i { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--gold); color: var(--green-dark); font: 700 11px/20px 'Poppins', sans-serif; text-align: center; font-style: normal; }
.ob-text { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.ob-text b { font-size: 15px; }
.ob-text small { font-size: 12px; color: rgba(255,255,255,.7); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-actions { display: flex; align-items: center; gap: 6px; flex: none; }
.ob-link { color: #fff; text-decoration: none; font-weight: 500; font-size: 14px; padding: 12px 16px; border-radius: 14px; }
.ob-link:hover { background: rgba(255,255,255,.12); }
.ob-cta { display: inline-flex; align-items: center; gap: 8px; padding: 13px 20px; border-radius: 15px; background: #25d366; color: #06361a; font-weight: 700; font-size: 14px; text-decoration: none; box-shadow: 0 8px 20px rgba(37,211,102,.4); transition: transform .2s, box-shadow .2s; }
.ob-cta:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(37,211,102,.5); }
.ob-cta svg { transition: transform .2s; }
.ob-cta:hover svg { transform: translateX(3px); }
body:has(.order-bar:not([hidden])) .wa-float { bottom: 100px; }
body:has(.order-bar:not([hidden])) { padding-bottom: 90px; }

.toast { position: fixed; left: 50%; bottom: 110px; transform: translate(-50%, 12px); z-index: 45; display: flex; align-items: center; gap: 8px; background: #fff; color: var(--text); padding: 11px 18px; border-radius: 14px; font-size: 14px; font-weight: 500; box-shadow: 0 12px 34px rgba(0,0,0,.2); border: 1px solid #f0dcc6; opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; }
.toast::before { content: "\2713"; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--green); color: #fff; font-size: 12px; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 560px) {
  .order-bar { bottom: 12px; padding: 8px 8px 8px 12px; gap: 8px; border-radius: 20px; }
  .ob-link { display: none; }
  .ob-cta { padding: 12px 14px; font-size: 13px; }
  .ob-icon { width: 40px; height: 40px; }
  body:has(.order-bar:not([hidden])) .wa-float { bottom: 88px; right: 14px; }
}

/* ===== Product gallery ===== */
.pdMain { border-radius: 18px; background: #fff; border: 1px solid #f0dcc6; overflow: hidden; width: 100%; }
.pd-slide { aspect-ratio: 4 / 3.3; display: grid !important; place-items: center; background: #fff; }
.pd-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-slide img.is-icon, .listing-img img.is-icon { width: 50%; height: 50%; object-fit: contain; }
.pd-prev, .pd-next { color: var(--green-dark); width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 4px 14px rgba(0,0,0,.18); }
.pd-prev::after, .pd-next::after { font-size: 15px; font-weight: 700; }
.pd-dots .swiper-pagination-bullet-active { background: var(--saffron-dark); }
.pdThumbs { margin-top: 12px; }
.pdThumbs .swiper-slide { aspect-ratio: 1; border-radius: 12px; overflow: hidden; border: 2px solid transparent; opacity: .6; cursor: pointer; background: #fff; transition: opacity .2s, border-color .2s; }
.pdThumbs .swiper-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdThumbs .swiper-slide-thumb-active { opacity: 1; border-color: var(--saffron-dark); }
.listing-img { overflow: hidden; }
.listing-img img:not(.is-icon) { width: 100%; height: 100%; object-fit: cover; }

/* contained promo banner */
.promo-banner { width: 100%; flex-shrink: 0; padding: 48px 24px; background: var(--cream); }
.promo-banner-inner { display: block; max-width: 1200px; margin: 0 auto; line-height: 0; border-radius: 22px; overflow: hidden; border: 1px solid #f0dcc6; box-shadow: 0 18px 44px rgba(193, 88, 7, .14); transition: transform .3s, box-shadow .3s; }
.promo-banner-inner:hover { transform: translateY(-3px); box-shadow: 0 24px 54px rgba(193, 88, 7, .2); }
.promo-banner-inner img { width: 100%; height: auto; display: block; }
@media (max-width: 768px) { .promo-banner { padding: 28px 16px; } .promo-banner-inner { border-radius: 16px; } }
.pd-title { animation: none; opacity: 1; }

/* ===== Location / map ===== */
.location { width: 100%; flex-shrink: 0; padding: 72px 24px; background: var(--cream); }
.location-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: .85fr 1.15fr; border-radius: 24px; overflow: hidden; background: #fff; border: 1px solid #f0dcc6; box-shadow: 0 20px 50px rgba(193, 88, 7, .12); }
.location-card { padding: 40px; display: flex; flex-direction: column; align-items: flex-start; }
.location-card h2 { font-family: var(--font-display); font-size: 34px; color: var(--green-dark); margin: 8px 0 10px; }
.location-card > p { color: #6b5848; margin-bottom: 22px; }
.location-list { list-style: none; display: grid; gap: 16px; margin-bottom: 26px; }
.location-list li { display: flex; gap: 12px; align-items: flex-start; }
.location-list svg { flex: none; width: 38px; height: 38px; padding: 9px; border-radius: 12px; color: var(--saffron-dark); background: #fff1e0; }
.location-list a, .location-list span { color: var(--text); text-decoration: none; padding-top: 6px; }
.location-map { min-height: 380px; }
.location-map iframe { width: 100%; height: 100%; min-height: 380px; display: block; }
@media (max-width: 800px) {
  .location { padding: 44px 16px; }
  .location-inner { grid-template-columns: 1fr; }
  .location-card { padding: 28px 22px; }
  .location-card h2 { font-size: 28px; }
}
[hidden] { display: none !important; }
.location, .section, .promo-banner, .cta-band, .cat-hero { position: relative; z-index: 1; }
body:not(.page-inner) .container { flex: none; }

/* ===== Modern cart ===== */
.cx-hero { position: relative; z-index: 1; width: 100%; flex-shrink: 0; color: #fff; background: linear-gradient(115deg, #3a0e04, var(--green-dark) 50%, var(--green)); overflow: hidden; }
.cx-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.07) 1.5px, transparent 1.5px); background-size: 26px 26px; }
.cx-hero::after { content: ""; position: absolute; width: 420px; height: 420px; right: -80px; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(255,153,51,.5), transparent 65%); }
.cx-hero-inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 32px 24px 36px; }
.cx-hero h1 { font-family: var(--font-display); font-size: clamp(30px, 4vw, 44px); color: #fff; animation: none; margin: 6px 0 20px; }
.cx-steps { display: flex; gap: 10px; list-style: none; flex-wrap: wrap; }
.cx-steps li { display: flex; align-items: center; gap: 10px; padding: 7px 16px 7px 8px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); font-size: 13px; color: rgba(255,255,255,.75); }
.cx-steps i { font-style: normal; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; background: rgba(255,255,255,.18); }
.cx-steps li.done i, .cx-steps li.now i { background: var(--gold); color: var(--green-dark); }
.cx-steps li.now { color: #fff; background: rgba(255,255,255,.18); }

.cx-wrap { position: relative; z-index: 1; width: 100%; max-width: 1200px; padding: 36px 24px 72px; flex: 1; }
.cx-layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 28px; align-items: start; }
.cx-items-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.cx-items h2, .cx-panel h2 { font-family: var(--font-display); font-size: 26px; color: var(--green-dark); display: flex; align-items: center; gap: 10px; }
.cx-items h2 span { font: 600 13px/1 'Poppins', sans-serif; background: var(--green); color: #fff; padding: 6px 11px; border-radius: 999px; }
.cx-text-btn { background: none; border: 0; color: #9a3412; font: 500 14px 'Poppins', sans-serif; cursor: pointer; padding: 8px 12px; border-radius: 10px; }
.cx-text-btn:hover { background: #fff1e0; }
.cx-list { display: grid; gap: 14px; }
.cx-item { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 16px; background: #fff; border: 1px solid #f1e2d1; border-radius: 20px; box-shadow: 0 1px 2px rgba(60, 30, 5, .04), 0 10px 30px rgba(193, 88, 7, .06); transition: box-shadow .2s, transform .2s; }
.cx-item:hover { box-shadow: 0 1px 2px rgba(60,30,5,.04), 0 16px 40px rgba(193,88,7,.12); }
.cx-thumb { width: 96px; height: 96px; border-radius: 16px; overflow: hidden; background: linear-gradient(145deg, #fff8f0, #ffeccf); display: grid; place-items: center; }
.cx-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cx-thumb.icon img { width: 56%; height: 56%; object-fit: contain; }
.cx-info small { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--saffron-dark); font-weight: 600; }
.cx-info h3 { font-size: 17px; margin: 2px 0 8px; color: var(--text); }
.cx-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cx-chip { font-size: 12px; padding: 4px 10px; border-radius: 999px; background: #f6efe6; color: #4a3828; }
.cx-chip em { font-style: normal; color: #8a7561; margin-right: 5px; }
.cx-note { font-size: 13px; color: #7a6555; margin-top: 8px; font-style: italic; }
.cx-side { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.cx-stepper { display: inline-flex; align-items: center; border: 1px solid #ead7c0; border-radius: 999px; background: #fffaf4; padding: 3px; }
.cx-stepper button { width: 34px; height: 34px; border: 0; border-radius: 50%; background: #fff; color: var(--green-dark); font-size: 18px; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.1); transition: background .2s, color .2s; }
.cx-stepper button:hover { background: var(--green); color: #fff; }
.cx-stepper input { width: 62px; text-align: center; border: 0; background: transparent; font: 600 15px 'Poppins', sans-serif; color: var(--text); -moz-appearance: textfield; }
.cx-stepper input::-webkit-outer-spin-button, .cx-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cx-unit { font-size: 12px; color: #7a6555; }
.cx-remove { border: 0; background: none; color: #a8968a; cursor: pointer; padding: 6px; border-radius: 10px; display: grid; place-items: center; transition: color .2s, background .2s; }
.cx-remove:hover { color: #c0262d; background: #fdecec; }
.cx-continue { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--green-dark); font-weight: 600; text-decoration: none; padding: 10px 4px; }
.cx-continue:hover { color: var(--saffron-dark); }

.cx-panel { position: sticky; top: 140px; background: #fff; border: 1px solid #f1e2d1; border-radius: 24px; padding: 28px; box-shadow: 0 1px 2px rgba(60,30,5,.04), 0 24px 60px rgba(193, 88, 7, .12); }
.cx-panel-sub { color: #7a6555; font-size: 14px; margin: 6px 0 22px; }
.cx-field { display: block; margin-bottom: 16px; }
.cx-field > span { display: block; font-size: 13px; font-weight: 500; margin-bottom: 6px; }
.cx-field em { color: #c0262d; font-style: normal; }
.cx-input { display: flex; align-items: center; gap: 10px; padding: 0 14px; background: #faf5ee; border: 1.5px solid transparent; border-radius: 14px; transition: border-color .2s, background .2s, box-shadow .2s; }
.cx-input svg { flex: none; color: #a8968a; }
.cx-input:focus-within { background: #fff; border-color: var(--green); box-shadow: 0 0 0 4px rgba(194,72,10,.14); }
.cx-input:focus-within svg { color: var(--green); }
.cx-input.invalid { border-color: #c0262d; background: #fff7f7; }
.cx-input input, .cx-input textarea { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: 15px 'Poppins', sans-serif; padding: 13px 0; color: var(--text); resize: none; }
.cx-area { align-items: flex-start; }
.cx-area svg { margin-top: 14px; }
.cx-error { display: block; color: #c0262d; font-size: 12px; margin-top: 6px; }
.cx-total { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; margin: 4px 0 16px; border-top: 1px dashed #ead7c0; font-size: 15px; }
.cx-total b { font-size: 20px; color: var(--green-dark); }
.cx-send { width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; cursor: pointer; padding: 16px; border-radius: 16px; font: 700 16px 'Poppins', sans-serif; color: #fff; background: linear-gradient(135deg, #25d366, #128c4a); box-shadow: 0 14px 30px rgba(37, 211, 102, .38); transition: transform .2s, box-shadow .2s; }
.cx-send:hover { transform: translateY(-2px); box-shadow: 0 20px 40px rgba(37, 211, 102, .45); }
.cx-assure { list-style: none; display: grid; gap: 8px; margin-top: 18px; font-size: 13px; color: #5d4a3a; }
.cx-assure li { display: flex; align-items: center; gap: 8px; }
.cx-assure svg { flex: none; color: #fff; background: var(--green); border-radius: 50%; padding: 3px; width: 18px; height: 18px; }

.cx-empty { max-width: 520px; margin: 40px auto; text-align: center; padding: 48px 28px; background: #fff; border: 1px solid #f1e2d1; border-radius: 28px; box-shadow: 0 24px 60px rgba(193,88,7,.1); }
.cx-empty-icon { width: 96px; height: 96px; margin: 0 auto 20px; border-radius: 50%; display: grid; place-items: center; color: var(--saffron-dark); background: linear-gradient(145deg, #fff8f0, #ffe6c4); }
.cx-empty h2 { font-family: var(--font-display); font-size: 28px; color: var(--green-dark); margin-bottom: 8px; }
.cx-empty p { color: #7a6555; margin-bottom: 24px; }
.cx-empty-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 960px) {
  .cx-layout { grid-template-columns: 1fr; }
  .cx-panel { position: static; }
}
@media (max-width: 620px) {
  .cx-wrap { padding: 24px 16px 56px; }
  .cx-item { grid-template-columns: 76px minmax(0, 1fr); gap: 14px; }
  .cx-thumb { width: 76px; height: 76px; }
  .cx-side { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; border-top: 1px dashed #ead7c0; padding-top: 12px; }
  .cx-panel { padding: 22px; border-radius: 20px; }
  .cx-steps li span { display: none; }
  .cx-steps li { padding: 7px; }
  .cx-steps li.now span { display: inline; padding-right: 8px; }
}

/* ===== no empty gaps ===== */
.listing-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.listing-custom { align-items: flex-start; justify-content: center; text-align: left; background: linear-gradient(150deg, #fff8f0, #ffeccf); border: 2px dashed #e8b273; }
.custom-icon { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--saffron-dark), var(--orange)); box-shadow: 0 10px 22px rgba(193,88,7,.3); margin-bottom: 6px; }
.cat-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.cat-grid .cat-icon-card { width: 150px; }

.cx-block { margin-top: 28px; padding: 22px; background: #fff; border: 1px solid #f1e2d1; border-radius: 20px; }
.cx-block-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.cx-block-head h3 { font-family: var(--font-display); font-size: 22px; color: var(--green-dark); }
.cx-block-head a { color: var(--saffron-dark); font-weight: 600; font-size: 14px; text-decoration: none; }
.cx-mini-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.cx-mini { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 8px; border-radius: 16px; background: linear-gradient(145deg, #fff8f0, #ffeccf); text-decoration: none; color: var(--text); font-size: 13px; font-weight: 500; text-align: center; transition: transform .2s, box-shadow .2s; }
.cx-mini:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(193,88,7,.18); }
.cx-mini img { width: 52px; height: 52px; object-fit: contain; }
.cx-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
.cx-tiles > div { display: flex; flex-direction: column; gap: 4px; padding: 18px; border-radius: 18px; background: #fff; border: 1px solid #f1e2d1; }
.cx-tiles svg { color: var(--green); margin-bottom: 4px; }
.cx-tiles b { font-size: 14px; }
.cx-tiles span { font-size: 12px; color: #7a6555; }
.cx-help { margin-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 24px; border-radius: 20px; color: #fff; background: linear-gradient(115deg, var(--green-dark), var(--green)); }
.cx-help h3 { font-family: var(--font-display); font-size: 22px; margin-bottom: 4px; }
.cx-help p { color: rgba(255,255,255,.8); font-size: 14px; max-width: 360px; }
.cx-help-actions { display: flex; gap: 10px; }

.pd-highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.pd-highlights > div { display: flex; gap: 12px; align-items: center; padding: 14px; border-radius: 16px; background: #fff; border: 1px solid #f1e2d1; }
.pd-highlights svg { flex: none; width: 42px; height: 42px; padding: 10px; border-radius: 12px; color: var(--saffron-dark); background: #fff1e0; }
.pd-highlights b { display: block; font-size: 14px; }
.pd-highlights span { font-size: 12px; color: #7a6555; }
@media (max-width: 620px) {
  .cx-mini-grid { grid-template-columns: repeat(2, 1fr); }
  .cx-tiles { grid-template-columns: 1fr; }
  .pd-highlights { grid-template-columns: 1fr; }
  .cat-grid .cat-icon-card { width: calc(50% - 8px); }
}
.listing-img { max-height: 300px; aspect-ratio: 16 / 11; }
.listing-custom { gap: 10px; padding: 28px; }
.listing-custom .listing-cta { margin-top: 10px; padding: 12px 22px; border-radius: 999px; background: var(--green-dark); color: #fff; }
.listing-custom h3 { font-size: 22px; }
.listing-custom .muted { font-size: 14px; max-width: 360px; }

/* ===== 2026 polish ===== */
html { scroll-behavior: smooth; scroll-padding-top: 150px; -webkit-text-size-adjust: 100%; }
::selection { background: var(--saffron); color: #fff; }
:focus-visible { outline: 3px solid rgba(194, 72, 10, .55); outline-offset: 3px; border-radius: 6px; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
img { max-width: 100%; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 200; background: var(--green-dark); color: #fff; padding: 10px 18px; border-radius: 10px; text-decoration: none; font-weight: 600; transition: top .2s; }
.skip-link:focus { top: 12px; }
#main-content { scroll-margin-top: 150px; }

/* scroll progress */
.scroll-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 300; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--saffron-dark), var(--saffron), var(--gold)); pointer-events: none; }

/* header: frosted glass + depth once scrolled */
.site-header { transition: box-shadow .3s ease, background-color .3s ease; }
.site-header.scrolled { box-shadow: 0 10px 30px rgba(30, 20, 5, .12); }
/* NOTE: no blur/filter/transform on .category-nav - the dropdowns inside it are position:fixed and a filter would re-anchor them to the bar. */
.site-header .navbar { -webkit-backdrop-filter: saturate(180%) blur(14px); backdrop-filter: saturate(180%) blur(14px); }
.site-header .navbar { background: rgba(255, 255, 255, .88); }

/* back to top */
.to-top { position: fixed; right: 26px; bottom: 90px; z-index: 24; width: 46px; height: 46px; border-radius: 50%; border: 1px solid #ead7c0; background: rgba(255,255,255,.92); color: var(--green-dark); display: grid; place-items: center; cursor: pointer; box-shadow: 0 8px 22px rgba(0,0,0,.14); transition: transform .2s, background .2s, color .2s; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.to-top[hidden] { display: none !important; }
.to-top:hover { transform: translateY(-3px); background: var(--green-dark); color: #fff; }
body:has(.order-bar:not([hidden])) .to-top { bottom: 168px; }

/* scroll reveal */
.js .reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1); }
.js .reveal.in { opacity: 1; transform: none; }

/* tactile controls */
.btn-primary, .btn-light, .btn-ghost, .btn-outline, .cx-send, .ob-cta, .chip, .qty-btn { transition: transform .18s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(193, 88, 7, .35); }
.btn-primary:active, .btn-light:active, .btn-ghost:active, .btn-outline:active, .cx-send:active, .ob-cta:active { transform: translateY(0) scale(.98); }
.btn-outline:hover { background: var(--green-dark); color: #fff; border-color: var(--green-dark); }
.chip:hover { border-color: var(--green); color: var(--green-dark); }
.chip.active:hover { color: #fff; }
.listing-card, .cat-icon-card, .why-us-card, .cx-mini { will-change: transform; }
.listing-img img { transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.listing-card:hover .listing-img img { transform: scale(1.06); }

@media (max-width: 700px) { .to-top { right: 16px; bottom: 84px; width: 42px; height: 42px; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js .reveal { opacity: 1; transform: none; }
}

/* responsive fix: let grid children shrink (Swiper no longer stretches the page) */
.product-detail { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
.pd-media, .pd-info, .pdMain, .pdThumbs { min-width: 0; max-width: 100%; }
@media (max-width: 800px) { .product-detail { grid-template-columns: minmax(0, 1fr); } }
.cx-layout > *, .detail-grid > *, .location-inner > * { min-width: 0; }

/* phone refinements */
@media (max-width: 560px) {
  .cat-hero-stats { display: grid; grid-template-columns: repeat(3, auto); justify-content: space-between; gap: 12px; }
  .cat-hero-stats b { font-size: 24px; }
  .cat-hero-stats span { font-size: 10px; }
  .pd-highlights { grid-template-columns: 1fr 1fr; gap: 8px; }
  .pd-highlights > div { flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px; }
  .pd-highlights svg { width: 36px; height: 36px; padding: 8px; }
  .listing-grid { gap: 14px; }
  .section-head { margin-bottom: 26px; }
  .location-card .btn-primary { width: 100%; }
}

/* ===== Bhagwa + modern refresh ===== */
body { background: var(--cream); }
h1, h2, h3, .page-title, .detail-title, .cx-items h2, .cx-panel h2 { font-family: var(--font-display); font-weight: 800; letter-spacing: -0.025em; }
h1 { font-weight: 800; }
.section-head h2, .cat-hero h1, .cx-hero h1 { font-weight: 800; letter-spacing: -0.03em; }
.why-us-eyebrow { color: var(--saffron-dark); letter-spacing: .16em; }

/* slim kumkum top strip */
.topbar { background: linear-gradient(90deg, #3a0e04, #7a1d0b 55%, #a8310a); animation: none; }
.topbar-inner { padding: 7px 32px; }
.topbar-item { font-size: .78rem; }
.topbar .social-icon { width: 26px; height: 26px; }

/* airy glass nav */
.navbar { box-shadow: 0 1px 0 rgba(194, 72, 10, .12); }
.nav-search { background: #fff; border: 1.5px solid #f3d9bd; box-shadow: 0 2px 10px rgba(194, 72, 10, .06); transition: border-color .2s, box-shadow .2s; }
.nav-search:focus-within { border-color: var(--saffron); box-shadow: 0 0 0 4px rgba(255, 138, 31, .18); }
@media (min-width: 1101px) {
  .nav-logo img { height: 70px; }
  .navbar-inner { padding: 10px 32px; }
}

/* category nav as pills */
.category-nav { background: rgba(255, 246, 234, .9); border-top: 0; border-bottom: 1px solid rgba(194, 72, 10, .12); }
.category-nav-inner { gap: 6px; }
.category-nav-inner > a, .category-item > a { padding: 8px 14px; margin: 7px 0; border-radius: 999px; border-bottom: 0; font-weight: 600; }
.category-nav-inner > a:hover, .category-item > a:hover { background: rgba(255, 138, 31, .14); color: var(--saffron-dark); }
.category-nav-inner > a.active, .category-item > a.active { background: linear-gradient(135deg, var(--saffron-dark), var(--orange)); color: #fff; border-bottom: 0; box-shadow: 0 6px 16px rgba(194, 72, 10, .3); }

/* buttons: saffron gradient, clear hierarchy */
.btn-primary { background: linear-gradient(135deg, #d84f0c, #ff8a1f); box-shadow: 0 8px 20px rgba(216, 79, 12, .28); }
.btn-outline { border-color: var(--saffron-dark); color: var(--saffron-dark); }
.btn-outline:hover { background: var(--saffron-dark); border-color: var(--saffron-dark); }
.btn-light { color: var(--green-dark); }

/* hero banners: bhagwa gradient + subtle mandala dots */
.cat-hero, .cx-hero { background: linear-gradient(120deg, #3a0e04 0%, #7a1d0b 48%, #c2410c 100%); }
.cat-hero-glow { background: radial-gradient(circle, rgba(255, 200, 61, .55), transparent 65%); }
.cx-hero::after { background: radial-gradient(circle, rgba(255, 200, 61, .45), transparent 65%); }
.trust-bar { background: linear-gradient(90deg, #6e1a0a, #a8310a); }
.cta-band { background: linear-gradient(100deg, #b53a08, #ff8a1f 60%, #ffc83d); }
.cta-band .btn-light { color: var(--saffron-dark); }

/* cards: crisper, warmer */
.listing-card, .cx-item, .cx-panel, .cx-block, .location-inner, .cx-empty { border-color: #f6dcc0; }
.listing-img, .cx-thumb, .cx-mini, .custom-icon { background-color: #fff1de; }
.steps-card, .cx-help { background: linear-gradient(150deg, #5a1507, #a8310a); box-shadow: 0 20px 50px rgba(110, 26, 10, .28); }
.check-list svg, .cx-assure svg { background: var(--saffron-dark); }
.chip.active { background: var(--saffron-dark); border-color: var(--saffron-dark); }
.cx-steps li.done i, .cx-steps li.now i { background: var(--gold); color: var(--green-dark); }
.cx-input:focus-within { border-color: var(--saffron); box-shadow: 0 0 0 4px rgba(255, 138, 31, .18); }
.cx-input:focus-within svg { color: var(--saffron-dark); }
:focus-visible { outline-color: rgba(255, 138, 31, .7); }
.scroll-progress { background: linear-gradient(90deg, #7a1d0b, var(--saffron), var(--gold)); }
.to-top:hover { background: var(--saffron-dark); }

/* tune: fit the menu row, calmer headings */
.category-nav-inner { gap: 2px; padding: 0 20px; }
.category-nav-inner > a, .category-item > a { padding: 7px 11px; font-size: .84rem; }
h1, h2, h3, .page-title, .detail-title, .cx-items h2, .cx-panel h2, .section-head h2, .cat-hero h1, .cx-hero h1 { font-weight: 700; letter-spacing: -0.015em; }


/* banner positions */
.promo-banner.promo-product_top, .promo-banner.promo-home_mid { padding-top: 28px; padding-bottom: 8px; }
.promo-banner.promo-product_top { padding-bottom: 0; }
.promo-slider-wrap { max-width: 1200px; margin: 0 auto; }
.promoSwiper { border-radius: 22px; overflow: hidden; border: 1px solid #f0dcc6; box-shadow: 0 18px 44px rgba(193, 88, 7, .14); }
.promoSwiper .promo-banner-inner { border: 0; border-radius: 0; box-shadow: none; max-width: none; }
.promo-pagination { bottom: 10px !important; }
.promo-pagination .swiper-pagination-bullet-active { background: var(--saffron-dark); }
.cat-top-banner { margin: 0; }

/* category page: picture-only top banner; the page title lives in the products heading */
.section-head h1.section-title { font-family: var(--font-display); font-size: clamp(28px, 3.4vw, 40px); font-weight: 700; letter-spacing: -0.015em; color: var(--green-dark); margin: 8px 0; animation: none; opacity: 1; }
#products .breadcrumb { margin-bottom: 18px; }
.cat-top-banner .swiper-slide img { width: 100%; height: auto; display: block; }


/* ===== Saffron as the PRIME colour ===== */
.topbar { background: linear-gradient(90deg, #e65100, #ff7a00 55%, #ff9a1f); }
.topbar .social-icon { box-shadow: 0 0 0 2px rgba(255,255,255,.35); }
.trust-bar { background: linear-gradient(90deg, #e65100, #ff7a00 55%, #ff9a1f); }
.cat-hero, .cx-hero { background: linear-gradient(120deg, #e65100 0%, #ff7a00 55%, #ffa62e 100%); }
.cat-hero-glow { background: radial-gradient(circle, rgba(255,255,255,.35), transparent 65%); }
.cx-hero::after { background: radial-gradient(circle, rgba(255,255,255,.3), transparent 65%); }
.steps-card, .cx-help { background: linear-gradient(150deg, #e65100, #ff8a1f); box-shadow: 0 20px 50px rgba(230, 81, 0, .3); }
.steps li::before, .cx-steps li.done i, .cx-steps li.now i { background: #fff; color: var(--saffron-dark); }
.site-footer { background: linear-gradient(180deg, #e65100, #c43e00); color: rgba(255,255,255,.92); }
.site-footer a { color: rgba(255,255,255,.92); }
.site-footer h4 { color: #fff; }
.cta-band { background: linear-gradient(100deg, #e65100, #ff7a00 55%, #ffb020); }
.listing-badge { background: var(--saffron-dark); }
.listing-custom .listing-cta { background: var(--saffron-dark); }
.btn-outline:hover { background: var(--saffron-dark); border-color: var(--saffron-dark); }
.to-top:hover { background: var(--saffron-dark); }
.skip-link { background: var(--saffron-dark); }
.order-bar { background: rgba(43, 24, 16, .92); }
.scroll-progress { background: linear-gradient(90deg, var(--saffron-dark), var(--saffron), var(--gold)); }
.cat-hero-stats b { color: #fff; }
.cx-steps li { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.3); color: #fff; }
.chip.active, .check-list svg, .cx-assure svg { background: var(--saffron-dark); border-color: var(--saffron-dark); }
.category-nav-inner > a.active, .category-item > a.active { background: linear-gradient(135deg, #e65100, #ff7a00); }
.btn-primary { background: linear-gradient(135deg, #e65100, #ff7a00); box-shadow: 0 8px 20px rgba(230, 81, 0, .3); }
.cx-thumb, .listing-img, .cx-mini, .custom-icon { background-color: #fff0dc; }

/* Who We Serve: uploaded logos sit fully inside the round badge */
.industry-logo img { object-fit: contain; padding: 20px; background: #fff; }

/* menu bar: solid background (keeps dropdowns anchored) + tidier dropdown */
.category-nav { background: #fff6ea; }
.submenu { border-radius: 14px; padding: 10px; box-shadow: 0 18px 40px rgba(43, 28, 18, .16); }
.submenu a { padding: 9px 12px; line-height: 1.35; }
.submenu a:hover { background: rgba(255, 122, 0, .12); color: var(--saffron-dark); }

/* pricing + minimum order */
.qty-min{font-size:12px;color:#7a6555;margin:8px 0 2px}.qty-min b{color:var(--saffron-dark)}
.qty-btn:disabled{opacity:.4;cursor:not-allowed}
.qty-input.too-low{border-color:#c0262d;background:#fff5f5}
.price-box{margin:6px 0 18px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#fff3e2,#ffe7c8);border:1.5px solid #f7c98d}
.price-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price-each{font:800 32px 'Plus Jakarta Sans',sans-serif;color:var(--saffron-dark);line-height:1}.price-each.ask{font-size:22px}
.price-per{font-size:14px;color:#7a6555}
.price-total{margin-top:8px;font-size:15px}.price-total b{color:var(--green-dark)}#priceTotal{font-size:18px}
.tier-table{margin-top:12px;border-radius:12px;background:#fff;border:1px solid #f1e2d1;overflow:hidden}
.tier-head{padding:8px 14px;font:700 12px 'Poppins';letter-spacing:.06em;text-transform:uppercase;color:#7a6555;background:#fff8ee}
.tier-row{display:flex;justify-content:space-between;padding:9px 14px;font-size:14px;border-top:1px solid #f7ece0}
.tier-row.on{background:#fff1de}.tier-row.on b{color:var(--saffron-dark)}
.price-note{font-size:12px;color:#7a6555;margin-top:10px}
.card-price{font-size:13px;color:#7a6555;margin-top:-2px}.card-price b{color:var(--saffron-dark);font-size:16px}

.cx-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.cx-each{font-size:12px;color:#7a6555}.cx-line{font:800 18px 'Plus Jakarta Sans',sans-serif;color:var(--saffron-dark)}.cx-ask{font-size:12px;color:#7a6555;font-style:italic}
.cx-sumbox{margin:0 0 16px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#fff3e2,#ffe7c8);border:1.5px solid #f7c98d}
.cx-sumbox>div{display:flex;justify-content:space-between;align-items:baseline}.cx-sumbox b{font:800 24px 'Plus Jakarta Sans',sans-serif;color:var(--saffron-dark)}
.cx-sumbox small{display:block;font-size:12px;color:#7a6555;margin-top:4px}

/* compact price box */
.price-box { padding: 10px 14px; border-radius: 12px; margin: 4px 0 14px; }
.price-each { font-size: 20px; }
.price-each.ask { font-size: 16px; }
.price-per { font-size: 12px; }
.price-total { margin-top: 3px; font-size: 13px; }
#priceTotal { font-size: 14px; }
.tier-table { margin-top: 8px; border-radius: 10px; }
.tier-head { padding: 5px 10px; font-size: 10px; }
.tier-row { padding: 5px 10px; font-size: 12px; }
.price-note { font-size: 11px; margin-top: 6px; }

/* custom product fields */
.pd-field textarea,.pd-field input[type=text],.pd-field input[type=number]{font:inherit;padding:12px;border:1px solid #e3cdb4;border-radius:8px;background:#fff;width:100%}
.pd-field textarea{resize:vertical}
.pd-chips{display:flex;flex-wrap:wrap;gap:8px}.pd-chips input{position:absolute;opacity:0;pointer-events:none}
.pd-chips span{display:inline-block;padding:9px 16px;border:1.5px solid #e3cdb4;border-radius:999px;background:#fff;font-size:14px;cursor:pointer;transition:.15s}
.pd-chips label:hover span{border-color:var(--saffron)}
.pd-chips input:checked+span{background:var(--saffron-dark);border-color:var(--saffron-dark);color:#fff}
.pd-chips input:focus-visible+span{box-shadow:0 0 0 3px rgba(255,122,0,.3)}
.pd-tick{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.pd-tick input{width:20px;height:20px;accent-color:var(--saffron-dark)}
.pd-field .req{color:#c0262d;font-style:normal}

.price-note + .price-note { margin-top: 2px; }
.price-note { font-weight: 500; }


/* footer bottom row: copyright | legal links | credit, with dividers */
.footer-bottom { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 0; font-size: 0.8rem; color: rgba(255, 255, 255, 0.7); }
.footer-bottom .fb-item { padding: 0 14px; line-height: 1.4; }
.footer-bottom .fb-item + .fb-item { border-left: 1px solid rgba(255, 255, 255, 0.35); }
.footer-bottom a { color: rgba(255, 255, 255, 0.85); text-decoration: none; }
.footer-bottom a:hover { color: #fff; }
.footer-credit a, .footer-credit a:hover { color: #fff; font-weight: 600; text-decoration: none; border-bottom: 0; }
@media (max-width: 700px) { .footer-bottom .fb-item { padding: 0 10px; } }

/* ===== information / policy pages ===== */
.doc-hero { position: relative; z-index: 1; width: 100%; flex-shrink: 0; color: #fff; background: linear-gradient(120deg, #e65100 0%, #ff7a00 55%, #ffa62e 100%); overflow: hidden; }
.doc-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.1) 1.5px, transparent 1.5px); background-size: 26px 26px; }
.doc-hero-inner { position: relative; max-width: 1200px; margin: 0 auto; padding: 34px 24px 38px; }
.doc-hero h1 { font-family: var(--font-display); font-size: clamp(28px, 4vw, 42px); font-weight: 700; color: #fff; animation: none; margin: 6px 0 8px; letter-spacing: -0.015em; }
.doc-updated { font-size: 13px; opacity: .92; }
.doc-wrap { position: relative; z-index: 1; width: 100%; max-width: 1200px; padding: 38px 24px 70px; display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 36px; align-items: start; flex: 1; }
.doc-wrap:not(:has(.doc-toc)) { grid-template-columns: minmax(0, 820px); justify-content: center; }
.doc-toc { position: sticky; top: 150px; }
.doc-toc-card { background: #fff; border: 1px solid #f1e2d1; border-radius: 18px; padding: 20px 20px 14px; box-shadow: 0 10px 30px rgba(193, 88, 7, .07); }
.doc-toc-card h2 { font: 700 12px 'Poppins', sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #7a6555; margin-bottom: 10px; }
.doc-toc-card ol { list-style: none; counter-reset: toc; display: grid; gap: 2px; }
.doc-toc-card li { counter-increment: toc; }
.doc-toc-card a { display: block; padding: 7px 10px; border-radius: 9px; font-size: 13.5px; line-height: 1.35; color: #4a3828; text-decoration: none; transition: background .15s, color .15s; }
.doc-toc-card ol.numbered a::before { content: counter(toc) ". "; color: var(--saffron-dark); font-weight: 600; }
.doc-toc-card a:hover { background: #fff1de; color: var(--saffron-dark); }
.doc-main { background: #fff; border: 1px solid #f1e2d1; border-radius: 22px; padding: 40px 46px 34px; box-shadow: 0 16px 44px rgba(193, 88, 7, .08); min-width: 0; }
.doc-body { counter-reset: sec; }
.doc-body h2 { scroll-margin-top: 150px; font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -0.01em; color: var(--green-dark); margin: 34px 0 10px; padding-top: 22px; border-top: 1px solid #f3e6d6; }
.doc-body h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.doc-numbered h2 { counter-increment: sec; }
.doc-numbered h2::before { content: counter(sec) ". "; color: var(--saffron-dark); }
.doc-body h3 { font-size: 16px; font-weight: 700; color: #3b2a1e; margin: 20px 0 6px; }
.doc-body p { color: #5b4636; line-height: 1.85; margin-bottom: 12px; font-size: 15.5px; }
.doc-body ul, .doc-body ol { margin: 0 0 14px 22px; color: #5b4636; line-height: 1.85; font-size: 15.5px; }
.doc-body li { margin-bottom: 4px; padding-left: 4px; }
.doc-body li::marker { color: var(--saffron-dark); font-weight: 600; }
.doc-body strong { color: #2b1810; }
.doc-contact { margin-top: 36px; padding: 24px 26px; border-radius: 18px; color: #fff; background: linear-gradient(120deg, #e65100, #ff8a1f); display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; justify-content: space-between; }
.doc-contact h3 { font-family: var(--font-display); font-size: 20px; margin-bottom: 4px; }
.doc-contact p { font-size: 14px; opacity: .92; }
.doc-contact-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.doc-contact .btn-light, .doc-contact .btn-ghost { padding: 10px 20px; font-size: 14px; }
@media (max-width: 900px) {
  .doc-wrap { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px 16px 56px; }
  .doc-toc { position: static; }
  .doc-main { padding: 26px 20px; border-radius: 16px; }
}

/* ===== No glow / ring on focused form fields (site-wide): only a clean border colour ===== */
input, select, textarea { outline: none; }
input:focus, input:focus-visible, select:focus, select:focus-visible, textarea:focus, textarea:focus-visible { outline: none !important; box-shadow: none !important; }
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):focus, select:focus, textarea:focus { border-color: var(--saffron); }
.nav-search:focus-within, .cx-input:focus-within, .cx-input.invalid:focus-within { box-shadow: none !important; }
.cx-input:focus-within, .nav-search:focus-within { border-color: var(--saffron); }
.pd-chips input:focus-visible + span, .tick input:focus-visible + .box { box-shadow: none; }
