/* Typography — Inter (matches perfume2spray reference).
   @import must stay at the very top of the file; the rules that use it are
   in the "GLOBAL TYPOGRAPHY SYSTEM" block at the bottom. */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");

/* ===== Premium Mobile Header ===== */
@media (max-width: 480px) {
  /* Header background */
  .header-main {
    position: relative !important;
  }
  .header-main,
  .new-header {
    background-color: #fcd14e !important;
    /* padding: 12px 16px 14px !important; */
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  }

  /* Logo */
  .store-logo {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .store-logo img {
    height: 42px !important;
    width: auto !important;
    object-fit: contain;
    background: transparent !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }

  /* Delivery information */
  .header-top-right {
    position: absolute !important;
    left: 60px !important;
    top: 8px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .location-text {
    color: #2d2415 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  .location-address,
  .location-subtitle {
    color: rgba(45, 36, 21, 0.85) !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    margin-top: 2px !important;
  }

  .location-dropdown-icon {
    color: #2d2415 !important;
  }

  /* Menu icon */
  .lucide-menu,
  .app-bar-main svg {
    color: #2d2415 !important;
    width: 22px !important;
    height: 22px !important;
  }

  /* Header action icons */
  .header-top-left {
    position: absolute !important;
    right: 16px !important;
    top: 10px !important;
    display: flex;
    align-items: center;
    gap: 12px !important;
  }

  /* Search section */
  .search-shell {
    margin-top: 16px !important;
  }

  .search-box {
    background: #fdf7e8 !important;
    border: 1px solid #d9c48f !important;
    border-radius: 18px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  }

  .search-field .search-input {
    color: #3d3d3d !important;
    font-size: 14px !important;
  }

  .search-field .search-input::placeholder {
    color: #6d6d6d !important;
  }

  .search-container:before,
  .search-container svg {
    color: #5a4c2a !important;
    background: transparent !important;
  }

  /* Category spacing */
  .min-h-screen .page-container .grid.grid-cols-2.gap-6 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .min-h-screen .page-container .grid-cols-2 .bg-white {
    padding: 6px 4px !important;
    border-radius: 16px !important;
  }

  .min-h-screen .page-container .grid-cols-2 .bg-white a img {
    border-radius: 18px !important;
  }

  .recommended-theme-card-grid h3,
  .min-h-screen .page-container .grid-cols-2 .bg-white h3 {
    font-size: 11px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  /* Search padding */
  .app-bar {
    padding-bottom: 10px !important;
  }
}

/* Premium desktop logo */
.desktop-store-logo img {
  margin: 0 !important;
  height: 52px !important;
  object-fit: contain;
}

/* Premium search styling */
.search-box {
  border: 1px solid #d9c48f !important;
  border-radius: 18px !important;
}

/* Softer category images 
.cat-card .cat-card-img-rounded {
  border-radius: 18px !important;
}
*/
/* Footer icons */
.vertical-soc-cont .sh-social-icon {
  border-radius: 50% !important;
}

.title-punchline {
  font-weight: 600 !important;
}

@media (max-width: 1023px) {
  .category-icon {
    height: 75px !important;
    width: 75px !important;
    object-fit: contain !important;
  }
}
main:has(.hero-banner-root) {
  display: flex;
  flex-direction: column;
}
main:has(.hero-banner-root) .section:has(.ubb-testimonials-section) {
  order: 1;
}

#related-products-section h3.text-sm.font-semibold.mb-4 {
  visibility: hidden !important;
  position: relative;
}

#related-products-section h3.text-sm.font-semibold.mb-4::after {
  content: "You May Also Need";
  visibility: visible;
  position: absolute;
  left: 0;
  top: 0;
}
.header-categories {
  display: none;
}
.min-h-screen .page-container .mb-12 {
  display: none !important;
}
.min-h-screen .page-container .lg\:mt-16 {
  display: none !important;
}

@media (max-width: 767px) {
  .floating-cart-button {
    bottom: 117px !important;
  }
}
.floating-cart-button {
  background: #ff326a !important;
}
.product-card {
  position: relative;
  background: #fff !important;
  border: 1px solid #ececec !important;
  border-radius: 16px !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  /* reserve room for the add-to-cart bar pinned to the card bottom */
  padding-bottom: 58px !important;
  transition:
    transform 0.18s,
    box-shadow 0.18s,
    border-color 0.18s;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 38px rgba(38, 50, 56, 0.13);
  border-color: #e2d3c6;
}

/* Image on white, contained (theme used object-fit:cover on a tinted box).
   The container is made non-positioned + non-clipping so the add button can
   anchor to the CARD bottom; the <a> link becomes the image box instead. */
.product-card-image-container {
  position: static !important;
  overflow: visible !important;
  background: #fff !important;
  border: none !important;
  border-bottom: 1px solid #ececec !important;
  border-radius: 0 !important;
  aspect-ratio: auto !important; /* collapse to the link's height (theme forced 4/5) */
  height: auto !important;
}
.product-card-link {
  position: relative !important;
  display: block !important;
  aspect-ratio: 1 / 1 !important;
}
.product-card-image {
  object-fit: contain !important;
  padding: 8px !important;
  background: #fff;
}
.product-card {
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  transition: opacity 0.3s ease;
  padding-bottom: 58px;
}

/* Add button ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ full-width orange "Add to cart" bar pinned to the card bottom,
   with a cart icon injected via a data: URI (no sprite is published). */
.product-card-add-button {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 8px !important;
  top: auto !important;
  width: auto !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #eb4d79 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-size: 0 !important;
  text-transform: none !important;
  box-shadow: 0 4px 12px rgba(236, 90, 30, 0.3);
}

.product-card-add-button::after {
  content: "Add to cart";
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}
.product-card-add-button:hover {
  filter: brightness(1.07);
}

/* Quantity stepper (shown once the item is in the cart) ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â match the add button:
   a full-width orange bar pinned to the card bottom with white - / value / +. */
.product-card-quantity-selector {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 8px !important;
  top: auto !important;
  width: auto !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #eb4d79 !important;
  border-radius: 10px !important;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(236, 90, 30, 0.3);
}
.product-card-quantity-btn {
  background: transparent !important;
  color: #fff !important;
  border: none !important;
  width: 44px !important;
  height: 100% !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer;
}
.product-card-quantity-btn:hover {
  background: rgba(255, 255, 255, 0.16) !important;
}
.product-card-quantity-value {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  flex: 1 1 auto;
  text-align: center;
}

/* Discount ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ green badge, top-left over the image */
.product-card-discount-amount {
  position: absolute !important;
  top: 10px;
  left: 10px;
  z-index: 4;
  background: linear-gradient(135deg, #22a75c, #1c8a4a);
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 4px 9px;
  border-radius: 7px;
  box-shadow: 0 4px 10px rgba(28, 138, 74, 0.3);
}
.product-card-wishlist {
  right: 8px !important;
  position: absolute;
  left: auto !important;
  top: 8px;
  z-index: 6;
}

/* Price row: dark bold price + strikethrough MRP (theme showed price as a green pill) */
.product-card-price {
  background: transparent !important;
  color: #263238 !important;
  border: none !important;
  padding: 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
  box-shadow: none !important; /* theme left a green offset shadow that looked like an underline */
}
.product-card-mrp-price {
  color: #6b7280 !important;
  text-decoration: line-through;
  font-size: 12.5px !important;
}
/* theme adds a 20x1px line after the discount (rendered as stray dashes on the badge) */
.product-card-discount-amount::after {
  display: none !important;
}

.product-card-info {
  padding: 12px 12px 0 !important;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

/* Reference order: title first, then price, then the variant chip
   (the theme renders price above the title). Tight spacing for a compact card. */
.product-card-name-link {
  order: 1;
  margin-bottom: 4px;
}
.product-card-pricing {
  order: 2;
  margin: 0 !important;
}
.product-card-variant-chip {
  order: 3;
}
.product-swiper-slide {
  height: auto !important;
}
.product-swiper-slide .scroll-animate-item,
.recommended-theme-mode-grid .scroll-animate-item {
  height: 100% !important;
}
.product-card {
  height: 100% !important;
}
.header-main {
  background-color: #fcd14e !important;
}
.desktop-header-main {
  background-color: #fcd14e !important;
}
.desktop-header {
  background-color: #fcd14e !important;
}
.product-detail-add-to-cart-button.universal-btn-style {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  background: #eb4d79 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  box-shadow: 0 4px 12px rgba(236, 90, 30, 0.3) !important;
  cursor: pointer;
  transition:
    filter 0.2s ease,
    transform 0.2s ease;
}

.product-detail-add-to-cart-button.universal-btn-style:hover {
  filter: brightness(1.07);
}
.nav-item .nav-link,
.nav-item svg {
  color: #ffffff !important;
}
.badge-icon-count {
  background-color: #e43726 !important;
  color: #fff !important;
}
.product-detail-quantity-selector {
  align-items: center;
  background-color: #ec4899 !important;
}
.product-detail-cart-icon-btn.has-cart-items {
  justify-content: flex-start;
  min-width: 56px !important;
  width: 50px !important;
}
.product-detail-cart-label {
  display: none;
}

@media (max-width: 768px) {
  .header-search {
    margin-top: 20px;
  }
}

@media (max-width: 768px) {
  .header-search-box,
  .header-search-trigger {
    border-radius: 16px;
  }
}

/* Title box â€” uniform on all viewports (stops horizontal overflow/overlap) */
.sh-ge-collect .banner-content.banner-content-outside {
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 0 !important;
}
.sh-ge-collect .banner-content-inner,
.sh-ge-collect .banner-title {
  width: 100% !important;
}
.sh-ge-collect .banner-title {
  margin: 0 !important;
  padding: 0 2px !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  text-overflow: ellipsis;
  box-sizing: border-box;
}

/* Mobile / tablet: compact uniform image box + small title */
@media (max-width: 1023px) {
  .sh-ge-collect .banner-image-container,
  .sh-ge-collect .banner-collection {
    height: 108px !important;
  }
  .sh-ge-collect .banner-image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  .sh-ge-collect .banner-title {
    height: 34px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
}

/* Desktop: big uniform image box (maps show large but stay aligned) */
@media (min-width: 1024px) {
  .sh-ge-collect .banner-image-container,
  .sh-ge-collect .banner-collection {
    height: 240px !important;
  }
  .sh-ge-collect .banner-image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  .sh-ge-collect .banner-title {
    height: 32px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    -webkit-line-clamp: 1;
  }
}

/* ============================================================
   District (State / City) collection â€” single-row horizontal
   scroll on desktop AND mobile.
   - The heading (first child) stays a full-width block on its
     own line.
   - The 13 map cards become an inline-block row that never
     wraps, so as many as fit are shown and the rest scroll.
   - The scrollbar is hidden on all engines.
   Trick: display:block + white-space:nowrap on the section keeps
   block-level children (heading) on their own line while the
   inline-block cards flow horizontally in one non-wrapping row.
   Selector uses this collection's stable class; if the section is
   recreated and the hash changes, swap it for `section.sh-ge-collect`.
   ============================================================ */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 {
  display: block !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  /* clip to the screen width and scroll INSIDE â€” without these the section
     (a flex item in <main>) grows to its content width and makes the whole
     page scroll sideways on mobile */
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  /* hide scrollbar â€” Firefox / old IE-Edge */
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
/* hide scrollbar â€” Chrome / Safari / new Edge */
section.sh-ge-collect-6a8fd3db1921b074aaff8383::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Heading row: keep it full width on its own line above the maps.
   position:sticky + left:0 pins the heading/sub-heading so ONLY the
   card track scrolls horizontally â€” the heading never moves. */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 > div:first-child {
  display: block !important;
  white-space: normal !important;
  width: 100% !important;
  position: sticky !important;
  left: 0 !important;
  z-index: 2 !important;
}

/* Each map card: fixed-width inline-block cell in the scroll row */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 > .section-item {
  display: inline-block !important;
  white-space: normal !important;
  vertical-align: top !important;
  width: 150px !important;
  max-width: none !important;
  margin: 0 6px !important;
}
section.sh-ge-collect-6a8fd3db1921b074aaff8383 > .section-item:first-of-type {
  margin-left: 0 !important;
}

/* Compact, uniform map image box for the scroll row (clip any spill) */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-image-container,
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-collection {
  height: 150px !important;
  overflow: hidden !important;
}

/* Keep the label box within the card and center it */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-content,
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-content-outside,
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-content-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* District label: fits the card width, wraps to 2 lines instead of
   spilling over neighbouring cards */
section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-title {
  width: 100% !important;
  max-width: 100% !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  box-sizing: border-box;
}

/* Mobile: smaller cells so a few peek in and the rest scroll */
@media (max-width: 767px) {
  section.sh-ge-collect-6a8fd3db1921b074aaff8383 > .section-item {
    width: 104px !important;
    margin: 0 5px !important;
  }
  section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-image-container,
  section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-collection {
    height: 96px !important;
  }
  section.sh-ge-collect-6a8fd3db1921b074aaff8383 .banner-title {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }
}

/* ================================================================
   GLOBAL TYPOGRAPHY SYSTEM
   Rebuilt to match the perfume2spray.com reference: Inter everywhere,
   with a consistent size / weight / letter-spacing hierarchy across
   headings, product cards, buttons, navigation and the footer.
   The @import for Inter lives at the TOP of this file (CSS requires it).
   ================================================================ */

:root {
  --font-primary: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial,
    sans-serif;
  /* The theme builds every font off this variable (styles/theme.js).
     Overriding it here re-points the whole storefront at Inter. */
  --typography-font-family: var(--font-primary);

  /* Text colour ramp (mirrors the reference) */
  --ubb-text: #1a1a1a;
  --ubb-subtext: #6b7280;
  --ubb-muted: #9ca3af;
}

/* Force Inter on everything the theme, MUI and the custom sections render.
   SVG/icon elements are excluded so icon fonts are never clobbered. */
html body,
html body *:not(i):not(svg):not(path):not(use):not([class*="material-icons"]):not(
    [class*="fa-"]
  ) {
  font-family: var(--font-primary) !important;
}

html body {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: normal !important;
  color: var(--ubb-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* ---------------- Section headings ----------------
   Reference look: compact uppercase Inter, heavy weight, tight leading. */
.heading-title,
.section-heading,
.section-heading .title,
.category-header,
.brand-heading,
.collection-heading,
.refer-earn-title,
#related-products-section h3.text-sm.font-semibold.mb-4::after {
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: var(--ubb-text) !important;
}

/* Brands / testimonial section headings authored inside custom sections */
.ubb-testimonials-section h2,
.brands-section h2,
section:has(.brand-arrow) h2 {
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}

.section-subheading,
.heading-description,
.category-subheader {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: var(--ubb-subtext) !important;
}

@media (min-width: 1024px) {
  .heading-title,
  .section-heading,
  .section-heading .title,
  .category-header,
  .refer-earn-title,
  .ubb-testimonials-section h2,
  section:has(.brand-arrow) h2 {
    font-size: 22px !important;
  }
}

@media (max-width: 767px) {
  .heading-title,
  .section-heading,
  .section-heading .title,
  .category-header,
  .refer-earn-title,
  .ubb-testimonials-section h2,
  section:has(.brand-arrow) h2 {
    font-size: 17px !important;
    letter-spacing: 0.03em !important;
  }
}

/* ---------------- Category tiles ---------------- */
.cat-card-title,
.category-label,
.recommended-theme-card-grid h3,
.min-h-screen .page-container .grid-cols-2 .bg-white h3 {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.01em !important;
  color: var(--ubb-text) !important;
}

@media (max-width: 767px) {
  .cat-card-title,
  .category-label,
  .recommended-theme-card-grid h3,
  .min-h-screen .page-container .grid-cols-2 .bg-white h3 {
    font-size: 11.5px !important;
  }
}

/* ---------------- Product card ----------------
   Reference: name 14/600, price 16/700, struck MRP 13/400. */
.product-card-name {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.01em !important;
  color: var(--ubb-text) !important;
}

.product-card-price {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
}

.product-card-mrp-price {
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
}

.product-card-discount-amount {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

.product-card-quantity,
.product-card-variant-chip,
.product-card-variant-text {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
  color: var(--ubb-subtext) !important;
}

@media (max-width: 767px) {
  .product-card-name {
    font-size: 13px !important;
  }

  .product-card-price {
    font-size: 15px !important;
  }

  .product-card-mrp-price {
    font-size: 12px !important;
  }
}

/* ---------------- Buttons ----------------
   Reference: compact uppercase label, 600/700, wide tracking. */
.universal-btn-style,
.MuiButton-root,
.product-detail-add-to-cart-button.universal-btn-style,
.floating-cart-button,
.expandable-view-more-btn,
.btn-primary {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

/* The "Add to cart" bar label is injected via ::after (font-size:0 on the
   button itself), so it needs its own rule. */
.product-card-add-button::after {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.product-card-quantity-value {
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
}

/* ---------------- Header ----------------
   Intentionally NOT restyled. The header keeps its existing size / weight /
   spacing (set in the blocks at the top of this file); only the font family
   changes, via the global rule above, so it stays in step with the rest of
   the site. Do not add header typography rules here. */

/* ---------------- Product detail page ---------------- */
.breadcrumb,
.breadcrumb a,
.breadcrumb .current {
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  color: var(--ubb-subtext) !important;
}

.product-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.005em !important;
  color: var(--ubb-text) !important;
}

.product-sku {
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  color: var(--ubb-muted) !important;
}

.product-price {
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em !important;
}

.product-mrp-price {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--ubb-muted) !important;
}

.product-discount {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

.variant-field-label,
.sh-variant-field-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
}

.variant-chip,
.sh-variant-chip,
.variant-label-text,
.sh-variant-label-text {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}

.expandable-section-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
}

.expandable-view-more-btn {
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
}

/* Product description / long-form copy */
.product-description,
.expandable-section-content,
.expandable-section-content p,
.expandable-section-content li {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: 0.01em !important;
  color: #3f434b !important;
}

.shoopy-trusted-badge-label,
.delivery-estimate-root .MuiTypography-body2 {
  font-size: 12.5px !important;
  letter-spacing: 0.01em !important;
}

@media (min-width: 1024px) {
  .product-title {
    font-size: 26px !important;
  }

  .product-price {
    font-size: 26px !important;
  }
}

@media (max-width: 767px) {
  .product-title {
    font-size: 19px !important;
  }

  .product-price {
    font-size: 22px !important;
  }
}

/* ---------------- Custom "Discover Odisha" / testimonials sections ---- */
.ubb-dist-eyebrow,
.ubb-testimonials-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

.ubb-dist-title {
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
}

.ubb-dist-name {
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
}

.ubb-testimonial-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
}

.ubb-testimonial-text,
.ubb-testimonial-message {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0.01em !important;
  color: #3f434b !important;
}

@media (max-width: 767px) {
  .ubb-dist-title {
    font-size: 19px !important;
  }
}

/* ---------------- Footer ----------------
   Reference: 12px/700 uppercase column titles with wide tracking,
   13.5px/400 links on generous leading. */
footer h3,
footer h4,
.footer-container h3,
.about-section h3 {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

footer a,
footer p,
footer li,
footer span,
.footer-policies a {
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: 0.01em !important;
}

.copy-right,
.footer-bottom,
.footer-bottom span {
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
}
/* Category carousel: subtract the 12px gap so 5 cards fit without cropping */
.swiper.category-swiper
  .category-swiper-slide:not(.recommended-theme-card-swiper):not(.recommended-theme-card-grid) {
  width: calc(100% / var(--category-in-row) - 12px) !important;
}

/* Prev / next buttons: on-brand pink — ONLY home banner + categories (not collections) */
.hero-banner-swiper .swiper-button-prev,
.hero-banner-swiper .swiper-button-next,
.category-swiper .swiper-button-prev,
.category-swiper .swiper-button-next {
  background: #eb4d79 !important;
  color: #fff !important;
}
.hero-banner-swiper .swiper-button-prev::after,
.hero-banner-swiper .swiper-button-next::after,
.category-swiper .swiper-button-prev::after,
.category-swiper .swiper-button-next::after {
  color: #fff !important;
  font-weight: 800 !important;
}
.hero-banner-swiper .swiper-button-prev:hover,
.hero-banner-swiper .swiper-button-next:hover,
.category-swiper .swiper-button-prev:hover,
.category-swiper .swiper-button-next:hover {
  background: #d43d68 !important;
}