/* Gem Theory colour theme (deep green + gold on cream, like the logo), loaded on
   every page by server.js after the theme's CSS. Inline theme colours are swapped in server.js
   (THEME_COLORS); these rules cover the parts that need more than a colour swap. */
:root {
  --gt-teal: #0E5E62;
  --gt-teal-dark: #0A4A4D;
  --gt-teal-deeper: #083E41;
  --gt-teal-tint: #E3F0EE;
  --gt-gold: #D4A64A;
  --gt-gold-light: #E7B75F;
  --gt-bar: #083B3D; /* header / menu bars: deep green */
  --gt-ink: #0B3B3C;
  --gt-cream: #FBF8F3;
  --gt-cream-2: #F6F0E6;
  --gt-line: #E9DFD0;
}

body { background: var(--gt-cream); color: var(--gt-ink); }
body h1, body h2, body h3, body h4 { color: var(--gt-teal-dark); }


/* ---- main header (logo, search, account, cart): warm brown ---- */
.header-advanced .header-advanced__logo-position--left { background: var(--gt-bar) !important; }
.header-advanced .header-advanced-icons,
.header-advanced .header-advanced-icons a,
.header-advanced .header-advanced-icons span:not([data-cart-count]) { color: #fff !important; }
.header-advanced .header-advanced-icons svg { fill: #fff !important; color: #fff !important; }
/* search: one plain rounded field with the magnifier inside (results: local-home.js searchPage) */
.header-advanced .header__search .field { position: relative; }
.header-advanced .header__search .field::before, .header-advanced .header__search .field::after { display: none !important; }
.header-advanced .header__search input[type="search"], .header-advanced .header__search input[type="text"] {
  height: 46px !important; padding: 0 52px 0 20px !important; border-radius: 999px !important; border: 1px solid rgba(231, 183, 95, .45) !important;
  background: rgba(255, 255, 255, .08) !important; color: #fff !important; font-size: 14px !important; box-shadow: none !important;
}
.header-advanced .header__search input::placeholder { color: rgba(255, 255, 255, .62) !important; opacity: 1; }
.header-advanced .header__search input:focus { outline: none !important; border-color: var(--gt-gold) !important; background: rgba(255, 255, 255, .12) !important; }
.header-advanced .header__search button, .header-advanced .header__search .search__button {
  position: absolute !important; right: 4px; top: 50%; transform: translateY(-50%); width: 38px !important; height: 38px !important; min-width: 0 !important;
  padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; display: grid !important; place-items: center;
}
.header-advanced .header__search button:hover { background: rgba(231, 183, 95, .18) !important; }
.header-advanced .header__search button svg { fill: var(--gt-gold-light) !important; width: 18px !important; height: 18px !important; }
.header-advanced .predictive-search, .header-advanced .header__search .search__close, .header-advanced .header__search .reset__button,
.header-advanced .header__search .header-search-close, .header-advanced .search-modal.quickSearch { display: none !important; }
.header-advanced .search-modal__form { background: none !important; } /* the theme's light gradient box */
/* logo and "by Shri Ganga Depot" on the left; a small search next to the icons on the right */
@media (min-width: 1025px) {
  .header-advanced .header-advanced__content { gap: 24px; }
  .header-advanced .header__logo { flex: none !important; width: auto !important; max-width: none !important; }
  .header-advanced .header__search { flex: 0 0 260px !important; width: 260px !important; max-width: 260px; margin: 0 30px 0 auto !important; }
  .header-advanced .header-advanced-icons { flex: none !important; width: auto !important; min-width: 0 !important; }
  .header-advanced .header__search input[type="search"], .header-advanced .header__search input[type="text"] {
    height: 40px !important; padding: 0 44px 0 16px !important; font-size: 13.5px !important; }
  .header-advanced .header__search button, .header-advanced .header__search .search__button { width: 34px !important; height: 34px !important; right: 3px; }
}
@media (min-width: 1025px) and (max-width: 1239px) {
  .header-advanced .header__search { flex-basis: 210px !important; width: 210px !important; max-width: 210px; }
}

/* ---- menu bar: same brown, gold accents, thin gold line under the header ---- */
.header-navigation.header-nav-vertical-menu { background: var(--gt-bar) !important; border-top: 1px solid rgba(231, 183, 95, .25); box-shadow: 0 2px 0 var(--gt-gold) !important; }
.header-navigation .menu-lv-1 > .menu-lv-1__action, .header-navigation .menu-lv-1 > .menu-lv-1__action .text { color: #fff !important; }
.header-navigation .menu-lv-1:hover > .menu-lv-1__action, .header-navigation .menu-lv-1:hover > .menu-lv-1__action .text,
.header-navigation .menu-lv-1__action[aria-current], .header-navigation .menu-lv-1__action[aria-current] .text { color: var(--gt-gold-light) !important; }

/* ---- desktop: one header row, always. The theme's sticky bar (logo, menu, icons) is shown at the
   top too, full width and 72px high, and the two-row header (logo + search, then the menu) is not
   shown. Search is the magnifier icon in the bar. ---- */
@media (min-width: 1025px) {
  header.header-advanced { display: none !important; }
  .section-header-navigation .header-navigation .hide-main-menu { display: flex !important; }
  .header-navigation > .sticky-container-full { max-width: 100% !important; height: 72px; padding: 0 32px !important; gap: 24px !important; }
  .header-navigation .main-menu { flex: 1 1 auto !important; min-width: 0; height: 100%; }
  .header-navigation .main-menu > .container { height: 100%; }
  .header-navigation .main-menu--wrapper, .header-navigation .header__inline-menu { height: 100%; }
  .header-navigation .main-menu--wrapper .list-menu--inline { height: 100%; padding-top: 0 !important; display: flex !important; align-items: stretch; }
  .header-navigation .menu-lv-1 { display: flex !important; align-items: stretch; }
  .header-navigation .menu-lv-1 > .menu-lv-1__action { display: flex !important; align-items: center; padding-top: 0 !important; padding-bottom: 0 !important; }
  .header-navigation .menu-lv-1 > .menu-lv-1__action, .header-navigation .menu-lv-1 > .menu-lv-1__action .text { white-space: nowrap; }
  .header-navigation .header-icons { flex: none !important; padding: 0 !important; }
}
/* Below 1536px the theme's sizes don't fit on one line, so each band below has its own, worked out
   from the parts' widths: the logo 124px, the icons 119px, and the menu's eight items about 48px of
   text for each px of font size, plus their padding on both sides. Every band keeps them at least
   10px apart; the "Shri Ganga Depot / Since 1905" lines beside the logo come in from 1280px
   (heritage.css, which has their sizes). */
@media (min-width: 1025px) and (max-width: 1535px) {
  .header-navigation .main-menu--wrapper > .header__inline-menu > .list-menu { margin-left: 0 !important; margin-right: 0 !important; }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  .header-navigation > .sticky-container-full { padding: 0 16px !important; gap: 12px !important; }
  .header-navigation .menu-lv-1 > .menu-lv-1__action { padding-left: 8px !important; padding-right: 8px !important; }
  .header-navigation .menu-lv-1 > .menu-lv-1__action, .header-navigation .menu-lv-1 > .menu-lv-1__action .text { font-size: 13.5px !important; }
}
@media (min-width: 1025px) and (max-width: 1099px) {
  .header-navigation .menu-lv-1 > .menu-lv-1__action { padding-left: 6px !important; padding-right: 6px !important; }
  .header-navigation .menu-lv-1 > .menu-lv-1__action, .header-navigation .menu-lv-1 > .menu-lv-1__action .text { font-size: 13px !important; }
}
@media (min-width: 1280px) and (max-width: 1365px) {
  .header-navigation > .sticky-container-full { padding: 0 20px !important; gap: 16px !important; }
  .header-navigation .menu-lv-1 > .menu-lv-1__action { padding-left: 7px !important; padding-right: 7px !important; }
  .header-navigation .menu-lv-1 > .menu-lv-1__action, .header-navigation .menu-lv-1 > .menu-lv-1__action .text { font-size: 13px !important; }
}
@media (min-width: 1366px) and (max-width: 1535px) {
  .header-navigation > .sticky-container-full { padding: 0 24px !important; gap: 20px !important; }
  .header-navigation .menu-lv-1 > .menu-lv-1__action { padding-left: 9px !important; padding-right: 9px !important; }
  .header-navigation .menu-lv-1 > .menu-lv-1__action, .header-navigation .menu-lv-1 > .menu-lv-1__action .text { font-size: 13.5px !important; }
}
/* The dropdowns of the last items open leftwards, ending under their item, so they stay on the
   screen (opening rightwards, Gemstone's ran past the right edge and made pages scroll sideways). */
@media (min-width: 1025px) {
  .header-navigation .menu-lv-1:nth-last-child(-n+3) > .header__submenu { left: auto !important; right: 0 !important; }
}

/* cart / count bubbles: gold with dark text */
.cart-count-bubble, [data-cart-count] { background: var(--gt-gold) !important; color: var(--gt-bar) !important; }

/* ---- headings and section titles: teal serif, gold rule ---- */
.halo-block-header .title, .halo-block-header .title .text,
.page-header, .productView-title, .collection-title, h1.title, h2.title {
  color: var(--gt-teal) !important;
}
.halo-block-header .title, .halo-block-header .title .text { font-family: Georgia, "Times New Roman", serif !important; text-transform: none !important; letter-spacing: 0 !important; }
.halo-block-header { border-top-color: var(--gt-line) !important; }
.halo-block-header .title:after, .halo-block-header .title .text:after { background: var(--gt-gold) !important; border-color: var(--gt-gold) !important; }

/* ---- product cards: white tiles on cream, teal buttons ---- */
.product-item .card { background: #fff; border: 1px solid var(--gt-line); border-radius: 8px; overflow: hidden; transition: box-shadow .2s; }
.product-item .card:hover { box-shadow: 0 8px 22px rgba(10, 74, 77, .12); }
.product-item .card .card-title, .product-item .card .card-title a { color: #22302f !important; }
.product-item .button-ATC, .product-item [data-btn-addtocart],
.productView .product-form__submit, .button.button-1 {
  background: var(--gt-teal) !important; border-color: var(--gt-teal) !important; color: #fff !important;
}
.product-item .button-ATC:hover, .productView .product-form__submit:hover, .button.button-1:hover {
  background: var(--gt-teal-dark) !important; border-color: var(--gt-teal-dark) !important; color: #fff !important;
}
.button.button-2 { border-color: var(--gt-teal) !important; color: var(--gt-teal) !important; }
.button.button-2:hover { background: var(--gt-teal) !important; color: #fff !important; }
.price .money, .price-item--regular, .price-item--sale, [data-product-price] { color: var(--gt-teal-dark); }
.price-item--sale, .price--on-sale .price-item--sale { color: #B3261E !important; }

/* ---- mobile header: brown with white icons ---- */
.section-header-mobile .header-mobile, .header-mobile { background: var(--gt-bar) !important; }
.header-mobile svg { fill: #fff !important; }

/* ---- logo: the logo's own gold artwork straight on the deep green bars ---- */
img.local-logo { background: none; padding: 0; box-shadow: none; }

/* ---- Air Reviews cards: date on the name row (right), stars under the name ---- */
.AirReviews-Blocks__ReviewDetails--Heading {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; row-gap: 8px;
}
.AirReviews-Blocks__ReviewDetails--Heading > .AirReviews-Blocks__ReviewDetails--AuthorBlock { grid-column: 1; grid-row: 1; }
.AirReviews-Blocks__ReviewDetails--Heading > .AirReviews-Blocks__ReviewDetails--StarsBlock { display: contents !important; }
.AirReviews-Blocks__ReviewDetails--StarsBlock > .AirReviews-StarRate { grid-column: 1 / -1; grid-row: 2; }
.AirReviews-Blocks__ReviewDetails--StarsBlock > .AirReviews-Blocks__Date {
  grid-column: 2; grid-row: 1; justify-self: end; margin: 0 !important; white-space: nowrap; font-size: 13px; color: #7a7f7e !important;
}

/* ---- header: cart group ---- */
.header-advanced-cart { display: flex !important; align-items: center; gap: 14px; }
.header-mobile__item--cart { gap: 0; }

/* ---- product cards: the theme's button group at the image's top-left (it held the wishlist heart)
   is hidden; the multi-select checkbox sits at the image's bottom-left (quick-add.css). ---- */
.product-item .card-product__group.group-left { display: none !important; }

/* ---- long product descriptions: collapsed with "Read more" (quick-add.js) ---- */
.local-desc { position: relative; }
.local-desc.is-collapsed { max-height: 340px; overflow: hidden; }
.local-desc.is-collapsed::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 110px;
  background: linear-gradient(rgba(251, 248, 243, 0), var(--gt-cream)); pointer-events: none;
}
.local-desc-toggle {
  display: inline-flex; align-items: center; gap: 6px; margin: 12px 0 4px; padding: 10px 22px; border: 2px solid var(--gt-teal);
  border-radius: 24px; background: #fff; color: var(--gt-teal); font-weight: 700; font-size: 14px; cursor: pointer;
}
.local-desc-toggle:hover { background: var(--gt-teal); color: #fff; }

/* ---- phones: the floating "Our Reviews" tab covered page text (reviews are still on the page) ---- */
@media (max-width: 749px) {
  .AirReviews-Widget__FloatButtonWrapper { display: none !important; }
}

/* ---- mobile header: the logo shrinks to fit between the left and right icons ---- */
@media (max-width: 749px) {
  .header-mobile__item--logo { min-width: 0; display: flex; justify-content: center; }
  .header-mobile__item--logo .header-mobile--icon, .header-mobile__item--logo .header__heading-link {
    min-width: 0 !important; max-width: 100% !important; width: auto !important; padding: 0 4px !important;
  }
  .header-mobile__item--logo img.local-logo { width: auto !important; height: auto !important; max-width: 100% !important; max-height: 38px; }
}
@media (max-width: 380px) {
  .header-mobile__item--menu, .header-mobile__item--search, .header-mobile__item--customer { padding-left: 6px !important; padding-right: 6px !important; }
  .header-mobile__item--logo img.local-logo { max-height: 32px; }
}

/* ---- collection filters (local-filter.js): loading state and empty result ---- */
body.local-filtering #main-collection-product-grid { opacity: .4; pointer-events: none; transition: opacity .2s; }
.local-noresults { grid-column: 1 / -1; width: 100%; padding: 40px 16px; text-align: center; color: var(--gt-ink); }

.local-pages { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 28px 0 10px; }
.local-pages a, .local-pages span { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 20px; border: 1px solid var(--gt-line); background: #fff; color: var(--gt-teal-dark); font-weight: 600; text-decoration: none; }
.local-pages a:hover { border-color: var(--gt-teal); background: var(--gt-teal-tint); }
.local-pages span[aria-current] { background: var(--gt-teal); border-color: var(--gt-teal); color: #fff; }

/* ---- Mobile menu (theme sidebar): compact rows, Gem Theory colours, sub-categories as a 2-column grid ---- */
@media (max-width: 1024px) {
  .halo-sidebar_menu { background: var(--gt-cream, #FBF8F3); }
  .halo-sidebar_menu .menu-heading-mobile { background: var(--gt-bar, #083B3D); padding: 12px 16px !important; min-height: 0; border: 0; }
  .halo-sidebar_menu .menu-heading-mobile .title { color: var(--gt-gold, #D4A64A) !important; font-size: 16px !important; letter-spacing: .12em; text-transform: uppercase; }
  .halo-sidebar_menu .menu-heading-mobile .halo-sidebar-close svg { fill: #fff !important; color: #fff; }
  .halo-sidebar_menu .header__inline-menu { padding: 6px 0; }
  .halo-sidebar_menu .menu-lv-1 { border-bottom: 1px solid #EEE7DA !important; }
  .halo-sidebar_menu .menu-lv-1 > .menu-lv-1__action { padding: 12px 18px !important; min-height: 0 !important; line-height: 1.3 !important; }
  .halo-sidebar_menu .menu-lv-1 > .menu-lv-1__action .text { color: #0A4A4D !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
  .halo-sidebar_menu .menu-lv-1 > .menu-lv-1__action:active { background: #F1EBDD; }
  .halo-sidebar_menu .menu-lv-1 .icon-dropdown svg { fill: var(--gt-gold, #D4A64A) !important; color: var(--gt-gold, #D4A64A); }

  /* opened sub-menu: green title bar, then compact two-column tiles */
  .halo-sidebar_menu .nav-title-mobile { background: var(--gt-bar, #083B3D) !important; color: var(--gt-gold, #D4A64A) !important; min-height: 0 !important; padding: 13px 48px !important; line-height: 1.3 !important; font-size: 15px !important; font-weight: 700; letter-spacing: .04em; }
  .halo-sidebar_menu .nav-title-mobile .icon-dropdown svg, .halo-sidebar_menu .nav-title-mobile svg { fill: #fff !important; stroke: #fff; color: #fff; }
  .halo-sidebar_menu .menu-dropdown, .halo-sidebar_menu .header__submenu { background: var(--gt-cream, #FBF8F3) !important; }
  .halo-sidebar_menu .menu-dropdown__wrapper { display: block !important; padding-bottom: 80px; }
  .halo-sidebar_menu .menu-dropdown__column { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 14px !important; width: 100% !important; height: auto !important; }
  .halo-sidebar_menu .menu-dropdown__column > .grid-sizer { display: none !important; }
  .halo-sidebar_menu .menu-dropdown__column { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .halo-sidebar_menu .menu-dropdown__column > .site-nav { grid-column: span 2; order: 0; }
  .halo-sidebar_menu .menu-dropdown__column > .site-nav.gt-mukhi { grid-column: span 1; order: 2; }
  .halo-sidebar_menu .menu-dropdown__column::before, .halo-sidebar_menu .menu-dropdown__column::after {
    grid-column: 1 / -1; display: block; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #9A7322; }
  .halo-sidebar_menu .menu-dropdown__column::before { content: "Rudraksha by type"; order: -1; }
  .halo-sidebar_menu .menu-dropdown__column::after { content: "Shop by Mukhi"; order: 1; margin-top: 6px; }
  .halo-sidebar_menu .gt-mukhi .site-nav-title { justify-content: center; min-height: 48px !important; padding: 4px !important; }
  .halo-sidebar_menu .gt-mukhi .site-nav-title .text { display: grid !important; justify-items: center; line-height: 1.1; font-size: 10.5px !important; font-weight: 500 !important; color: #6B5A3A !important; }
  .halo-sidebar_menu .gt-mukhi .site-nav-title .text b { font-size: 17px; color: #0A4A4D; font-family: Georgia, "Times New Roman", serif; }
  .halo-sidebar_menu .menu-dropdown__column > .site-nav { position: static !important; width: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; transform: none !important; }
  .halo-sidebar_menu .header__submenu { padding-bottom: 80px !important; }
  .halo-sidebar_menu .header__submenu { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; align-content: start; padding: 0 14px 80px !important; }
  .halo-sidebar_menu .header__submenu > .nav-title-mobile { grid-column: 1 / -1; margin: 0 -14px 4px !important; }
  .halo-sidebar_menu .header__submenu > li.menu-lv-2 { border: 0 !important; margin: 0 !important; }
  .halo-sidebar_menu .menu-dropdown__column .site-nav-title, .halo-sidebar_menu .header__submenu .menu-lv-2__action {
    display: flex !important; align-items: center; min-height: 42px !important; height: 100%; padding: 8px 10px !important; border: 1px solid #E6DCC6 !important;
    border-radius: 10px; background: #fff; line-height: 1.25 !important; text-align: left;
  }
  .halo-sidebar_menu .menu-dropdown__column .site-nav-title .text, .halo-sidebar_menu .menu-dropdown__column .site-nav-title span,
  .halo-sidebar_menu .header__submenu .menu-lv-2__action, .halo-sidebar_menu .header__submenu .menu-lv-2__action span {
    color: #0A4A4D !important; font-size: 13px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important;
  }
  .halo-sidebar_menu .menu-dropdown__column .site-nav-title:active, .halo-sidebar_menu .header__submenu .menu-lv-2__action:active { border-color: var(--gt-gold, #D4A64A) !important; background: #FFF8E8; }
  .halo-sidebar_menu .menu-dropdown__column .site-nav-title .icon-dropdown, .halo-sidebar_menu .menu-dropdown__column .site-nav-title svg { display: none !important; }
  /* "Go to All ..." as a full-width button */
  .halo-sidebar_menu .navigation_all_mobile { display: block !important; grid-column: 1 / -1; margin: 12px 14px 0 !important; padding: 0 !important; border: 0 !important; }
  .halo-sidebar_menu .header__submenu > .navigation_all_mobile { margin: 0 !important; }
  .halo-sidebar_menu .navigation_all_mobile a { display: flex !important; justify-content: center; align-items: center; min-height: 42px !important; padding: 8px 12px !important;
    border-radius: 10px; background: var(--gt-teal, #0E5E62) !important; border: 0 !important; }
  .halo-sidebar_menu .navigation_all_mobile a, .halo-sidebar_menu .navigation_all_mobile a span { color: #fff !important; font-weight: 700 !important; font-size: 13px !important; text-transform: none !important; }
  .halo-sidebar_menu .menu-dropdown__banner { display: none !important; }

  /* account links */
  .halo-sidebar_menu .nav-account { padding: 8px 0 90px; }
  .halo-sidebar_menu .nav-account .customer-links a { padding: 11px 18px !important; min-height: 0 !important; border-bottom: 1px solid #EEE7DA; }
  .halo-sidebar_menu .nav-account .title, .halo-sidebar_menu .nav-account .text { color: #0A4A4D !important; font-size: 14px !important; font-weight: 600; }
  .halo-sidebar_menu .nav-account svg, .halo-sidebar_menu .nav-account svg path { fill: var(--gt-gold, #D4A64A) !important; color: var(--gt-gold, #D4A64A); }
}
@media (max-width: 1024px) {
  .halo-sidebar_menu .header__submenu > .navigation_all_mobile .menu-lv-2__action,
  .halo-sidebar_menu .header__submenu > .navigation_all_mobile .menu-lv-2__action span { color: #fff !important; background: var(--gt-teal, #0E5E62) !important; border: 0 !important; justify-content: center; }
  .halo-sidebar_menu .header__submenu .menu-lv-2__action span, .halo-sidebar_menu .menu-dropdown__column .site-nav-title .text { text-transform: capitalize !important; }
}

/* ---- desktop menus: compact, Gem Theory colours ---- */
@media (min-width: 1025px) {
  /* All Rudraksha mega menu: a cream panel of small tiles */
  .header-navigation .menu-lv-1 > .menu-dropdown { background: var(--gt-cream, #FBF8F3) !important; border-top: 3px solid var(--gt-gold) !important;
    box-shadow: 0 18px 34px -18px rgba(6, 46, 48, .45) !important; max-height: none !important; }
  .header-navigation .menu-dropdown > .container { max-width: 1120px !important; padding: 18px 24px 20px !important; }
  .header-navigation .menu-dropdown__wrapper { display: block !important; height: auto !important; padding: 0 !important; margin: 0 !important; }
  /* types (Nepali, Indonesian, Gauri Shanker, ...) as pills, then "Shop by Mukhi": 1-21 as chips */
  .header-navigation .menu-dropdown__column { display: flex !important; flex-wrap: wrap; gap: 8px; width: 100% !important;
    height: auto !important; max-width: none !important; padding: 0 !important; }
  .header-navigation .menu-dropdown__column::before, .header-navigation .menu-dropdown__column::after {
    flex-basis: 100%; display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #9A7322; }
  .header-navigation .menu-dropdown__column::before { content: "Rudraksha by type"; order: -1; }
  .header-navigation .menu-dropdown__column::after { content: "Shop by Mukhi"; order: 1; margin-top: 8px; }
  .header-navigation .menu-dropdown__column > .grid-sizer { display: none !important; }
  .header-navigation .menu-dropdown__column > .site-nav { position: static !important; width: auto !important; margin: 0 !important; padding: 0 !important;
    transform: none !important; left: auto !important; top: auto !important; order: 0; }
  .header-navigation .menu-dropdown__column > .site-nav.gt-mukhi { order: 2; flex: 1 0 calc((100% - 80px) / 11); max-width: calc((100% - 80px) / 11); }
  .header-navigation .menu-dropdown__column .site-nav-list { padding: 0 !important; margin: 0 !important; border: 0 !important; }
  .header-navigation .menu-dropdown__column .site-nav-title { display: flex !important; align-items: center; min-height: 38px; padding: 8px 16px !important;
    border: 1px solid #E6DCC6 !important; border-radius: 999px; background: #fff; line-height: 1.25 !important; transition: border-color .2s, background .2s, transform .2s; }
  .header-navigation .menu-dropdown__column .site-nav-title .text, .header-navigation .menu-dropdown__column .site-nav-title span {
    color: var(--gt-teal-dark) !important; font-size: 13px !important; font-weight: 600 !important; text-transform: capitalize !important; letter-spacing: 0 !important; }
  .header-navigation .menu-dropdown__column .site-nav-title:hover { border-color: var(--gt-gold) !important; background: #FFF8E8; transform: translateY(-1px); }
  .header-navigation .menu-dropdown__column .site-nav-title .icon-dropdown { display: none !important; }
  .header-navigation .gt-mukhi .site-nav-title { justify-content: center; min-height: 52px; padding: 6px 4px !important; border-radius: 14px; }
  .header-navigation .gt-mukhi .site-nav-title .text { display: grid; justify-items: center; line-height: 1.1; font-size: 11px !important; font-weight: 500 !important; color: #6B5A3A !important; }
  .header-navigation .gt-mukhi .site-nav-title .text b { font-size: 18px; font-weight: 700; color: var(--gt-teal-dark); font-family: Georgia, "Times New Roman", serif; }
  .header-navigation .gt-mukhi .site-nav-title:hover { background: var(--gt-teal-dark); border-color: var(--gt-teal-dark) !important; }
  .header-navigation .gt-mukhi .site-nav-title:hover .text, .header-navigation .gt-mukhi .site-nav-title:hover .text b { color: var(--gt-gold-light) !important; }

  /* All Products, Gemstone: two short columns instead of one long list */
  .header-navigation .menu-lv-1 > .header__submenu { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 10px; width: 400px !important;
    padding: 12px !important; background: var(--gt-cream, #FBF8F3) !important; border-top: 3px solid var(--gt-gold) !important; border-radius: 0 0 14px 14px;
    box-shadow: 0 18px 34px -18px rgba(6, 46, 48, .45) !important; }
  .header-navigation .menu-lv-1 > .header__submenu > li { border: 0 !important; margin: 0 !important; padding: 0 !important; }
  .header-navigation .menu-lv-1 > .header__submenu > li.navigation_all_mobile, .header-navigation .menu-lv-1 > .header__submenu > .nav-title-mobile { display: none !important; }
  .header-navigation .header__submenu .menu-lv-2__action { display: block; padding: 7px 10px !important; border: 0 !important; border-radius: 8px; line-height: 1.3 !important; }
  .header-navigation .header__submenu .menu-lv-2__action, .header-navigation .header__submenu .menu-lv-2__action span {
    color: var(--gt-teal-dark) !important; font-size: 13.5px !important; font-weight: 500 !important; text-transform: capitalize !important; }
  .header-navigation .header__submenu .menu-lv-2__action:hover { background: #FFF1D6; }
  .header-navigation .header__submenu .menu-lv-2__action:hover, .header-navigation .header__submenu .menu-lv-2__action:hover span { color: #7A5410 !important; }
}

/* ---- collection pages: filters in a side drawer ("Filters" button), products centred across the full width ---- */
.gt-filter-btn { display: none; }
@media (min-width: 1025px) {
  .halo-collection-content.sidebar--layout_vertical { display: block !important; }
  .sidebar--layout_vertical > .page-content { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding-left: 0 !important; margin-left: 0 !important; }
  .sidebar--layout_vertical > .page-sidebar { position: fixed !important; top: 0 !important; left: 0 !important; bottom: 0 !important; height: 100vh !important;
    width: 340px !important; max-width: 90vw !important; z-index: 1001 !important; margin: 0 !important; padding: 20px 24px 32px !important; overflow-y: auto !important;
    background: var(--gt-cream, #FBF8F3) !important; box-shadow: 0 0 40px rgba(6, 46, 48, .28); opacity: 0; visibility: hidden;
    transform: translateX(-100%) !important; transition: transform .3s ease, opacity .3s ease, visibility .3s ease; }
  body.open-mobile-sidebar .sidebar--layout_vertical > .page-sidebar { opacity: 1; visibility: visible; transform: none !important; }
  .sidebar--layout_vertical > .page-sidebar .halo-sidebar-header { display: block !important; margin: 0 0 14px; padding-bottom: 12px; border-bottom: 2px solid var(--gt-gold); }
  .sidebar--layout_vertical > .page-sidebar .halo-sidebar-header .title { font-size: 18px; font-weight: 700; color: var(--gt-teal-dark); }
  .sidebar--layout_vertical > .page-sidebar .halo-sidebar-close { display: grid !important; place-items: center; position: absolute !important; top: 16px; right: 16px;
    width: 34px; height: 34px; opacity: 1 !important; pointer-events: auto !important; z-index: 2; }
  .gt-filter-btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; margin-right: 22px; padding: 0 18px; border-radius: 999px;
    border: 1.5px solid var(--gt-teal); background: var(--gt-teal); color: #fff; font: inherit; font-weight: 700; font-size: 14px; letter-spacing: .02em; cursor: pointer; }
  .gt-filter-btn:hover { background: var(--gt-teal-dark); border-color: var(--gt-teal-dark); }
  .gt-filter-btn svg { width: 18px !important; height: 18px !important; fill: none !important; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
  .toolbar-colLeft { display: flex !important; align-items: center; }
}


/* ---- product cards (collections, related, recently viewed): the title always takes two lines
   (a longer one ends with "…"), so every card is the same height and the Add to cart buttons line up ---- */
.product-item .card-title { display: block !important; min-height: 2.6em; line-height: 1.3 !important; }
.product-item .card-title .text { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
  overflow: hidden; white-space: normal !important; text-overflow: ellipsis; }

/* ---- product page gallery: the row of small photos under the main photo (layout-3, server.js).
   Every photo is a 68 x 68 square, cropped to fill it, 12px apart; the one shown is marked by a 2px
   border only (the theme faded it), and a transparent border on the others keeps them all the same
   size. The theme's slider makes each slide as wide as its list divided by the photos shown (3, or 4
   from 1600px wide), so the list is sized to 80px a photo: 68 + 6px on each side. ---- */
.layout-3 .productView-thumbnail-wrapper .productView-for.slick-initialized { box-sizing: border-box; width: calc(3 * 80px + 70px); max-width: 100%; margin: 0 auto; }
@media (min-width: 1600px) {
  .layout-3 .productView-thumbnail-wrapper .productView-for.slick-initialized { width: calc(4 * 80px + 70px); }
}
.layout-3 .productView-thumbnail-wrapper .productView-thumbnail { box-sizing: border-box; padding: 0 6px; }
.layout-3 .productView-thumbnail-wrapper .productView-thumbnail-link { box-sizing: border-box; width: 68px; height: 68px; margin: 0 auto; border: 2px solid transparent; }
.layout-3 .productView-thumbnail-wrapper .productView-thumbnail-link img { object-fit: cover; }
.layout-3 .productView-thumbnail-wrapper .productView-thumbnail.slick-current .productView-thumbnail-link { border-color: var(--gt-ink); }
.layout-3 .productView-thumbnail-wrapper .productView-thumbnail.slick-current .productView-thumbnail-link img { opacity: 1; }

/* ---- the "% off" tag (local-live-prices.js offBadge): red, with a price-tag icon, over the photo's
   top left corner of product cards and of the product page's main photo. It is only there when the
   product's price is below its compare-at price. ---- */
.gt-off { display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 4px; background: #C0392B; color: #fff;
  font-size: 12.5px; font-weight: 700; line-height: 1.2; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.gt-off svg { flex: none; width: 14px !important; height: 14px !important; fill: none !important; stroke: currentColor !important; }
.card-product__wrapper > .gt-off, .productView-image-wrapper > .gt-off, .gt-card__media > .gt-off { position: absolute; z-index: 3; top: 10px; left: 10px; }
