/** Shopify CDN: Minification failed

Line 29:0 All "@import" rules must come first

**/
/* =============================================================================
   TS Microblading — Brand Polish CSS
   Brand palette: #3E342B (brown) / #C79C3E (gold) / #FBFBF3 (cream) / #F4DFC9 (peach)
   Fonts: Rozha One (display) + Poppins (body)
   Last updated: 2026-05-11
============================================================================= */

:root {
  --ts-brown: #3E342B;
  --ts-gold: #C79C3E;
  --ts-bronze: #8D6E2B;
  --ts-caramel: #BA906A;
  --ts-cream: #FBFBF3;
  --ts-peach: #F4DFC9;
  --ts-text-dark: #2B2716;
  --ts-text-body: #3F4447;
  --ts-shadow-soft: 0 8px 24px rgba(62, 52, 43, 0.08);
  --ts-shadow-card: 0 12px 32px rgba(62, 52, 43, 0.12);
  --ts-radius-soft: 12px;
  --ts-radius-card: 16px;
}

/* ---------- LOAD BRAND FONTS (Google Fonts) ---------- */
@import url('https://fonts.googleapis.com/css2?family=Rozha+One&family=Poppins:wght@300;400;500;600;700&display=swap');

/* ---------- FONT ENFORCEMENT ---------- */
body, p, li, td, .product-info, .product-card, .btn, button, input, select, textarea,
.cart__total, .cart__line, .product__price, .price, .product__title, .price-item {
  font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 400;
}

h1, h2, h3, h4, .heading, .h1, .h2, .h3, .h4,
.image-banner h1, .image-banner h2, .image-banner h3,
.image-banner__heading, .banner-content h2,
.section-header__title, .section-header h2,
.product__title, .article__title, .page__title, .collection__title,
.testimonial-heading, .testimonial-title {
  font-family: 'Rozha One', 'Playfair Display', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em;
  color: var(--ts-text-dark);
}

.page-width, .container, .main-content {
  font-family: 'Poppins', sans-serif !important;
}

/* ---------- BRAND COLOR OVERRIDES ---------- */
body {
  background-color: var(--ts-cream) !important;
  color: var(--ts-text-body) !important;
}

a {
  color: var(--ts-brown);
  transition: color 200ms ease;
}
a:hover {
  color: var(--ts-gold);
}

/* ---------- PRIMARY BUTTON (btn_1) ---------- */
.btn, .button, .btn-1, .btn--primary, button.btn,
a.btn, a.button,
.shopify-payment-button__button--unbranded,
.product-form__submit, .cart__submit, .button--full-width {
  background-color: var(--ts-brown) !important;
  color: var(--ts-cream) !important;
  border: 2px solid var(--ts-brown) !important;
  border-radius: 4px !important;
  padding: 14px 28px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 13px;
  cursor: pointer;
  transition: all 250ms ease;
  box-shadow: var(--ts-shadow-soft);
}
.btn:hover, .button:hover, button.btn:hover,
a.btn:hover, a.button:hover,
.shopify-payment-button__button--unbranded:hover,
.product-form__submit:hover {
  background-color: var(--ts-gold) !important;
  border-color: var(--ts-gold) !important;
  color: var(--ts-cream) !important;
  transform: translateY(-2px);
  box-shadow: var(--ts-shadow-card);
}

/* Secondary buttons (outlined brown) */
.btn--secondary, .btn-2, .btn--outline {
  background-color: transparent !important;
  color: var(--ts-brown) !important;
  border: 2px solid var(--ts-brown) !important;
}
.btn--secondary:hover, .btn-2:hover, .btn--outline:hover {
  background-color: var(--ts-brown) !important;
  color: var(--ts-cream) !important;
}

/* ---------- HERO MOBILE IMAGE SWAP — robust pseudo-element approach ---------- */
/* Desktop: ultra-wide banner natural */
@media (min-width: 769px) {
  [id*="image_banner_naC4d6"] {
    aspect-ratio: 2.6 / 1;
    max-height: 720px;
  }
  [id*="image_banner_naC4d6"] img {
    object-fit: cover !important;
    object-position: center !important;
  }
}

/* Mobile: hide the desktop ultra-wide img and show portrait via section background */
@media (max-width: 768px) {
  /* Hide all images in the hero section on mobile */
  [id*="image_banner_naC4d6"] img,
  [id*="image_banner_naC4d6"] picture,
  [id*="image_banner_naC4d6"] .image-banner__image,
  [id*="image_banner_naC4d6"] .banner__media {
    visibility: hidden !important;
    opacity: 0 !important;
  }
  /* Replace with mobile portrait via background on the wrapper */
  [id*="image_banner_naC4d6"] .halo-banner,
  [id*="image_banner_naC4d6"] .image-banner,
  [id*="image_banner_naC4d6"] .halo-image-banner,
  [id*="image_banner_naC4d6"] {
    background-image: url('/cdn/shop/files/hero-mobile-tracy.jpg') !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    aspect-ratio: 4 / 5 !important;
    min-height: 380px !important;
    max-height: 60vh !important;
    height: auto !important;
  }
  /* Ensure the inner content (CTAs) sits properly above the bg */
  [id*="image_banner_naC4d6"] .content-box,
  [id*="image_banner_naC4d6"] .banner-content,
  [id*="image_banner_naC4d6"] .halo-image-banner__content {
    position: absolute !important;
    bottom: 32px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 32px) !important;
    text-align: center !important;
    z-index: 2 !important;
  }
  /* CTAs stack vertically on mobile */
  [id*="image_banner_naC4d6"] .banner-action,
  [id*="image_banner_naC4d6"] .button-box {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  [id*="image_banner_naC4d6"] .banner-button {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }
}

/* ---------- HERO HEIGHT CONSTRAINT ---------- */
/* Cap the giant hero so portrait images don't blow up to 2700px */
.section-image-banner,
[id*="image_banner"],
section[id*="image-banner"] {
  max-height: 80vh;
  overflow: hidden;
}
.section-image-banner img,
[id*="image_banner"] img,
[id*="image-banner"] img {
  object-fit: cover !important;
  object-position: center;
  max-height: 80vh;
  width: 100%;
}

/* Specifically constrain image-banner large_img blocks */
.image-banner__image,
.banner__media,
.image-banner-wrapper img {
  max-height: 80vh !important;
  aspect-ratio: 16 / 9;
  object-fit: cover !important;
  width: 100%;
}

/* Hero text overlay readable on warm bg */
.image-banner__heading,
.banner-content h2,
.image-banner__content h2 {
  font-size: clamp(36px, 5vw, 72px) !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  color: var(--ts-text-dark) !important;
}

.image-banner__sub-title,
.banner-content [class*="sub-title"] {
  font-family: 'Poppins', sans-serif !important;
  letter-spacing: 0.2em;
  font-size: 12px;
  text-transform: uppercase;
  color: var(--ts-gold) !important;
  font-weight: 500;
}

.image-banner__text {
  font-family: 'Poppins', sans-serif !important;
  color: var(--ts-text-body) !important;
  font-size: 17px;
  line-height: 1.6;
}

/* ---------- ANNOUNCEMENT BAR POLISH ---------- */
.announcement-bar, .header__announcement {
  background-color: var(--ts-brown) !important;
  color: var(--ts-cream) !important;
  font-family: 'Poppins', sans-serif !important;
  letter-spacing: 0.12em;
}
.announcement-bar p, .announcement-bar a {
  color: var(--ts-cream) !important;
  margin: 0;
}

/* ---------- HEADER LOGO SCALING (Halo Ella precise targeting) ---------- */
.header__heading-logo,
.header__heading-logo.w-100,
.logo__main,
.header__logo img,
.logo img,
.header__heading a img,
header img.logo,
.site-header__logo img {
  width: auto !important;
  max-width: 220px !important;
  max-height: 64px !important;
  height: auto !important;
  object-fit: contain !important;
  display: inline-block;
}
@media (max-width: 768px) {
  .header__heading-logo,
  .header__heading-logo.w-100,
  .logo__main {
    max-width: 160px !important;
    max-height: 50px !important;
  }
}
.header__heading, .header__heading-link {
  display: flex !important;
  align-items: center;
  text-align: left;
}

/* ---------- FOOTER POLISH (Halo Ella precise targeting) ---------- */
.footer,
.footer.footer-2,
[class*="footer-2"],
.section-footer-group,
#shopify-section-sections--footer,
.footer-block__bottom {
  background-color: var(--ts-brown) !important;
  color: var(--ts-cream) !important;
}
.footer__content-top, .footer__content-bottom {
  background-color: var(--ts-brown) !important;
}

/* Footer headings (CONTÁCTANOS, TIENDA, INFORMACIÓN, LEGAL, SUSCRÍBETE) */
.footer-block__heading,
.footer .footer-block__heading,
.footer-block h2.footer-block__heading {
  color: var(--ts-cream) !important;
  font-family: 'Rozha One', serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
}

/* Footer body text + links */
.footer-block__details,
.footer-block__details p,
.footer-block__details a,
.footer-block__list a,
.footer-block__list li a,
.footer-block__subheading,
.footer-block__subheading p,
.footer-block__text,
.footer-block__newsletter p,
.footer .rte,
.footer .rte p,
.footer p, .footer a, .footer li {
  color: rgba(251, 251, 243, 0.85) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  text-decoration: none;
}
.footer a:hover, .footer-block__list a:hover, .footer-block__details a:hover {
  color: var(--ts-gold) !important;
}

/* Footer copyright bar */
.footer-block__bottom,
.footer__column-item.footer__copyright,
.footer__copyright,
.footer__bottom {
  background-color: var(--ts-text-dark) !important;
  color: rgba(251, 251, 243, 0.6) !important;
  font-size: 12px !important;
  padding: 16px 0 !important;
}
.footer-block__bottom p, .footer__copyright p {
  color: rgba(251, 251, 243, 0.6) !important;
}

/* Social icons in footer */
.footer-block__list-social a,
.footer-block__list-social svg,
.footer-block__list-social path {
  color: var(--ts-cream) !important;
  fill: var(--ts-cream) !important;
}
.footer-block__list-social a:hover,
.footer-block__list-social a:hover svg,
.footer-block__list-social a:hover path {
  color: var(--ts-gold) !important;
  fill: var(--ts-gold) !important;
}

/* Hide duplicated social icons — Halo renders one in newsletter column AND one in text column */
.footer-block__newsletter .footer-block__list-social,
.footer-block__bottom .footer-block__list-social {
  display: none !important;
}

/* Newsletter input in footer */
.footer-block__newsletter input[type="email"],
.footer .newsletter__input,
.footer input[type="email"] {
  background-color: rgba(251, 251, 243, 0.10) !important;
  border: 1px solid rgba(251, 251, 243, 0.25) !important;
  color: var(--ts-cream) !important;
  padding: 14px 18px !important;
  border-radius: 6px !important;
}
.footer-block__newsletter input[type="email"]::placeholder,
.footer input[type="email"]::placeholder {
  color: rgba(251, 251, 243, 0.5) !important;
}
.footer-block__newsletter button,
.footer .newsletter-form__button,
.footer button[type="submit"] {
  background-color: var(--ts-gold) !important;
  color: var(--ts-text-dark) !important;
  border: 2px solid var(--ts-gold) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  padding: 14px 28px !important;
  border-radius: 4px !important;
}
.footer-block__newsletter button:hover {
  background-color: var(--ts-cream) !important;
  border-color: var(--ts-cream) !important;
}

/* Payment icons row */
.footer-block__list-payment {
  filter: brightness(0) invert(0.9);
  opacity: 0.85;
}

/* ---------- MEGA MENU FIX (dropdown was hidden on hover) ---------- */
.header__inline-menu .menu-lv-1:hover > .header__submenu,
.header__inline-menu .menu-lv-1.dropdown:hover > .header__submenu,
.header__inline-menu li.dropdown:hover > ul,
.header__inline-menu .menu-lv-1:hover > ul.list-menu--disclosure,
.header__inline-menu .menu-lv-1:focus-within > .header__submenu,
.header__inline-menu .menu-lv-1.dropdown:focus-within > .header__submenu,
.header-menu .has-dropdown:hover > .submenu,
.header__menu-item-wrapper:hover > .header__submenu,
li.menu-lv-item:hover > ul.menu-lv-2,
li.menu-lv-1:hover > ul.menu-lv-2 {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

.header__inline-menu .menu-lv-1 > .header__submenu,
.header__inline-menu .menu-lv-1 > ul.list-menu--disclosure,
.header__inline-menu .menu-lv-1 > ul.menu-lv-2,
.header__inline-menu li.dropdown > ul,
.header__submenu.list-menu--disclosure-1 {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 260px !important;
  background-color: var(--ts-cream) !important;
  border: 1px solid rgba(199, 156, 62, 0.20) !important;
  border-top: 3px solid var(--ts-gold) !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 16px 48px rgba(62, 52, 43, 0.18) !important;
  padding: 12px 0 !important;
  margin: 0 !important;
  z-index: 1000 !important;
  list-style: none !important;
  display: none;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 200ms ease, transform 200ms ease;
}

.header__submenu li,
.menu-lv-2 li,
li.menu-lv-2,
li.menu-lv-item.menu-lv-2,
.list-menu--disclosure li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  width: 100% !important;
  float: none !important;
}

/* Show "Ir a [Categoría]" parent link on desktop too (Halo hides it via .navigation_all_mo) */
@media (min-width: 1025px) {
  .header__submenu li.navigation_all_mo,
  .header__submenu li[class*="navigation_all_mo"],
  ul.menu-lv-2 li.navigation_all_mo {
    display: block !important;
    visibility: visible !important;
  }
  .header__submenu .nav-title-mobile {
    display: none !important;
  }
}
.header__submenu a,
.menu-lv-2 a,
.list-menu--disclosure a,
.header__submenu .header__menu-item {
  display: block !important;
  padding: 12px 24px !important;
  color: var(--ts-text-dark) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background-color 200ms ease, color 200ms ease, padding-left 200ms ease !important;
  border-left: 3px solid transparent !important;
  white-space: nowrap !important;
}
.header__submenu a:hover,
.menu-lv-2 a:hover,
.list-menu--disclosure a:hover,
.header__submenu li:hover > a {
  background-color: rgba(199, 156, 62, 0.10) !important;
  color: var(--ts-brown) !important;
  padding-left: 28px !important;
  border-left-color: var(--ts-gold) !important;
}
/* "Ir a Servicios" / "Ir a Tienda" — first link is the parent → highlight as primary */
.header__submenu li:first-child > a,
.menu-lv-2 li:first-child > a {
  font-weight: 600 !important;
  color: var(--ts-brown) !important;
  border-bottom: 1px solid rgba(199, 156, 62, 0.15) !important;
  margin-bottom: 4px !important;
  padding-bottom: 14px !important;
}

/* Parent li position relative for absolute child */
.header__inline-menu .menu-lv-1,
.header__inline-menu li.dropdown,
.header-menu .has-dropdown {
  position: relative !important;
}

/* Caret indicator on parent menu item */
.header__inline-menu .menu-lv-1.dropdown > a::after,
.header__inline-menu li.dropdown > a::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  margin-left: 8px;
  opacity: 0.6;
  transition: transform 200ms ease;
}
.header__inline-menu .menu-lv-1.dropdown:hover > a::after {
  transform: rotate(225deg) translateY(2px);
  opacity: 1;
}

/* Mobile drawer submenus — show inline (no fly-out) */
@media (max-width: 1024px) {
  .header-mobile .menu-lv-2,
  .drawer__menu .submenu,
  .mobile-menu .header__submenu {
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    border-left: 2px solid var(--ts-gold) !important;
    border-radius: 0 !important;
    padding: 0 0 0 16px !important;
    margin-top: 4px !important;
    background: transparent !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .header-mobile .menu-lv-2 a,
  .drawer__menu .submenu a {
    color: var(--ts-text-dark) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 14px !important;
    padding: 8px 12px !important;
  }
}

/* ---------- HEADER ICONS COLOR FIX (SVG black -> brand brown) + TOUCH TARGET 44px ---------- */
.header__icons,
.header-icons,
.header__buttons {
  display: flex !important;
  align-items: center;
  gap: 12px;
}
.header__icon,
.header__icon-wrapper {
  /* WCAG 2.5.5 Touch target — min 44x44 */
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px !important;
  border-radius: 50% !important;
  transition: background-color 200ms ease, color 200ms ease;
  position: relative;
}
.header__icon:hover {
  background-color: rgba(199, 156, 62, 0.12) !important;
}
.header__icon svg {
  width: 22px !important;
  height: 22px !important;
}
.header__icon,
.header__icon svg,
.header__icon svg path,
.header__icon svg line,
.header__icon svg circle,
.header__icon svg rect,
.header__icon svg polyline,
.header__icon span {
  color: var(--ts-brown) !important;
  fill: var(--ts-brown) !important;
  stroke: var(--ts-brown) !important;
}
.header__icon--cart svg,
.header__icon--cart svg path,
.header__icon--account svg,
.header__icon--account svg path,
.header__icon--search svg,
.header__icon--search svg path {
  color: var(--ts-brown) !important;
  fill: var(--ts-brown) !important;
  stroke: var(--ts-brown) !important;
}
/* Cart icon — interior of cart should not be filled */
.header__icon--cart svg path[fill="none"],
.header__icon--cart svg path[stroke-width] {
  fill: none !important;
  stroke: var(--ts-brown) !important;
  stroke-width: 1.5;
}
/* Hover */
.header__icon:hover,
.header__icon:hover svg,
.header__icon:hover svg path,
.header__icon:hover svg line,
.header__icon:hover svg circle {
  color: var(--ts-gold) !important;
  fill: var(--ts-gold) !important;
  stroke: var(--ts-gold) !important;
}
/* Cart bubble (count badge) */
.cart-count-bubble,
.header__icon--cart .cart-count-bubble {
  background-color: var(--ts-gold) !important;
  color: var(--ts-text-dark) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600;
  font-size: 11px;
}

/* ---------- HEADER MENU ITEMS COLOR FIX ---------- */
.header__inline-menu a,
.header__inline-menu .header__menu-item,
.header-menu .header__menu-item,
.header__inline-menu .header__active-menu-item,
nav.header__inline-menu li > a {
  color: var(--ts-text-dark) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
}
.header__inline-menu a:hover,
.header__inline-menu li:hover > a {
  color: var(--ts-gold) !important;
}
.header__inline-menu a.header__active-menu-item {
  color: var(--ts-brown) !important;
  border-bottom: 2px solid var(--ts-gold);
}

/* ---------- FOOTER COLUMNS LAYOUT FIX (5 columns inline, no wrap) ---------- */
.footer .halo-row,
.footer-2 .halo-row,
.footer__content-top .halo-row {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1.6fr !important;
  gap: 32px !important;
  align-items: start !important;
  width: 100% !important;
}
.footer-block__column,
.footer .footer-block__column {
  width: auto !important;
  flex: none !important;
  max-width: none !important;
  padding: 0 !important;
}

/* Mobile/tablet: stack to 2-col then 1-col */
@media (max-width: 1024px) {
  .footer .halo-row,
  .footer-2 .halo-row,
  .footer__content-top .halo-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
  }
}
@media (max-width: 600px) {
  .footer .halo-row,
  .footer-2 .halo-row,
  .footer__content-top .halo-row {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* ---------- FOOTER NEWSLETTER VISUAL POLISH ---------- */
.footer .footer-block__newsletter {
  border-left: 1px solid rgba(199, 156, 62, 0.25);
  padding-left: 32px !important;
}
@media (max-width: 1024px) {
  .footer .footer-block__newsletter {
    border-left: none;
    padding-left: 0 !important;
  }
}
.footer .footer-block__subheading,
.footer .footer-block__newsletter .rte {
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin-bottom: 16px;
}

/* Newsletter form layout */
.footer-block__newsletter-form,
.footer .newsletter-form,
.footer .footer-block__newsletter form {
  display: flex !important;
  gap: 8px;
  align-items: stretch;
}
.footer-block__newsletter-form .field,
.footer-block__newsletter-form input[type="email"],
.footer .newsletter-form .field {
  flex: 1;
}

/* ---------- FOOTER PADDING TIGHTER ---------- */
.footer__content-top {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}
.footer-block__bottom {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  border-top: 1px solid rgba(251, 251, 243, 0.12);
}

/* ---------- FOOTER MOBILE accordion if Halo uses one ---------- */
@media (max-width: 600px) {
  .footer-block__heading {
    cursor: pointer;
    padding: 12px 0;
  }
  .footer-block__list,
  .footer-block__details {
    padding-bottom: 12px;
  }
}

/* ---------- HEADER STICKY Z-INDEX SAFETY ---------- */
.shopify-section-header,
#shopify-section-sections--header,
.header-wrapper {
  position: relative;
  z-index: 100;
}

/* ---------- ANNOUNCEMENT TEXT VISIBILITY ---------- */
.announcement-bar,
.announcement-bar p,
.announcement-bar a,
.announcement,
.announcement p {
  color: var(--ts-cream) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  font-weight: 400 !important;
  text-transform: uppercase;
}
.announcement-bar__inner, .header__announcement {
  background-color: var(--ts-brown) !important;
}
/* Announcement bar arrows (next/prev) */
.announcement-bar .slick-arrow svg,
.announcement-bar button svg,
.announcement-bar svg path {
  fill: var(--ts-cream) !important;
  color: var(--ts-cream) !important;
}

/* ---------- CATEGORY GRID (custom-image-banner small_img) ---------- */
.small-img__item, .custom-image-banner .item {
  border-radius: var(--ts-radius-card);
  overflow: hidden;
  box-shadow: var(--ts-shadow-soft);
  transition: transform 300ms ease, box-shadow 300ms ease;
}
.small-img__item:hover, .custom-image-banner .item:hover {
  transform: translateY(-4px);
  box-shadow: var(--ts-shadow-card);
}

/* Category card buttons */
.small-img__btn, .custom-image-banner .btn-link,
.custom-image-banner button {
  background-color: var(--ts-brown) !important;
  color: var(--ts-cream) !important;
  border-color: var(--ts-brown) !important;
  font-family: 'Poppins', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 12px;
  padding: 12px 24px;
}
.small-img__btn:hover, .custom-image-banner .btn-link:hover {
  background-color: var(--ts-gold) !important;
  border-color: var(--ts-gold) !important;
}

/* ---------- FOOTER POLISH ---------- */
.section-footer, .footer, [class*="footer-02"] {
  background-color: var(--ts-brown) !important;
  color: var(--ts-cream) !important;
}
.section-footer h2, .section-footer h3, .section-footer h4,
.footer h2, .footer h3, .footer h4,
.section-footer .heading, .section-footer .footer__heading {
  color: var(--ts-cream) !important;
  font-family: 'Rozha One', serif !important;
  font-size: 22px;
}
.section-footer p, .footer p, .footer__content p,
.section-footer a {
  color: rgba(251, 251, 243, 0.85) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px;
  line-height: 1.7;
}
.section-footer a:hover, .footer a:hover {
  color: var(--ts-gold) !important;
}
.footer__bottom, .copyright {
  background-color: var(--ts-text-dark) !important;
  color: rgba(251, 251, 243, 0.6) !important;
  padding: 16px 0;
  font-size: 12px;
}
.footer__bottom p {
  margin: 0;
}

/* Footer social icons brand */
.footer .social__icon, .footer__social a {
  color: var(--ts-cream) !important;
}
.footer .social__icon:hover {
  color: var(--ts-gold) !important;
}

/* ---------- TESTIMONIAL / SOCIAL PROOF ---------- */
.customer-testimonial,
[id*="testimonial"],
.testimonial-block {
  background-color: var(--ts-peach) !important;
  padding: 80px 20px;
}
.customer-testimonial .testimonial,
.testimonial-block .testimonial-card,
.customer-testimonial__item {
  background-color: var(--ts-cream);
  border: 1px solid var(--ts-caramel);
  border-radius: var(--ts-radius-card);
  padding: 32px;
  box-shadow: var(--ts-shadow-card);
  position: relative;
}
.customer-testimonial .testimonial::before {
  content: "\201C";
  font-family: 'Rozha One', serif;
  font-size: 80px;
  color: var(--ts-gold);
  position: absolute;
  top: 8px;
  left: 24px;
  line-height: 1;
}
.customer-testimonial__quote, .testimonial-quote {
  font-family: 'Poppins', sans-serif !important;
  font-style: italic;
  font-size: 17px;
  line-height: 1.6;
  color: var(--ts-text-body);
}
.customer-testimonial__author, .testimonial-author {
  font-family: 'Rozha One', serif !important;
  color: var(--ts-brown);
  font-size: 18px;
  margin-top: 16px;
}
.customer-testimonial__role, .testimonial-role {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px;
  color: var(--ts-gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 4px;
}
.testimonial-rating {
  color: var(--ts-gold);
  font-size: 18px;
  margin-bottom: 8px;
}

/* Testimonial avatar circle */
.testimonial-avatar, .customer-testimonial__avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 3px solid var(--ts-gold);
  overflow: hidden;
  margin-bottom: 16px;
}
.testimonial-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------- SECTION RHYTHM ---------- */
section, .shopify-section {
  scroll-margin-top: 100px;
}

/* Add space between sections */
.shopify-section + .shopify-section:not([class*="header"]):not([class*="footer"]):not([class*="announcement"]) {
  margin-top: 0;
}

/* ---------- FORM POLISH (contact, newsletter) ---------- */
input[type="text"], input[type="email"], input[type="tel"], textarea {
  border: 1px solid var(--ts-caramel) !important;
  background-color: var(--ts-cream);
  color: var(--ts-text-dark);
  padding: 14px 18px;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px;
  border-radius: 6px;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
input:focus, textarea:focus {
  border-color: var(--ts-gold) !important;
  outline: 2px solid rgba(199, 156, 62, 0.25);
  outline-offset: 0;
  box-shadow: 0 0 0 4px rgba(199, 156, 62, 0.1);
}

/* Newsletter signup */
.newsletter, .newsletter-form, .footer-newsletter {
  background-color: var(--ts-peach) !important;
  padding: 60px 20px;
}
.newsletter h2, .footer-newsletter h2 {
  color: var(--ts-text-dark) !important;
  font-family: 'Rozha One', serif !important;
  font-size: 36px;
}
.newsletter p {
  color: var(--ts-text-body) !important;
}
.newsletter button, .footer-newsletter button {
  background-color: var(--ts-brown) !important;
  color: var(--ts-cream) !important;
}

/* ---------- PAGE CONTENT (About, FAQ, etc) ---------- */
.page-content, .page__content, .article__content {
  font-family: 'Poppins', sans-serif !important;
  font-size: 17px;
  line-height: 1.75;
  color: var(--ts-text-body);
  max-width: 720px;
  margin: 0 auto;
}
.page-content h2, .page__content h2 {
  font-family: 'Rozha One', serif !important;
  color: var(--ts-brown) !important;
  font-size: 36px;
  margin-top: 48px;
  margin-bottom: 16px;
}
.page-content h3, .page__content h3 {
  font-family: 'Rozha One', serif !important;
  color: var(--ts-bronze) !important;
  font-size: 24px;
  margin-top: 32px;
  margin-bottom: 12px;
}
.page-content a {
  color: var(--ts-gold);
  border-bottom: 1px solid var(--ts-gold);
}
.page-content a:hover {
  color: var(--ts-brown);
  border-bottom-color: var(--ts-brown);
}
.page-content strong {
  color: var(--ts-brown);
}

/* FAQ details/summary */
.page-content details, details {
  background: var(--ts-cream);
  border: 1px solid var(--ts-peach);
  border-radius: 8px;
  padding: 20px 24px;
  margin-bottom: 12px;
  transition: border-color 200ms ease;
}
.page-content details[open], details[open] {
  border-color: var(--ts-gold);
  box-shadow: var(--ts-shadow-soft);
}
.page-content summary, details summary {
  font-family: 'Rozha One', serif !important;
  color: var(--ts-brown);
  font-size: 18px;
  cursor: pointer;
  list-style: none;
}
.page-content summary::before {
  content: "+";
  color: var(--ts-gold);
  font-size: 22px;
  margin-right: 12px;
  display: inline-block;
  transition: transform 200ms ease;
}
.page-content details[open] summary::before {
  content: "−";
  transform: rotate(180deg);
}

/* ---------- BRAND DIVIDER ---------- */
.brand-divider, hr {
  border: none;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--ts-gold), transparent);
  margin: 48px auto;
  max-width: 200px;
}

/* ---------- MOBILE POLISH ---------- */
@media (max-width: 768px) {
  h1, .h1 { font-size: 32px !important; }
  h2, .h2 { font-size: 28px !important; }
  .image-banner__heading,
  .image-banner__content h2 { font-size: 36px !important; }
  .btn, .button { padding: 12px 20px !important; font-size: 12px; }
  section { padding-left: 20px; padding-right: 20px; }
  .small-img__item, .custom-image-banner .item {
    margin-bottom: 16px;
  }
}

/* ---------- ANIMATIONS (subtle) ---------- */
@media (prefers-reduced-motion: no-preference) {
  .shopify-section {
    animation: ts-fade-up 600ms ease-out;
    animation-fill-mode: backwards;
  }
  @keyframes ts-fade-up {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

/* ---------- CART / PRICE ---------- */
.price, .product__price, .cart__total {
  color: var(--ts-brown) !important;
  font-family: 'Rozha One', serif !important;
  font-size: 24px;
}

/* ---------- LINKS IN HEADER NAV ---------- */
.header__nav a, .nav__item a, .menu-item a {
  font-family: 'Poppins', sans-serif !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 13px;
  color: var(--ts-text-dark);
}
.header__nav a:hover, .nav__item a:hover {
  color: var(--ts-gold);
}

/* ---------- SECTION TITLE COMMON ---------- */
.section-title, .section-header__title, .h2.section-title {
  text-align: center;
  font-family: 'Rozha One', serif !important;
  color: var(--ts-brown) !important;
  font-size: clamp(32px, 4vw, 56px);
  margin-bottom: 16px;
}
.section-subtitle {
  text-align: center;
  font-family: 'Poppins', sans-serif !important;
  color: var(--ts-gold);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 8px;
}

/* =============================================================================
   FOOTER FIX PASS 2 — Halo Ella exact selectors verified from live HTML
   2026-05-12: targets .halo-row.column-5 grid + nested form bug + payment sprites
============================================================================= */

/* ---------- FOOTER GRID — exact match to live class .halo-row.column-5 ---------- */
.footer .halo-row.column-5,
.footer-2 .halo-row.column-5,
.footer .footer__content-top .halo-row,
.footer .container-full .halo-row {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1.6fr !important;
  gap: 40px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
/* Override any halo float/inline-block on column items */
.footer .footer-block__item.footer-block__column,
.footer-block__item.footer-block__column {
  width: auto !important;
  max-width: 100% !important;
  flex: none !important;
  float: none !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Container full width inside footer should not constrain */
.footer .container.container-full {
  max-width: 1440px !important;
  width: 100% !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  margin: 0 auto !important;
}

/* Mobile breakpoints */
@media (max-width: 1024px) {
  .footer .halo-row.column-5,
  .footer-2 .halo-row.column-5 {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px 24px !important;
  }
  /* Newsletter spans both columns at tablet */
  .footer .footer-block__item.footer-block__newsletter {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 600px) {
  .footer .halo-row.column-5,
  .footer-2 .halo-row.column-5 {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .footer .container.container-full {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* ---------- CONTACT COLUMN — phone / email / address icons ---------- */
.footer-block__text .phone-wrapper,
.footer-block__text .email-wrapper,
.footer-block__text .address-wrapper {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
  color: var(--ts-cream) !important;
}
.footer-block__text .phone-wrapper .icon,
.footer-block__text .email-wrapper .icon,
.footer-block__text .address-wrapper .icon {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
  color: var(--ts-gold) !important;
}
.footer-block__text .phone-wrapper .icon svg,
.footer-block__text .email-wrapper .icon svg,
.footer-block__text .address-wrapper .icon svg,
.footer-block__text .icon svg path {
  fill: var(--ts-gold) !important;
  stroke: var(--ts-gold) !important;
  color: var(--ts-gold) !important;
  width: 18px;
  height: 18px;
}
.footer-block__text .phone-wrapper p,
.footer-block__text .email-wrapper p,
.footer-block__text .address-wrapper p,
.footer-block__text .phone-wrapper a,
.footer-block__text .email-wrapper a {
  margin: 0 !important;
  color: var(--ts-cream) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  text-decoration: none !important;
}
.footer-block__text .phone-wrapper a:hover,
.footer-block__text .email-wrapper a:hover {
  color: var(--ts-gold) !important;
}

/* ---------- COLUMN 1 SOCIAL ICONS (the visible set) ---------- */
.footer-block__text .footer-block__list-social {
  display: block !important;
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(199, 156, 62, 0.20);
}
.footer-block__list-social .list-social {
  display: flex !important;
  gap: 12px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.footer-block__list-social .list-social__item {
  margin: 0 !important;
}
.footer-block__list-social .list-social__link,
.footer-block__list-social a.link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: rgba(251, 251, 243, 0.08) !important;
  color: var(--ts-cream) !important;
  transition: all 200ms ease;
}
.footer-block__list-social .list-social__link:hover {
  background-color: var(--ts-gold) !important;
  color: var(--ts-text-dark) !important;
  transform: translateY(-2px);
}
.footer-block__list-social .list-social__link svg,
.footer-block__list-social .list-social__link svg path {
  fill: currentColor !important;
  width: 18px !important;
  height: 18px !important;
}
/* If the link contains a span.visually-hidden + actual icon, hide the span */
.footer-block__list-social .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}

/* HIDE duplicate social block in newsletter column (already has rule but reinforce) */
.footer-block__newsletter .footer-block__list-social,
.footer-block__newsletter .item.clearfix:has(.list-social) {
  display: none !important;
}

/* ---------- TIENDA / INFORMACIÓN / LEGAL — link list columns ---------- */
.footer-block__link_list .footer-block__list,
.footer-block__column .footer-block__list {
  margin: 0 !important;
  padding: 0 !important;
}
.footer-block__link_list .footer-block__list .list-unstyled,
.footer-block__column .footer-block__list ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.footer-block__link_list .list-unstyled li,
.footer-block__column .footer-block__list li {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.footer-block__column .list-menu__item--link,
.footer-block__column .list-unstyled a,
.footer-block__list a.link-underline {
  color: rgba(251, 251, 243, 0.85) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: color 200ms ease, padding 200ms ease;
  display: inline-block;
  padding: 4px 0;
}
.footer-block__column .list-menu__item--link:hover,
.footer-block__list a.link-underline:hover {
  color: var(--ts-gold) !important;
  padding-left: 4px;
  border-bottom: none !important;
}

/* ---------- NEWSLETTER COLUMN — fix nested form bug + side-by-side layout ---------- */
.footer-block__newsletter {
  border-left: 1px solid rgba(199, 156, 62, 0.25);
  padding-left: 32px !important;
}
@media (max-width: 1024px) {
  .footer-block__newsletter {
    border-left: none !important;
    padding-left: 0 !important;
  }
}

.footer-block__newsletter .footer-block__subheading,
.footer-block__newsletter .footer-block__subheading p {
  color: rgba(251, 251, 243, 0.78) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin: 0 0 16px 0 !important;
  font-family: 'Poppins', sans-serif !important;
}

/* The outer form is .footer-block__newsletter-item .footer-block__newsletter-form — show it as block, the real layout is in inner .newsletter-form__field-wrapper */
.footer-block__newsletter-form,
.footer__newsletter.newsletter-form {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* The wrapper that actually holds input + button as siblings */
.footer-block__newsletter .newsletter-form__field-wrapper {
  display: flex !important;
  gap: 8px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
}
.footer-block__newsletter .newsletter-form__field-wrapper .field {
  flex: 1 1 auto !important;
  margin: 0 !important;
  position: relative;
  min-width: 0;
}
.footer-block__newsletter .newsletter-form__field-wrapper .field__label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
}
.footer-block__newsletter .newsletter-form__field-wrapper .field__input,
.footer-block__newsletter input[type="email"],
.footer-block__newsletter input[name="contact[email]"],
.footer-block__newsletter .field input.field__input {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: 100% !important;
  background-color: rgba(251, 251, 243, 0.10) !important;
  border: 1px solid rgba(251, 251, 243, 0.25) !important;
  color: var(--ts-cream) !important;
  padding: 12px 16px !important;
  border-radius: 6px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  height: 46px !important;
  min-height: 46px !important;
  box-sizing: border-box !important;
  clip: auto !important;
}
.footer-block__newsletter input[type="email"]::placeholder,
.footer-block__newsletter .field__input::placeholder {
  color: rgba(251, 251, 243, 0.55) !important;
}
.footer-block__newsletter input[type="email"]:focus,
.footer-block__newsletter .field__input:focus {
  outline: 2px solid rgba(199, 156, 62, 0.6) !important;
  border-color: var(--ts-gold) !important;
  background-color: rgba(251, 251, 243, 0.14) !important;
}

.footer-block__newsletter .newsletter-form__button,
.footer-block__newsletter button.button,
.footer-block__newsletter button[type="submit"] {
  flex: 0 0 auto !important;
  background-color: var(--ts-gold) !important;
  color: var(--ts-text-dark) !important;
  border: 2px solid var(--ts-gold) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  padding: 0 22px !important;
  height: 46px !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: all 200ms ease !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.footer-block__newsletter .newsletter-form__button:hover {
  background-color: var(--ts-cream) !important;
  border-color: var(--ts-cream) !important;
  color: var(--ts-text-dark) !important;
  transform: none !important;
}
.footer-block__newsletter .button-overlay {
  display: none !important;
}

/* Hide nested duplicate form wrapper styling glitches */
.footer-block__newsletter form > form {
  display: contents !important;
}

/* ---------- BOTTOM BAR — copyright + payment icons ---------- */
.footer__content-bottom {
  background-color: var(--ts-text-dark) !important;
  padding: 18px 0 !important;
  border-top: 1px solid rgba(251, 251, 243, 0.10) !important;
}
.footer__content-bottom .container.container-full {
  max-width: 1440px;
  padding-left: 32px;
  padding-right: 32px;
}
.footer-block__bottom.not_flex {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}
.footer__column-item.footer__copyright {
  background: transparent !important;
  flex: 1 1 auto;
  padding: 0 !important;
  text-align: left !important;
}
.footer__column-item.footer__copyright .copyright__content,
.footer__column-item.footer__copyright p {
  color: rgba(251, 251, 243, 0.65) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}
.footer__column.footer__column--info {
  flex: 0 0 auto;
}

/* Payment icons — Halo uses CSS sprite background-images on <li> */
.footer-block__list-payment .list-payment {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.footer-block__list-payment .list-payment__item {
  width: 38px !important;
  height: 24px !important;
  background-color: rgba(251, 251, 243, 0.92) !important;
  border-radius: 4px !important;
  border: 1px solid rgba(251, 251, 243, 0.18) !important;
  display: inline-block !important;
  background-size: 28px auto !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  margin: 0 !important;
  list-style: none !important;
  filter: none !important;
  opacity: 1 !important;
  transition: transform 200ms ease;
}
.footer-block__list-payment .list-payment__item:hover {
  transform: translateY(-1px);
}
/* Reset prior brightness filter that washes them out */
.footer-block__list-payment {
  filter: none !important;
  opacity: 1 !important;
}

@media (max-width: 600px) {
  .footer-block__bottom.not_flex {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
  .footer__column-item.footer__copyright {
    text-align: center !important;
    width: 100%;
  }
  .footer__column.footer__column--info {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}

/* ---------- FOOTER HEADINGS spacing tighter ---------- */
.footer .footer-block__heading {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(199, 156, 62, 0.25) !important;
  display: inline-block;
}

/* Mobile: collapse the side-bordered wrapper */
.footer-block__text .side-bordered {
  border: none !important;
  padding: 0 !important;
}

/* Hide hidden inputs cleanly */
.footer-block__newsletter input[type="hidden"] {
  display: none !important;
}

/* Force visibility of all footer block items */
.footer .footer-block__item {
  visibility: visible !important;
  opacity: 1 !important;
}

/* =============================================================================
   HEADER DEEP FIX — Halo Ella overrides via CSS variables (2026-05-12)
   Halo injects inline styles like --lv_1_color: #000000 and --header_icons_color: #232323
   These variables propagate into Halo's stylesheet via var() refs, so we MUST
   override the variables themselves, plus the resolved properties with !important.
============================================================================= */

/* ---------- HEADER WRAPPER + STICKY BG ---------- */
sticky-header.header-navigation-wrapper,
.header-navigation,
.shopify-section-group-header-group .header-navigation,
.section-header-navigation {
  background-color: var(--ts-cream) !important;
  border-bottom: 1px solid rgba(199, 156, 62, 0.20) !important;
}
sticky-header.is-sticky,
sticky-header.scrolled-past-header,
.shopify-section-header-sticky {
  background-color: var(--ts-cream) !important;
  box-shadow: 0 4px 16px rgba(62, 52, 43, 0.08) !important;
}

/* ---------- LOGO CONTAINER WIDTH OVERRIDE (Halo --logo_width is 220px) ---------- */
.header-logo,
.header-logo.header-item--side {
  --logo_width: 180px !important;
  --logo_width_sticky: 150px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}
.header-logo .header__heading {
  margin: 0 !important;
  line-height: 1 !important;
}
.header-logo .header__heading-link {
  display: inline-flex !important;
  align-items: center !important;
  height: auto !important;
}
.header-logo .header__heading-logo {
  width: auto !important;
  height: auto !important;
  max-width: 180px !important;
  max-height: 60px !important;
  object-fit: contain !important;
}
@media (max-width: 1024px) {
  .header-logo {
    --logo_width: 150px !important;
  }
  .header-logo .header__heading-logo {
    max-width: 150px !important;
    max-height: 50px !important;
  }
}

/* ---------- MENU ITEMS — OVERRIDE INLINE CSS VARS (--lv_1_color: #000000) ---------- */
.header__inline-menu,
nav.header__inline-menu {
  --lv_1_color: var(--ts-text-dark) !important;
  --lv_1_color_hover: var(--ts-gold) !important;
  --lv_2_color: var(--ts-text-dark) !important;
  --lv_2_color_hover: var(--ts-gold) !important;
  --lv_3_color: var(--ts-text-body) !important;
  --lv_3_color_hover: var(--ts-gold) !important;
  --bg_mega_menu: var(--ts-cream) !important;
  --sale_item_color: var(--ts-gold) !important;
}
.menu-lv-1__action,
.menu-lv-1__action .text,
li.menu-lv-1 > a,
li.menu-lv-1 > a span,
.header__inline-menu .list-menu__item {
  color: var(--ts-text-dark) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
}
.menu-lv-1__action:hover,
.menu-lv-1__action:hover .text,
li.menu-lv-1:hover > a,
li.menu-lv-1:hover > a .text {
  color: var(--ts-gold) !important;
}
/* Active menu item underline accent */
.header__active-menu-item,
.list-menu__item .header__active-menu-item {
  color: var(--ts-brown) !important;
  position: relative;
}
.header__active-menu-item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background-color: var(--ts-gold);
  border-radius: 1px;
}
/* Caret arrow on dropdown menu items */
.menu-lv-1 .icon-dropdown svg,
.menu-lv-1 .icon-dropdown svg path {
  fill: var(--ts-text-dark) !important;
  color: var(--ts-text-dark) !important;
}
.menu-lv-1:hover .icon-dropdown svg,
.menu-lv-1:hover .icon-dropdown svg path {
  fill: var(--ts-gold) !important;
}

/* ---------- SUBMENU / DROPDOWN STYLING ---------- */
.header__submenu,
ul.header__submenu,
.list-menu--disclosure {
  background-color: var(--ts-cream) !important;
  border: 1px solid rgba(199, 156, 62, 0.30) !important;
  border-top: 3px solid var(--ts-gold) !important;
  box-shadow: 0 12px 32px rgba(62, 52, 43, 0.18) !important;
  padding: 16px 8px !important;
  border-radius: 0 0 8px 8px !important;
  min-width: 240px !important;
}
.header__submenu .menu-lv-2 a,
.header__submenu .menu-lv-2__action,
.list-menu--disclosure a {
  color: var(--ts-text-dark) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  padding: 10px 16px !important;
  display: block !important;
  transition: color 200ms ease, background-color 200ms ease !important;
}
.header__submenu .menu-lv-2 a:hover,
.header__submenu .menu-lv-2:hover > a,
.header__submenu .menu-lv-2__action:hover {
  color: var(--ts-brown) !important;
  background-color: var(--ts-peach) !important;
  border-radius: 4px;
}

/* ---------- HEADER ICONS — OVERRIDE INLINE --header_icons_color: #232323 ---------- */
.header-icons,
.header-icons.header-item--side {
  --header_icons_color: var(--ts-brown) !important;
  --header_icons_color_hover: var(--ts-gold) !important;
  --header_icons_border_color: transparent !important;
  --header_icons_border_sticky_color: transparent !important;
  --cart_count_bubble_bg: var(--ts-gold) !important;
  --cart_count_bubble_color: var(--ts-text-dark) !important;
  --cart_count_bubble_font_size: 11px !important;
  gap: 4px !important;
  align-items: center !important;
}
/* Remove the visible vertical separator between icon items */
.header--cart.header--icon-border,
.header--account.header--icon-border,
.header--icon-border,
.header--icon-border + .header--icon-border {
  border: none !important;
  border-color: transparent !important;
}
/* Force brown color on all SVG paths within icon containers */
.header-icons .header__icon,
.header-icons .header__icon svg,
.header-icons .header__icon svg path,
.header-icons .header__icon svg g,
.header-icons .header__icon svg circle,
.header-icons .header__icon svg rect,
.header-icons .header__icon svg line,
.header-icons .header__icon svg polyline,
.header-icons .stroke-icon svg,
.header-icons .stroke-icon svg path {
  color: var(--ts-brown) !important;
  fill: var(--ts-brown) !important;
}
/* Stroke icons (account uses stroke-icon class) */
.header-icons .stroke-icon svg path[stroke],
.header-icons .stroke-icon svg path,
.header__icon--account.stroke-icon svg path {
  stroke: var(--ts-brown) !important;
}
.header-icons .header__icon:hover,
.header-icons .header__icon:hover svg,
.header-icons .header__icon:hover svg path,
.header-icons .header__icon:hover svg g {
  color: var(--ts-gold) !important;
  fill: var(--ts-gold) !important;
  stroke: var(--ts-gold) !important;
}
/* Touch target ≥44px on every header icon link */
.header-icons .header__icon,
.header-mobile .header__icon,
.header-mobile--icon a.header__icon,
.header-mobile--icon button {
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px !important;
  border-radius: 50% !important;
  transition: background-color 200ms ease !important;
}
.header-icons .header__icon:hover,
.header-mobile .header__icon:hover {
  background-color: rgba(199, 156, 62, 0.12) !important;
}
.header-icons .header__icon svg,
.header-mobile .header__icon svg {
  width: 22px !important;
  height: 22px !important;
}

/* ---------- CART COUNT BUBBLE — OVERRIDE GREY BG ---------- */
.cart-count-bubble,
.header__icon--cart .cart-count-bubble,
.header-mobile .cart-count-bubble {
  background-color: var(--ts-gold) !important;
  color: var(--ts-text-dark) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid var(--ts-cream) !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
}

/* ---------- SEARCH MODAL (predictive search popup) ---------- */
.search-modal,
.search-modal__content {
  background-color: var(--ts-cream) !important;
  color: var(--ts-text-dark) !important;
}
.search-modal__form .field,
.search-modal__form .search {
  background-color: var(--ts-cream) !important;
}
.search-modal input[type="search"],
.search__input,
.search-modal .field__input {
  background-color: var(--ts-cream) !important;
  border: 2px solid var(--ts-caramel) !important;
  color: var(--ts-text-dark) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  padding: 14px 18px !important;
  border-radius: 6px !important;
}
.search-modal input[type="search"]:focus,
.search__input:focus,
.search-modal .field__input:focus {
  border-color: var(--ts-gold) !important;
  outline: 2px solid rgba(199, 156, 62, 0.25) !important;
  outline-offset: 0;
}
.search-modal input[type="search"]::placeholder,
.search__input::placeholder {
  color: rgba(63, 68, 71, 0.5) !important;
  font-style: italic;
}
.search-modal__close-button,
.header-search-close {
  color: var(--ts-brown) !important;
}
.search-modal__close-button svg,
.header-search-close svg,
.header-search-close svg path {
  fill: var(--ts-brown) !important;
  color: var(--ts-brown) !important;
}
.search__button svg,
.search__button svg path {
  fill: var(--ts-brown) !important;
}
.search-block-title,
.search-block-title .text {
  font-family: 'Rozha One', serif !important;
  color: var(--ts-brown) !important;
  font-size: 16px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* ---------- MOBILE HEADER (sticky-header-mobile) ---------- */
sticky-header-mobile.header-mobile {
  --bg-color: var(--ts-cream) !important;
  --color-transparent: var(--ts-cream) !important;
  background-color: var(--ts-cream) !important;
  border-bottom: 1px solid rgba(199, 156, 62, 0.20) !important;
}
.header-mobile__wrapper {
  align-items: center !important;
  min-height: 60px !important;
}
/* Mobile icons inline --i-color override (#232323 -> brown) */
.header-mobile--icon,
.header-mobile__item .header-mobile--icon {
  --i-color: var(--ts-brown) !important;
  --color-bubble: var(--ts-text-dark) !important;
  --bg-bubble: var(--ts-gold) !important;
}
.header-mobile--icon svg,
.header-mobile--icon svg path,
.header-mobile--icon svg g {
  color: var(--ts-brown) !important;
  fill: var(--ts-brown) !important;
}
/* Hamburger lines visible in brand */
.mobileMenu-toggle__Icon,
.mobileMenu-toggle__Icon::before,
.mobileMenu-toggle__Icon::after {
  background-color: var(--ts-brown) !important;
}
/* Mobile logo */
.header-mobile__item--logo .header__heading-logo {
  max-width: 140px !important;
  max-height: 50px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* ---------- MOBILE MENU DRAWER (when hamburger opens) ---------- */
.menu-mobile,
.menu-drawer,
menu-drawer.menu-mobile,
.menu-mobile-content,
.mobile-nav,
.mobile-nav__wrapper {
  background-color: var(--ts-cream) !important;
  color: var(--ts-text-dark) !important;
}
.menu-mobile a,
.menu-mobile li > a,
.menu-drawer a,
.mobile-nav a {
  color: var(--ts-text-dark) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  font-size: 14px !important;
  padding: 14px 20px !important;
  border-bottom: 1px solid rgba(199, 156, 62, 0.15) !important;
}
.menu-mobile a:hover,
.menu-drawer a:hover {
  color: var(--ts-gold) !important;
  background-color: var(--ts-peach) !important;
}
.menu-mobile .icon-dropdown svg,
.menu-drawer .icon-dropdown svg,
.menu-mobile svg path {
  fill: var(--ts-brown) !important;
}

/* ---------- CART DRAWER (slide-out, data-cart-sidebar) ---------- */
cart-drawer,
.cart-drawer,
.drawer__inner,
#CartDrawer,
.cart-sidebar {
  background-color: var(--ts-cream) !important;
  color: var(--ts-text-dark) !important;
}
.cart-drawer__heading,
.cart-drawer h2,
.cart-sidebar h2 {
  font-family: 'Rozha One', serif !important;
  color: var(--ts-brown) !important;
  font-size: 24px !important;
}
.cart-drawer .cart-item__name,
.cart-drawer__item h3,
.cart-sidebar .cart-item__name {
  font-family: 'Poppins', sans-serif !important;
  color: var(--ts-text-dark) !important;
  font-weight: 500 !important;
}
.cart-drawer .price,
.cart-drawer .totals,
.cart-drawer__totals {
  font-family: 'Rozha One', serif !important;
  color: var(--ts-brown) !important;
}
.cart-drawer__close svg,
.cart-drawer__close svg path,
.drawer__close svg,
.drawer__close svg path {
  fill: var(--ts-brown) !important;
  color: var(--ts-brown) !important;
}
.cart-drawer__close,
.drawer__close {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* ---------- ACCOUNT DROPDOWN (when logged in) ---------- */
.header__account-link,
.customer-popup,
.header-account-popup,
.account-dropdown {
  background-color: var(--ts-cream) !important;
  border: 1px solid rgba(199, 156, 62, 0.30) !important;
  border-top: 3px solid var(--ts-gold) !important;
  box-shadow: 0 12px 32px rgba(62, 52, 43, 0.18) !important;
}
.customer-popup a,
.account-dropdown a {
  color: var(--ts-text-dark) !important;
  font-family: 'Poppins', sans-serif !important;
  padding: 10px 16px !important;
}
.customer-popup a:hover {
  color: var(--ts-brown) !important;
  background-color: var(--ts-peach) !important;
}

/* ---------- HEADER OVERFLOW + ALIGNMENT SAFETY ---------- */
.header-navigation .container {
  align-items: center !important;
}
.header-navigation,
.header-navigation > * {
  overflow: visible !important;
}
.main-menu .header__inline-menu .list-menu--inline {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
}
.main-menu .header__inline-menu .menu-lv-item {
  white-space: nowrap !important;
}

/* ---------- ANNOUNCEMENT BAR EXTRA SAFETY ---------- */
.announcement-bar,
#shopify-section-sections--21693370106041__announcement-bar .announcement-bar {
  background-color: var(--ts-brown) !important;
}
.announcement-bar__message,
.announcement-bar__message .message,
.announcement-bar__message a,
.announcement-bar__message p {
  color: var(--ts-cream) !important;
  font-family: 'Poppins', sans-serif !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
}
.announcement-bar .slick-arrow svg,
.announcement-bar .announcement-close svg {
  fill: var(--ts-cream) !important;
}

/* ---------- PREDICTIVE SEARCH RESULTS GRID ---------- */
.quickSearchResults,
.quickSearchResultsBlock {
  background-color: var(--ts-cream) !important;
  border: 1px solid rgba(199, 156, 62, 0.20) !important;
  border-radius: 8px !important;
}
.quickSearchResults .card-title {
  font-family: 'Poppins', sans-serif !important;
  color: var(--ts-text-dark) !important;
  font-size: 13px !important;
}
.quickSearchResults .price-item {
  font-family: 'Rozha One', serif !important;
  color: var(--ts-brown) !important;
}

/* ============================================================
   FOOTER POLISH PASS 3
   Goal: tighten empty space, equalize columns, polish socials,
   bottom bar layout, mobile stack at 375px.
   Targets: Halo Ella .footer.footer-2 + .footer-block__column.
   ============================================================ */

/* ---- A. Reduce empty space + tighten footer container ---- */
.footer.footer-2 .footer__content-top,
.footer .footer__content-top {
  padding-top: 48px !important;
  padding-bottom: 32px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.footer.footer-2 .footer__content-top .halo-row,
.footer .footer__content-top .halo-row,
.footer.footer-2 .footer__content-top > .container > .halo-row {
  gap: 24px !important;
  row-gap: 28px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.footer.footer-2 .footer-block__column,
.footer .footer-block__column {
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: flex-start !important;
}
.footer .footer-block__details,
.footer .footer-block__list {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.footer .footer-block__list li {
  margin-bottom: 8px !important;
  line-height: 1.55 !important;
}
.footer .footer-block__list li:last-child {
  margin-bottom: 0 !important;
}
/* Trim wrapper outer space below columns */
.footer.footer-2,
.footer {
  padding-bottom: 0 !important;
}
.footer.footer-2 .footer__wrapper,
.footer .footer__wrapper {
  padding-bottom: 0 !important;
}

/* ---- B. Vertical separators between columns (desktop only) ---- */
@media (min-width: 1025px) {
  .footer.footer-2 .footer__content-top .halo-row,
  .footer .footer__content-top .halo-row {
    align-items: stretch !important;
  }
  .footer.footer-2 .footer-block__column,
  .footer .footer-block__column {
    position: relative !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .footer.footer-2 .footer-block__column:first-child,
  .footer .footer-block__column:first-child {
    padding-left: 0 !important;
  }
  .footer.footer-2 .footer-block__column:last-child,
  .footer .footer-block__column:last-child {
    padding-right: 0 !important;
  }
  .footer.footer-2 .footer-block__column + .footer-block__column::before,
  .footer .footer-block__column + .footer-block__column::before {
    content: "" !important;
    position: absolute !important;
    top: 4px !important;
    bottom: 4px !important;
    left: 0 !important;
    width: 1px !important;
    background: linear-gradient(
      to bottom,
      rgba(199, 156, 62, 0) 0%,
      rgba(199, 156, 62, 0.22) 18%,
      rgba(199, 156, 62, 0.22) 82%,
      rgba(199, 156, 62, 0) 100%
    ) !important;
    pointer-events: none !important;
  }
}

/* ---- C. Polish social icons: 36x36 rounded squares, brand hover ---- */
.footer .footer-block__list-social {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 12px 0 0 0 !important;
  list-style: none !important;
}
.footer .footer-block__list-social li {
  margin: 0 !important;
  padding: 0 !important;
}
.footer .footer-block__list-social a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background-color: rgba(251, 251, 243, 0.10) !important;
  border: 1px solid rgba(251, 251, 243, 0.20) !important;
  color: var(--ts-cream) !important;
  transition: background-color 250ms ease, color 250ms ease,
    border-color 250ms ease, transform 250ms ease !important;
  text-decoration: none !important;
}
.footer .footer-block__list-social a svg {
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  stroke-width: 0 !important;
}
.footer .footer-block__list-social a svg path,
.footer .footer-block__list-social a svg circle,
.footer .footer-block__list-social a svg rect {
  fill: currentColor !important;
}
.footer .footer-block__list-social a i,
.footer .footer-block__list-social a [class*="fa-"],
.footer .footer-block__list-social a [class*="icon-"] {
  font-size: 16px !important;
  line-height: 1 !important;
  color: currentColor !important;
}
.footer .footer-block__list-social a:hover {
  background-color: var(--ts-gold) !important;
  border-color: var(--ts-gold) !important;
  color: var(--ts-text-dark) !important;
  transform: translateY(-1px) !important;
}
.footer .footer-block__list-social a:hover svg,
.footer .footer-block__list-social a:hover i {
  color: var(--ts-text-dark) !important;
  fill: var(--ts-text-dark) !important;
}

/* ---- E. Bottom bar polish: row at desktop, stack at <768 ---- */
.footer .footer-block__bottom,
.footer .footer__bottom,
.footer .footer__copyright-wrapper {
  padding: 14px 0 !important;
}
.footer .footer-block__bottom .container,
.footer .footer__bottom .container,
.footer .footer-block__bottom > .halo-row,
.footer .footer__bottom > .halo-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.footer .footer-block__bottom .footer__copyright,
.footer .footer__copyright {
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 1 auto !important;
}
.footer .footer-block__list-payment {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  flex: 0 1 auto !important;
}
.footer .footer-block__list-payment li {
  margin: 0 !important;
}
.footer .footer-block__list-payment img,
.footer .footer-block__list-payment svg {
  height: 22px !important;
  max-height: 32px !important;
  width: auto !important;
}

/* ---- D. Mobile stack at <=1024 + 375 polish ---- */
@media (max-width: 1024px) {
  .footer.footer-2 .footer__content-top,
  .footer .footer__content-top {
    padding-top: 40px !important;
    padding-bottom: 24px !important;
  }
  .footer.footer-2 .footer__content-top .halo-row,
  .footer .footer__content-top .halo-row,
  .footer .halo-row.column-5,
  .footer-2 .halo-row.column-5 {
    gap: 32px !important;
    row-gap: 32px !important;
  }
  .footer.footer-2 .footer-block__column,
  .footer .footer-block__column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .footer .footer-block__column + .footer-block__column::before {
    display: none !important;
  }
}

/* Tablet/large-phone: stack to single column under 768px (existing PASS 2
   stacks at 600px; this widens the breakpoint for proper mobile UX) */
@media (max-width: 768px) {
  .footer .halo-row.column-5,
  .footer-2 .halo-row.column-5,
  .footer .footer__content-top .halo-row {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

@media (max-width: 600px) {
  .footer .footer-block__newsletter form,
  .footer .newsletter-form,
  .footer form[action*="contact"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .footer .footer-block__newsletter input[type="email"],
  .footer .newsletter__input,
  .footer input[type="email"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .footer .footer-block__newsletter button,
  .footer .newsletter-form__button,
  .footer button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
  }
  .footer .footer-block__list-social {
    justify-content: flex-start !important;
  }
}

@media (max-width: 768px) {
  .footer .footer-block__bottom .container,
  .footer .footer__bottom .container,
  .footer .footer-block__bottom > .halo-row,
  .footer .footer__bottom > .halo-row {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 10px !important;
  }
  .footer .footer__copyright,
  .footer .footer-block__bottom p {
    text-align: center !important;
  }
  .footer .footer-block__list-payment {
    justify-content: center !important;
    flex-wrap: wrap !important;
  }
}

@media (max-width: 375px) {
  .footer.footer-2 .footer__content-top,
  .footer .footer__content-top {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .footer .footer-block__details,
  .footer .footer-block__details p {
    font-size: 13.5px !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
}


/* =============================================================================
   HERO POLISH PASS 2 (2026-05-12)
   Targets the image_banner_naC4d6 large_img hero block. Halo Ella renders:
   <section id="...image_banner_naC4d6">
     <div class="halo-block halo-banner image-banner" id="halo-image-banner-...">
       <div class="item item--largeImg image-banner-item-large_img_FWzCHT">
         <div class="banner-item">
           <div class="img-box img-box--mobile">...img...</div>
           <div class="content-box content-box--absolute content-box--middle-left text-center align-items--center">
             <p class="banner-sub-title">...
             <h3 class="banner-heading">...
             <span class="banner-text">...
             <div class="banner-action"><a class="banner-button">...</a><a class="banner-button banner-button-2">...</a></div>
   ============================================================================= */

/* --- Hero stage: ensure section is positioned, no clipped overflow on overlay --- */
[id*="image_banner_naC4d6"],
[id*="image_banner_naC4d6"] .halo-block,
[id*="image_banner_naC4d6"] .item--largeImg,
[id*="image_banner_naC4d6"] .banner-item {
  position: relative;
  overflow: visible !important;
}

/* The image fills the stage; keep portrait subjects visible */
[id*="image_banner_naC4d6"] .img-box img,
[id*="image_banner_naC4d6"] .image-adapt img {
  object-fit: cover !important;
  object-position: center 30% !important;
}

/* --- Hero overlay box: TRANSPARENT (banner has built-in branding, no box needed) --- */
[id*="image_banner_naC4d6"] .content-box,
[id*="image_banner_naC4d6"] .content-box--absolute,
[id*="image_banner_naC4d6"] .content-box--middle-left,
[id*="image_banner_naC4d6"] .content-box--bottom-center,
.image-banner-item-large_img_FWzCHT .content-box,
.image-banner-item-large_img_FWzCHT .content-box--absolute,
.halo-image-banner__content,
.image-banner__content,
.banner-content,
.image-banner-wrapper .item__content {
  background: transparent !important;
  background-color: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 24px !important;
  max-width: none !important;
  width: auto !important;
}

/* --- Subtitle: gold uppercase, never clipped by header overflow --- */
[id*="image_banner_naC4d6"] .banner-sub-title,
[id*="image_banner_naC4d6"] .banner-sub-title span,
.image-banner-item-large_img_FWzCHT .banner-sub-title {
  color: var(--ts-gold) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  display: inline-block !important;
  overflow: visible !important;
  white-space: nowrap !important;
  border-bottom: none !important;
}
[id*="image_banner_naC4d6"] .banner-sub-title.banner-sub-title--border span {
  border-bottom: none !important;
}

/* --- Heading: Rozha One serif, fluid sizing, cream --- */
[id*="image_banner_naC4d6"] .banner-heading,
.image-banner-item-large_img_FWzCHT .banner-heading {
  font-family: 'Rozha One', 'Playfair Display', Georgia, serif !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  color: var(--ts-cream) !important;
  letter-spacing: 0 !important;
  margin: 0 0 18px !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.18);
}

/* --- Description text: Poppins 16px, cream-90 --- */
[id*="image_banner_naC4d6"] .banner-text,
.image-banner-item-large_img_FWzCHT .banner-text {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: rgba(251, 251, 243, 0.92) !important;
  display: block !important;
  margin: 0 0 28px !important;
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

/* --- CTAs: inline-flex with 12px gap, no weird stacked shadows --- */
[id*="image_banner_naC4d6"] .banner-action,
.image-banner-item-large_img_FWzCHT .banner-action {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

[id*="image_banner_naC4d6"] .banner-button,
.image-banner-item-large_img_FWzCHT .banner-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 48px !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 26px !important;
  border-radius: 999px !important;
  border-width: 1.5px !important;
  border-style: solid !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transition: transform 0.22s ease, background-color 0.22s ease, color 0.22s ease, border-color 0.22s ease !important;
}
[id*="image_banner_naC4d6"] .banner-button::after,
[id*="image_banner_naC4d6"] .banner-button::before,
.image-banner-item-large_img_FWzCHT .banner-button::after,
.image-banner-item-large_img_FWzCHT .banner-button::before {
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  content: none !important;
}
[id*="image_banner_naC4d6"] .banner-button > span {
  display: inline-block !important;
  background: none !important;
  padding: 0 !important;
}

/* Primary CTA: gold bg, brown text */
[id*="image_banner_naC4d6"] .banner-action > a:first-child.banner-button:not(.banner-button-2),
.image-banner-item-large_img_FWzCHT .banner-action > a:first-child.banner-button:not(.banner-button-2) {
  background: var(--ts-gold) !important;
  color: var(--ts-text-dark) !important;
  border-color: var(--ts-gold) !important;
}
[id*="image_banner_naC4d6"] .banner-action > a:first-child.banner-button:not(.banner-button-2):hover,
.image-banner-item-large_img_FWzCHT .banner-action > a:first-child.banner-button:not(.banner-button-2):hover {
  background: var(--ts-cream) !important;
  color: var(--ts-text-dark) !important;
  border-color: var(--ts-cream) !important;
  transform: translateY(-1px);
}

/* Secondary CTA: outlined cream */
[id*="image_banner_naC4d6"] .banner-button.banner-button-2,
.image-banner-item-large_img_FWzCHT .banner-button.banner-button-2 {
  background: transparent !important;
  color: var(--ts-cream) !important;
  border-color: rgba(251, 251, 243, 0.85) !important;
}
[id*="image_banner_naC4d6"] .banner-button.banner-button-2:hover,
.image-banner-item-large_img_FWzCHT .banner-button.banner-button-2:hover {
  background: var(--ts-cream) !important;
  color: var(--ts-text-dark) !important;
  border-color: var(--ts-cream) !important;
  transform: translateY(-1px);
}

/* Hide stray banner-button hover skin from the theme */
[id*="image_banner_naC4d6"] .banner-button.button:hover {
  box-shadow: none !important;
}

/* --- Mobile (<= 768px): center, full-width content, stacked CTAs --- */
@media (max-width: 768px) {
  [id*="image_banner_naC4d6"] .content-box.content-box--absolute,
  [id*="image_banner_naC4d6"] .content-box--middle-left,
  .image-banner-item-large_img_FWzCHT .content-box--absolute {
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
    top: 50% !important;
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    padding: 28px !important;
    text-align: center !important;
    align-items: center !important;
    border-radius: 14px !important;
  }
  [id*="image_banner_naC4d6"] .banner-sub-title {
    white-space: normal !important;
    font-size: 11px !important;
    letter-spacing: 0.22em !important;
    text-align: center !important;
  }
  [id*="image_banner_naC4d6"] .banner-heading {
    font-size: 32px !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }
  [id*="image_banner_naC4d6"] .banner-text {
    font-size: 15px !important;
    text-align: center !important;
  }
  [id*="image_banner_naC4d6"] .banner-action,
  .image-banner-item-large_img_FWzCHT .banner-action {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  [id*="image_banner_naC4d6"] .banner-button,
  .image-banner-item-large_img_FWzCHT .banner-button {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 20px !important;
    height: 46px !important;
    font-size: 12px !important;
  }
  /* Mobile image: keep Tracy / center subject visible */
  [id*="image_banner_naC4d6"] .img-box img,
  [id*="image_banner_naC4d6"] .image-adapt img {
    object-position: center right !important;
  }
}

@media (max-width: 375px) {
  [id*="image_banner_naC4d6"] .content-box.content-box--absolute {
    padding: 24px !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
  [id*="image_banner_naC4d6"] .banner-heading {
    font-size: 28px !important;
  }
}

/* =============================================================================
   MOBILE RESPONSIVE PASS — RESTRUCTURE (2026-05-13)
   Comprehensive mobile fix across home, conoce-a-tracy, cursos, contacto,
   product page, collections. Override Halo Ella defaults + inline styles in
   custom-liquid sections (.ts-founder, .ts-social-proof, .ts-mc-cta).
   Breakpoints used:
     - <=1024px   tablet down
     - <=768px    mobile primary
     - <=600px    small mobile
     - <=414px    iPhone Plus / Pro Max
     - <=375px    iPhone SE / mini
============================================================================= */

/* ---------- 1. UNIVERSAL MOBILE CONSTRAINTS ---------- */
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  /* Stop any element from forcing horizontal scroll */
  .page-width,
  .container,
  .main-content,
  .shopify-section,
  main,
  section {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  /* Default container padding for content on mobile */
  .page-width,
  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  /* Image overflow protection (universal) */
  img, picture, video, svg {
    max-width: 100% !important;
    height: auto;
  }
  /* Headings scale-down */
  h1, .h1, .page__title, .article__title, .collection__title, .product__title {
    font-size: clamp(24px, 7vw, 32px) !important;
    line-height: 1.15 !important;
    word-break: normal;
    overflow-wrap: break-word;
  }
  h2, .h2, .section-header__title {
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.2 !important;
  }
  h3, .h3 {
    font-size: 20px !important;
    line-height: 1.25 !important;
  }
  /* Body copy minimum readable size */
  body, p, li, .rte p, .product__description p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
  /* Section padding reduction */
  .section,
  .shopify-section > section,
  [class*="section-padding"] {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
}

/* ---------- 2. TS-FOUNDER STRIP (single column on mobile) ---------- */
/* Targets inline grid: grid-template-columns:1fr 1.1fr */
@media (max-width: 768px) {
  .ts-founder {
    padding: 56px 16px !important;
  }
  .ts-founder > div {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .ts-founder h2 {
    font-size: clamp(32px, 8vw, 44px) !important;
  }
  .ts-founder p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
  /* Moca, PR badge: keep inside */
  .ts-founder div[style*="position:absolute"][style*="left:-24px"] {
    left: 12px !important;
    top: 12px !important;
    padding: 10px 16px !important;
  }
  .ts-founder div[style*="position:absolute"] p[style*="Rozha"] {
    font-size: 18px !important;
  }
  /* Tag chips: wrap nicely */
  .ts-founder span[style*="border-radius:24px"] {
    font-size: 11px !important;
    padding: 6px 12px !important;
  }
  /* Buttons: full-width centered, max 320px */
  .ts-founder a[href] {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 12px auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
    padding: 16px 24px !important;
    font-size: 12px !important;
  }
}

/* ---------- 3. TS-SOCIAL-PROOF (image + stats + testimonials) ---------- */
/* Targets inline grid: grid-template-columns:1fr 1.2fr */
@media (max-width: 768px) {
  .ts-social-proof {
    padding: 56px 16px !important;
  }
  .ts-social-proof > div > div[style*="grid-template-columns:1fr 1.2fr"],
  .ts-social-proof > div > div[style*="1fr 1.2fr"] {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }
  /* 5.0 reviews badge: keep on top of image not floating off */
  .ts-social-proof div[style*="bottom:-24px"][style*="right:-24px"] {
    bottom: -16px !important;
    right: 12px !important;
    padding: 14px 20px !important;
  }
  .ts-social-proof div[style*="bottom:-24px"] p[style*="Rozha"] {
    font-size: 28px !important;
  }
  /* Stat tiles: FORCED 2x2 grid on mobile (was stacking 1-col) */
  .ts-social-proof div[style*="grid-template-columns:repeat(2"],
  .ts-social-proof div[style*="repeat(2"],
  .ts-social-proof div[style*="repeat(4"],
  .ts-social-proof div[style*="grid-template"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .ts-social-proof div[style*="grid-template-columns:repeat(2"] > div,
  .ts-social-proof div[style*="repeat(2"] > div {
    padding: 18px 12px !important;
    text-align: center !important;
    border-radius: 12px !important;
  }
  .ts-social-proof div[style*="grid-template-columns:repeat(2"] p[style*="Rozha"],
  .ts-social-proof div[style*="repeat(2"] p[style*="Rozha"] {
    font-size: 26px !important;
    margin: 0 0 4px !important;
  }
  .ts-social-proof div[style*="grid-template-columns:repeat(2"] p[style*="Poppins"],
  .ts-social-proof div[style*="repeat(2"] p[style*="Poppins"] {
    font-size: 10px !important;
    letter-spacing: 0.10em !important;
    line-height: 1.3 !important;
    margin: 0 !important;
  }
  /* Testimonial cards: tighter padding */
  .ts-social-proof div[style*="border-left:4px solid"] {
    padding: 20px 18px !important;
  }
  .ts-social-proof div[style*="border-left:4px solid"] p[style*="font-style:italic"] {
    font-size: 14px !important;
    padding-left: 24px !important;
  }
  .ts-social-proof div[style*="border-left:4px solid"] span[style*="font-size:64px"] {
    font-size: 48px !important;
  }
  .ts-social-proof div[style*="border-left:4px solid"] div[style*="display:flex"] {
    padding-left: 24px !important;
  }
  /* Final CTA button */
  .ts-social-proof a[href="/pages/cursos"] {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
    padding: 16px 24px !important;
    font-size: 12px !important;
  }
  .ts-social-proof h2 {
    font-size: clamp(28px, 7vw, 40px) !important;
  }
}

/* Small mobile <=414: stack stats single column */
@media (max-width: 414px) {
  .ts-social-proof div[style*="grid-template-columns:repeat(2,1fr)"] {
    grid-template-columns: 1fr !important;
  }
  .ts-social-proof div[style*="grid-template-columns:repeat(2,1fr)"] p[style*="Rozha"] {
    font-size: 24px !important;
  }
}

/* ---------- 4. TS-MC-CTA (master class CTA dark band) ---------- */
@media (max-width: 768px) {
  .ts-mc-cta {
    padding: 64px 16px !important;
  }
  .ts-mc-cta h2 {
    font-size: clamp(34px, 9vw, 48px) !important;
    line-height: 1.05 !important;
  }
  .ts-mc-cta > div > p[style*="rgba(251,251,243,0.85)"] {
    font-size: 16px !important;
    margin-bottom: 32px !important;
  }
  /* Stat row: 2x2 grid, hide vertical dividers */
  .ts-mc-cta div[style*="display:flex"][style*="flex-wrap:wrap"][style*="justify-content:center"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px 12px !important;
    margin-bottom: 36px !important;
  }
  .ts-mc-cta div[style*="width:1px"] {
    display: none !important;
  }
  .ts-mc-cta div[style*="text-align:center"][style*="min-width:140px"] {
    min-width: 0 !important;
  }
  .ts-mc-cta div[style*="text-align:center"][style*="min-width:140px"] p[style*="Rozha"] {
    font-size: 28px !important;
  }
  .ts-mc-cta div[style*="text-align:center"][style*="min-width:140px"] p[style*="letter-spacing:0.16em"] {
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
    line-height: 1.3 !important;
  }
  /* Main CTA button */
  .ts-mc-cta a[href="/pages/cursos"] {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
    padding: 16px 24px !important;
    font-size: 13px !important;
  }
  .ts-mc-cta > div > p[style*="rgba(251,251,243,0.6)"] {
    font-size: 12px !important;
    margin-top: 16px !important;
  }
}

@media (max-width: 414px) {
  .ts-mc-cta {
    padding: 56px 14px !important;
  }
  .ts-mc-cta h2 {
    font-size: 30px !important;
  }
  .ts-mc-cta div[style*="text-align:center"][style*="min-width:140px"] p[style*="Rozha"] {
    font-size: 24px !important;
  }
}

/* ---------- 5. UNIVERSAL MOBILE BUTTONS (Halo theme + custom) ---------- */
@media (max-width: 600px) {
  .btn,
  .button,
  button.btn,
  a.btn,
  a.button,
  .product-form__submit,
  .cart__submit,
  .shopify-payment-button__button {
    width: 100% !important;
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 24px !important;
  }
  /* Inline button rows should stack */
  .button-group,
  .button-row,
  .actions-group {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
}

/* ---------- 6. EMPTY HERO STATE — kill leftover content boxes ---------- */
/* Hero is now image-only. Hide any leftover heading/text boxes that the
   theme might still inject (in case the empty block has placeholder DOM). */
@media (max-width: 768px) {
  [id*="image_banner_naC4d6"] .content-box:empty,
  [id*="image_banner_naC4d6"] .banner-content:empty,
  [id*="image_banner_naC4d6"] .content-box.content-box--absolute:not(:has(*:not(:empty))) {
    display: none !important;
  }
  /* If content boxes are present but have no real text, hide them */
  [id*="image_banner_naC4d6"] .content-box.content-box--absolute {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  /* Specifically remove any banner-heading / banner-text wrapper if they're empty */
  [id*="image_banner_naC4d6"] .banner-heading:empty,
  [id*="image_banner_naC4d6"] .banner-text:empty,
  [id*="image_banner_naC4d6"] .banner-sub-title:empty,
  [id*="image_banner_naC4d6"] .banner-action:empty {
    display: none !important;
  }
}

/* ---------- 7. PAGE TEMPLATES (Conoce a Tracy, Cursos, Contacto) ---------- */
@media (max-width: 768px) {
  /* Page titles & RTE content */
  .page__title,
  .article__title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
  }
  .page .rte,
  .page-content .rte,
  .article-template__content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
  }
  .page .rte img,
  .article-template__content img {
    margin: 16px 0 !important;
    border-radius: 8px;
  }
  /* Forms (contact page) */
  .contact-form,
  .contact-form .field,
  .form-field,
  .field {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .contact-form input,
  .contact-form textarea,
  .contact-form select,
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  textarea,
  select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    font-size: 16px !important; /* prevents iOS zoom */
    padding: 12px 14px !important;
  }
  /* Two-column form rows collapse */
  .form-row,
  .field-group,
  .form-fields-row {
    flex-direction: column !important;
    gap: 12px !important;
  }
}

/* ---------- 8. PRODUCT PAGE (Microblading Master Class) ---------- */
@media (max-width: 768px) {
  /* Product layout: stack media + info */
  .product__main,
  .product-single,
  .product-template,
  .product-info-wrapper {
    grid-template-columns: 1fr !important;
    display: block !important;
  }
  .product__media-wrapper,
  .product__info-wrapper,
  .product-single__media-wrapper,
  .product-single__meta {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin-bottom: 24px !important;
  }
  .product__title,
  .product-single__title {
    font-size: 26px !important;
    margin-bottom: 12px !important;
  }
  .product__price,
  .price__regular,
  .product-single__price {
    font-size: 22px !important;
  }
  .product-form__buttons,
  .product-single__form-buttons {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .product-form__submit,
  .shopify-payment-button {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Product gallery thumbnails */
  .product__media-list,
  .product-single__thumbnails {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px !important;
  }
}

/* ---------- 9. COLLECTIONS PAGE ---------- */
@media (max-width: 768px) {
  .collection__products,
  .product-grid,
  .grid--collection,
  ul.product-grid,
  .halo-row[class*="grid"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  .product-card,
  .product-item,
  .grid-item {
    margin-bottom: 16px !important;
  }
  .product-card__title,
  .product-card-title,
  .product-item__title {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  .product-card__price,
  .product-item__price {
    font-size: 14px !important;
  }
  /* Collection sidebar/filter: hide or stack */
  .collection-sidebar,
  .facets-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 414px) {
  .collection__products,
  .product-grid,
  .halo-row[class*="grid"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
}

/* ---------- 10. MEGA MENU / HEADER MOBILE BEHAVIOR ---------- */
@media (max-width: 1024px) {
  /* Header padding tighter on tablet/mobile */
  .header,
  .site-header,
  .header__container {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .header__heading-logo,
  .header__heading-logo.w-100,
  .logo__main,
  .logo img {
    max-width: 140px !important;
    max-height: 44px !important;
  }
  /* Mobile drawer menu */
  .drawer__menu,
  .menu-drawer {
    width: 88vw !important;
    max-width: 360px !important;
  }
  .drawer__menu a,
  .menu-drawer a {
    font-size: 15px !important;
    padding: 12px 16px !important;
  }
  /* Mobile menu icons aligned */
  .header__icons,
  .header-icons {
    gap: 4px !important;
  }
  .header__icon,
  .header-icon {
    padding: 8px !important;
  }
}

@media (max-width: 600px) {
  .header__heading-logo,
  .logo__main,
  .logo img {
    max-width: 120px !important;
    max-height: 38px !important;
  }
}

/* ---------- 11. TABLET 769-1024: tighter columns ---------- */
@media (min-width: 769px) and (max-width: 1024px) {
  .ts-founder > div {
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
  }
  .ts-founder {
    padding: 72px 32px !important;
  }
  .ts-social-proof > div > div[style*="grid-template-columns:1fr 1.2fr"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
  .ts-social-proof {
    padding: 64px 32px !important;
  }
  .ts-mc-cta {
    padding: 80px 32px !important;
  }
  .page-width,
  .container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  /* Footer 2 columns on tablet */
  .footer .halo-row.column-5,
  .footer-2 .halo-row.column-5,
  .footer .footer__content-top .halo-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
  .footer.footer-2 .footer-block__column,
  .footer .footer-block__column {
    flex: 0 0 calc(50% - 16px) !important;
    max-width: calc(50% - 16px) !important;
  }
}

/* ---------- 12. SMALL MOBILE <=414 — extra tightening ---------- */
@media (max-width: 414px) {
  .page-width,
  .container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  h1, .h1, .page__title {
    font-size: 24px !important;
  }
  h2, .h2 {
    font-size: 22px !important;
  }
  .ts-founder,
  .ts-social-proof {
    padding: 48px 14px !important;
  }
  .ts-founder h2 {
    font-size: 30px !important;
  }
  .ts-social-proof h2 {
    font-size: 26px !important;
  }
  .ts-founder p,
  .ts-social-proof p {
    font-size: 15px !important;
  }
  .ts-founder a[href],
  .ts-social-proof a[href="/pages/cursos"],
  .ts-mc-cta a[href="/pages/cursos"] {
    padding: 14px 20px !important;
    font-size: 12px !important;
    letter-spacing: 0.10em !important;
  }
}

/* ---------- 13. ANNOUNCEMENT BAR / TOP STRIP ---------- */
@media (max-width: 600px) {
  .announcement-bar,
  .header__announcement {
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    padding: 6px 10px !important;
    text-align: center !important;
  }
  .announcement-bar p,
  .announcement-bar a {
    font-size: 11px !important;
  }
}

/* ---------- 14. NUKE ANY HORIZONTAL OVERFLOW SOURCES ---------- */
@media (max-width: 768px) {
  /* Common Halo containers that overflow */
  .halo-row,
  .halo-block,
  .halo-section,
  [class*="halo-"] {
    max-width: 100% !important;
  }
  /* Marquees, sliders that often spill */
  .marquee,
  .slider-wrapper,
  .swiper-wrapper {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  /* Tables overflow gracefully */
  table {
    display: block !important;
    overflow-x: auto !important;
    max-width: 100% !important;
  }
  /* Embeds (videos, iframes) responsive */
  iframe,
  video,
  embed {
    max-width: 100% !important;
    width: 100% !important;
    height: auto;
  }
}

/* =============================================================================
   END MOBILE RESPONSIVE PASS — RESTRUCTURE (2026-05-13)
============================================================================= */

/* =============================================================================
   ICON POLISH PASS (2026-05-13) — fix broken hamburger + polish all icons
============================================================================= */

/* ---------- 1. MOBILE HAMBURGER — draw 3 lines (Halo's span was empty) ---------- */
.mobileMenu-toggle,
.header-mobile--icon.item__mobile--hamburger,
.header-mobile--icon-menu,
button.mobileMenu-toggle {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  position: relative !important;
}

/* Hamburger icon — 3 lines drawn via box-shadow (immune to overflow:hidden parents) */
.header-mobile--icon.item__mobile--hamburger,
.header-mobile__item--menu .header-mobile--icon,
.mobileMenu-toggle,
button.mobileMenu-toggle {
  overflow: visible !important;
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  position: relative !important;
  /* Kill default button baseline + UA padding (was pushing icon down) */
  font-size: 0 !important;
  line-height: 0 !important;
  vertical-align: middle !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  outline: none !important;
}
.mobileMenu-toggle__Icon,
.mobileMenu-toggle .icon,
.header-mobile--icon-menu span {
  display: block !important;
  position: relative !important;
  width: 24px !important;
  height: 2px !important;
  background-color: #2B2716 !important;
  border-radius: 2px !important;
  /* Top and bottom lines via box-shadow stack (always visible, no overflow issues) */
  box-shadow:
    0 -7px 0 0 #2B2716,
    0  7px 0 0 #2B2716 !important;
  transition: background-color 220ms ease, transform 220ms ease, box-shadow 220ms ease !important;
}

/* Disable old pseudo-element approach (replaced by box-shadow) */
.mobileMenu-toggle__Icon::before,
.mobileMenu-toggle__Icon::after,
.mobileMenu-toggle .icon::before,
.mobileMenu-toggle .icon::after,
.header-mobile--icon-menu span::before,
.header-mobile--icon-menu span::after {
  content: none !important;
  display: none !important;
}

.mobileMenu-toggle__Icon::before,
.mobileMenu-toggle .icon::before,
.header-mobile--icon-menu span::before {
  top: -7px !important;
}
.mobileMenu-toggle__Icon::after,
.mobileMenu-toggle .icon::after,
.header-mobile--icon-menu span::after {
  bottom: -7px !important;
}

/* Open state — animate to "X" */
.mobileMenu-toggle.is-open .mobileMenu-toggle__Icon,
.mobileMenu-toggle[aria-expanded="true"] .mobileMenu-toggle__Icon,
.menu-drawer-open .mobileMenu-toggle__Icon,
.is-mobileMenu-active .mobileMenu-toggle__Icon {
  background-color: transparent !important;
}
.mobileMenu-toggle.is-open .mobileMenu-toggle__Icon::before,
.mobileMenu-toggle[aria-expanded="true"] .mobileMenu-toggle__Icon::before,
.menu-drawer-open .mobileMenu-toggle__Icon::before {
  top: 0 !important;
  transform: rotate(45deg) !important;
}
.mobileMenu-toggle.is-open .mobileMenu-toggle__Icon::after,
.mobileMenu-toggle[aria-expanded="true"] .mobileMenu-toggle__Icon::after,
.menu-drawer-open .mobileMenu-toggle__Icon::after {
  bottom: 0 !important;
  transform: rotate(-45deg) !important;
}

/* Hover lift */
.mobileMenu-toggle:hover .mobileMenu-toggle__Icon,
.mobileMenu-toggle:hover .mobileMenu-toggle__Icon::before,
.mobileMenu-toggle:hover .mobileMenu-toggle__Icon::after {
  background-color: var(--ts-gold) !important;
}

/* ---------- 2. DESKTOP HEADER ICONS — polish search/account/cart ---------- */
.header__icon {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  transition: background-color 200ms ease, transform 200ms ease !important;
  position: relative !important;
}
.header__icon:hover {
  background-color: rgba(199, 156, 62, 0.08) !important;
}
.header__icon svg {
  width: 22px !important;
  height: 22px !important;
  fill: var(--ts-text-dark) !important;
  color: var(--ts-text-dark) !important;
  transition: fill 200ms ease, color 200ms ease, transform 200ms ease !important;
}
.header__icon svg path,
.header__icon svg circle,
.header__icon svg rect,
.header__icon svg line,
.header__icon svg polygon {
  fill: var(--ts-text-dark) !important;
  stroke: var(--ts-text-dark) !important;
}
/* Stroke-only icons (account icon is stroke style) */
.header__icon--account svg path,
.header__icon--account svg circle {
  fill: none !important;
  stroke: var(--ts-text-dark) !important;
  stroke-width: 1.5 !important;
}
.header__icon:hover svg,
.header__icon:hover svg path,
.header__icon:hover svg circle,
.header__icon:hover svg line {
  fill: var(--ts-gold) !important;
  stroke: var(--ts-gold) !important;
  transform: scale(1.05) !important;
}
.header__icon--account:hover svg path,
.header__icon--account:hover svg circle {
  fill: none !important;
  stroke: var(--ts-gold) !important;
}

/* Cart count bubble — gold pill on top-right of cart icon */
.cart-count-bubble,
.header__icon--cart .cart-count-bubble {
  position: absolute !important;
  top: 4px !important;
  right: 2px !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  background-color: var(--ts-gold) !important;
  color: var(--ts-text-dark) !important;
  border-radius: 9px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  text-align: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
}

/* ---------- 3. MEGA MENU CARETS — make ▼ visible + bigger ---------- */
.header__inline-menu .menu-lv-1.dropdown > a::after,
.header__inline-menu li.dropdown > a::after {
  content: "" !important;
  display: inline-block !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  border-top: none !important;
  border-left: none !important;
  transform: rotate(45deg) translateY(-3px) !important;
  margin-left: 8px !important;
  opacity: 0.7 !important;
  vertical-align: middle !important;
  transition: transform 250ms ease, opacity 250ms ease !important;
}
.header__inline-menu .menu-lv-1.dropdown:hover > a::after,
.header__inline-menu .menu-lv-1.dropdown:focus-within > a::after {
  transform: rotate(225deg) translateY(2px) !important;
  opacity: 1 !important;
  border-color: var(--ts-gold) !important;
}

/* ---------- 4. MOBILE HEADER ICON SIZING (search/cart on mobile only) ---------- */
@media (max-width: 1024px) {
  .header-mobile--icon,
  .header-mobile a.header__icon,
  .header-mobile button.header__icon {
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    padding: 0 !important;
  }
  .header-mobile--icon svg,
  .header-mobile .header__icon svg,
  .header-mobile a.header__icon svg {
    width: 22px !important;
    height: 22px !important;
    fill: var(--ts-text-dark) !important;
    color: var(--ts-text-dark) !important;
  }
  .header-mobile--icon img {
    max-width: 22px !important;
    max-height: 22px !important;
    object-fit: contain !important;
  }
  /* Mobile cart bubble */
  .header-mobile .cart-count-bubble {
    top: 2px !important;
    right: 2px !important;
  }
}

/* ---------- 5. SUBMENU ITEM CHEVRONS (mobile drawer accordion) ---------- */
@media (max-width: 1024px) {
  .header-mobile .menu-lv-1.dropdown > a::after,
  .drawer__menu .has-children > a::after,
  .header-mobile .has-megamenu > a::after {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) !important;
    margin-left: auto !important;
    margin-right: 4px !important;
    opacity: 0.7 !important;
    vertical-align: middle !important;
  }
  .header-mobile .menu-lv-1.dropdown.is-open > a::after,
  .header-mobile .has-megamenu.is-open > a::after {
    transform: rotate(-135deg) !important;
  }
}

/* ---------- 6. SEARCH MODAL CLOSE BUTTON (was 0x0 invisible) ---------- */
.header-search-close,
.search-modal__close,
.search__close,
.modal__close {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
}
.header-search-close svg,
.search-modal__close svg {
  width: 18px !important;
  height: 18px !important;
  fill: var(--ts-text-dark) !important;
  stroke: var(--ts-text-dark) !important;
}

/* ---------- 7. ICON SPACING IN HEADER (consistent gaps) ---------- */
.header__icons,
.header-icons,
.header__buttons,
.header-mobile__icons {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* =============================================================================
   END ICON POLISH PASS (2026-05-13)
============================================================================= */

/* =============================================================================
   HIDE: search icon (lupa) + free shipping calculator (2026-05-13)
============================================================================= */
.header__icon--search,
.header__icon--search.header,
.header-icons .header__icon--search,
.header-mobile .header__icon--search,
.header-mobile--icon-search,
[class*="header__icon--search"],
button.header__icon--search,
a.header__icon--search,
.header__search,
.search-modal,
.predictive-search,
.header-search-form,
[data-search-modal] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.calculator-free-shipping,
.free-shipping-message,
.free-shipping-calculator,
.calculator-free-shipping-message,
.cart__free-shipping,
.cart-free-shipping,
.shipping-progress,
.shipping-progress-bar,
.free-shipping-progress,
.shopify-cart-shipping-progress,
[class*="calculator_free_shipping"],
[class*="free-shipping-progress"],
[class*="cart-shipping-message"],
.cart-drawer__shipping,
.drawer__shipping {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =============================================================================
   CATEGORIES GRID REDESIGN PASS (2026-05-13)
   Section: "EXPLORA LA MARCA" — fixes overlapping/illegible cards.
   Strategy: convert Halo's content_absolute (text overlaid on image)
   into a clean, modern stacked card pattern: image on top, text panel below.
   Targets only the smallImg variant inside customImageBanner block.
============================================================================= */

/* --- 1. Card outer wrapper: vertical flex container ---------------------- */
.custom-image-banner-block .customImageBanner--smallImg .customImageBanner-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

/* --- 2. Card inner item: kill absolute, become flex column ---------------- */
.custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item.content_absolute,
.custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 100% !important;
  background: #FBFBF3 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(62, 52, 43, 0.10) !important;
  transition: transform 300ms cubic-bezier(0.22, 0.61, 0.36, 1),
              box-shadow 300ms ease !important;
}

/* --- 3. Image region (top): square aspect with smooth zoom ---------------- */
.custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .img-box {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  flex: 0 0 auto !important;
}

.custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .img-box > a,
.custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .img-box .image-zoom {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
}

.custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .img-box img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 600ms cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

/* Hover: lift card + zoom image + deeper shadow */
.custom-image-banner-block .customImageBanner--smallImg .customImageBanner-child:hover
  .customImageBanner-item {
  transform: translateY(-6px) !important;
  box-shadow: 0 18px 40px rgba(62, 52, 43, 0.18) !important;
}

.custom-image-banner-block .customImageBanner--smallImg .customImageBanner-child:hover
  .customImageBanner-item .img-box img {
  transform: scale(1.08) !important;
}

/* --- 4. Text panel (bottom): clean cream block --------------------------- */
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content.customImageBanner-inner {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  width: 100% !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  background: linear-gradient(180deg, #FBFBF3 0%, #F4DFC9 140%) !important;
  padding: 24px 22px 26px !important;
  margin: 0 !important;
  gap: 8px !important;
  pointer-events: auto !important;
}

/* --- 5. Subtitle: gold uppercase tracking ---- */
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .sub_title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: #C79C3E !important;
  margin: 0 0 4px !important;
  line-height: 1.4 !important;
  order: 1 !important;
}

.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .sub_title span {
  color: inherit !important;
}

/* --- 6. Title: Rozha One brown 22px ---- */
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .title {
  font-family: 'Rozha One', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #3E342B !important;
  line-height: 1.15 !important;
  margin: 0 0 14px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  order: 2 !important;
}

.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .title a,
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .title .link_title,
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .title span {
  color: #3E342B !important;
  text-decoration: none !important;
  transition: color 200ms ease !important;
}

.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-child:hover .customImageBanner-item .content .title,
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-child:hover .customImageBanner-item .content .title a,
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-child:hover .customImageBanner-item .content .title span {
  color: #2B2716 !important;
}

/* --- 7. Button: brown bg, cream text, full width inside panel, hover gold ---- */
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .spotlight-button,
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .spotlight-button.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 160px !important;
  max-width: 100% !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  color: #FBFBF3 !important;
  background: #3E342B !important;
  border: 1.5px solid #3E342B !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  margin-top: 2px !important;
  transition: background 240ms ease, color 240ms ease,
              border-color 240ms ease, transform 240ms ease,
              box-shadow 240ms ease !important;
  order: 3 !important;
  box-shadow: 0 2px 8px rgba(62, 52, 43, 0.08) !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .spotlight-button:hover,
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-child:hover .customImageBanner-item .content .spotlight-button {
  background: #C79C3E !important;
  border-color: #C79C3E !important;
  color: #FBFBF3 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(199, 156, 62, 0.32) !important;
}

.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .spotlight-button span {
  color: inherit !important;
}

/* --- 8. Section header polish ("EXPLORA LA MARCA" + subtext) -------------- */
.custom-image-banner-block .halo-block-header {
  text-align: center !important;
  margin-bottom: 48px !important;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.custom-image-banner-block .halo-block-header .title {
  font-family: 'Rozha One', serif !important;
  font-size: clamp(32px, 4.2vw, 44px) !important;
  font-weight: 400 !important;
  color: #3E342B !important;
  line-height: 1.05 !important;
  text-transform: capitalize !important;
  margin: 0 0 14px !important;
  letter-spacing: 0 !important;
}

.custom-image-banner-block .halo-block-header .title .text {
  color: inherit !important;
  background: none !important;
  border: none !important;
}

.custom-image-banner-block .halo-block-header .subtext-spotlight {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #C79C3E !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* --- 9. Grid: gap between cards ------------------------------------------ */
.custom-image-banner-block .customImageBanner--smallImg .customImageBanner-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  margin: 0 !important;
}

/* Override Halo's --item-grid-gap inline trick by neutralizing margins */
.custom-image-banner-block .customImageBanner--smallImg .customImageBanner-child {
  margin: 0 !important;
  padding: 0 !important;
}

/* --- 10. Responsive widths ------------------------------------------------ */
/* Desktop: 4 columns */
@media (min-width: 1025px) {
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-child {
    flex: 1 1 calc(25% - 18px) !important;
    max-width: calc(25% - 18px) !important;
    width: calc(25% - 18px) !important;
  }
}

/* Tablet: 2 columns */
@media (min-width: 601px) and (max-width: 1024px) {
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-row {
    gap: 20px !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-child {
    flex: 1 1 calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg
    .customImageBanner-item .content .title {
    font-size: 20px !important;
  }
}

/* Mobile: 1 column stack */
@media (max-width: 600px) {
  .custom-image-banner-block .halo-block-header {
    margin-bottom: 32px !important;
    padding: 0 16px !important;
  }
  .custom-image-banner-block .halo-block-header .title {
    font-size: 30px !important;
  }
  .custom-image-banner-block .halo-block-header .subtext-spotlight {
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-row {
    gap: 18px !important;
    padding: 0 4px !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-child {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg
    .customImageBanner-item .img-box {
    aspect-ratio: 4 / 3 !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg
    .customImageBanner-item .content.customImageBanner-inner {
    padding: 22px 20px 24px !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg
    .customImageBanner-item .content .title {
    font-size: 20px !important;
    margin-bottom: 12px !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg
    .customImageBanner-item .content .sub_title {
    font-size: 10.5px !important;
    letter-spacing: 0.18em !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg
    .customImageBanner-item .content .spotlight-button {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 42px !important;
    font-size: 10.5px !important;
    letter-spacing: 0.06em !important;
    padding: 10px 16px !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }
  /* Disable hover lift on touch — no hover state on mobile */
  .custom-image-banner-block .customImageBanner--smallImg
    .customImageBanner-child:hover .customImageBanner-item {
    transform: none !important;
  }
}

/* --- 11. Kill Halo's inline padding-top trick on the image link ---------- */
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .img-box .image-zoom[style*="padding-top"] {
  padding-top: 0 !important;
}

/* =============================================================================
   END CATEGORIES GRID REDESIGN PASS (2026-05-13)
============================================================================= */


/* =============================================================================
   COLLECTION PAGE REDESIGN PASS (2026-05-13)
   Targets /collections/servicios, /collections/cursos, /collections/tienda
   Goals: hide left sidebar, hide sort dropdown, full-width premium grid,
          big product images, full titles, brand polish, mobile responsive.
   Theme: Halo (selectors: .page-sidebar, .halo-sidebar-wrapper,
          .toolbar-sort, .products-grid, .product-item, .card__heading)
============================================================================= */

/* ---------------------------------------------------------------------------
   A. HIDE LEFT SIDEBAR (Categorías / Disponibilidad / Precio / Más vendidos)
--------------------------------------------------------------------------- */
.template-collection .page-sidebar,
.template-collection .page-sidebar-left,
.template-collection .halo-sidebar-wrapper,
.template-collection aside.page-sidebar,
.template-collection .sidebar--layout_1,
.template-collection .sidebarBlock,
.template-collection .sidebarBlock-categories,
.template-collection .sidebar-categories,
.template-collection .collection-sidebar,
.template-collection .collection__sidebar,
.template-collection [class*="collection__sidebar"],
.template-collection .facets-container,
.template-collection .facets,
.template-collection .collection-facets,
.template-collection .collection__facets,
.template-collection .collection-sidebar__inner,
.template-collection aside.collection-sidebar,
.template-collection .collection__filter,
.template-collection [class*="filter-drawer"],
.template-collection .collection-filters {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  max-width: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Make sure no leftover Halo column-3 wrapper hugs left – take full width */
.template-collection .halo-collection-content,
.template-collection .halo-grid-content,
.template-collection .sidebar--layout_vertical,
.template-collection .has-sidebar .halo-row,
.template-collection .halo-row {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  flex: 0 0 100% !important;
}

/* ---------------------------------------------------------------------------
   B. HIDE SORT DROPDOWN ("ORDENAR POR")
--------------------------------------------------------------------------- */
.template-collection .toolbar,
.template-collection .toolbar-wrapper,
.template-collection .toolbar-products,
.template-collection .toolbar-row,
.template-collection .toolbar-col,
.template-collection .toolbar-colRight,
.template-collection .toolbar-item.toolbar-sort,
.template-collection .toolbar-sort,
.template-collection .toolbar-dropdown,
.template-collection .filter-sortby,
.template-collection .toolbar-label,
.template-collection .collection-sort-by,
.template-collection .facets__sort,
.template-collection .sort-by-container,
.template-collection .collection__sort,
.template-collection .collection-utility-bar,
.template-collection [class*="sort-by"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ---------------------------------------------------------------------------
   C. EXPAND MAIN COLLECTION AREA TO FULL-WIDTH (no sidebar offset)
--------------------------------------------------------------------------- */
.template-collection .main-content,
.template-collection .collection__main,
.template-collection .collection-content,
.template-collection .collection-grid__wrapper,
.template-collection .collection__products,
.template-collection [class*="main-collection"],
.template-collection .container-1170 {
  width: 100% !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* ---------------------------------------------------------------------------
   D. PRODUCT GRID — 3 columns desktop, 2 tablet, 1 mobile
--------------------------------------------------------------------------- */
.template-collection .products-grid,
.template-collection .product-grid,
.template-collection .collection__grid,
.template-collection .grid--collection,
.template-collection [class*="product-grid"] ul,
.template-collection [class*="collection-grid"],
.template-collection .halo-row-product {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

/* Override Halo's column-N wrappers */
.template-collection .products-grid.column-2,
.template-collection .products-grid.column-3,
.template-collection .products-grid.column-4,
.template-collection .products-grid.column-5,
.template-collection .products-grid.column-6 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
}

@media (min-width: 1280px) {
  .template-collection .products-grid,
  .template-collection .products-grid.column-2,
  .template-collection .products-grid.column-3,
  .template-collection .products-grid.column-4 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 1024px) {
  .template-collection .products-grid,
  .template-collection .products-grid.column-2,
  .template-collection .products-grid.column-3,
  .template-collection .products-grid.column-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
}

@media (max-width: 480px) {
  .template-collection .products-grid,
  .template-collection .products-grid.column-2,
  .template-collection .products-grid.column-3,
  .template-collection .products-grid.column-4 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* Halo wraps each tile in <div class="grid-item">. Reset float/widths so the
   grid layout above takes effect. */
.template-collection .products-grid .grid-item,
.template-collection .products-grid > .grid__item,
.template-collection .products-grid > li,
.template-collection .products-grid > div {
  width: 100% !important;
  max-width: 100% !important;
  flex: unset !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---------------------------------------------------------------------------
   E. PRODUCT CARD POLISH — premium feel, soft shadow, hover lift
--------------------------------------------------------------------------- */
.template-collection .product-item,
.template-collection .product-card,
.template-collection .card,
.template-collection .grid__item .card-wrapper,
.template-collection [class*="product-item"] {
  background: #FBFBF3 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(62, 52, 43, 0.08) !important;
  transition: transform 350ms ease, box-shadow 350ms ease !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  position: relative !important;
}

.template-collection .product-item:hover,
.template-collection .product-card:hover,
.template-collection .card:hover,
.template-collection .grid__item:hover .card-wrapper {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 48px rgba(62, 52, 43, 0.18) !important;
}

/* ---------------------------------------------------------------------------
   F. PRODUCT IMAGE — big, square, zoom on hover
--------------------------------------------------------------------------- */
.template-collection .product-item .product-image,
.template-collection .product-item .product-image-wrapper,
.template-collection .product-item .image-resize,
.template-collection .product-item .product-img,
.template-collection .product-item .img-box,
.template-collection .product-item .product-thumbnail,
.template-collection .product-card__image,
.template-collection .card__media,
.template-collection .product__media,
.template-collection .media,
.template-collection .media--square,
.template-collection [class*="product-card__image"] {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  padding-top: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  display: block !important;
  position: relative !important;
}

.template-collection .product-item .product-image img,
.template-collection .product-item .product-image-wrapper img,
.template-collection .product-item .img-box img,
.template-collection .product-item .image-resize img,
.template-collection .product-card__image img,
.template-collection .card__media img,
.template-collection .product__media img,
.template-collection .product-item img.lazyload,
.template-collection .product-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 600ms ease !important;
  position: absolute !important;
  inset: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

.template-collection .product-item:hover img,
.template-collection .product-card:hover .product-card__image img,
.template-collection .card:hover .card__media img,
.template-collection .grid__item:hover .product__media img {
  transform: scale(1.08) !important;
}

/* ---------------------------------------------------------------------------
   G. CARD INFO PANEL — cream-to-peach gradient
--------------------------------------------------------------------------- */
.template-collection .product-item .product-content,
.template-collection .product-item .product-information,
.template-collection .product-item .product-info,
.template-collection .product-item .product-details,
.template-collection .product-item .item-info,
.template-collection .product-card__info,
.template-collection .card__content,
.template-collection .card__information,
.template-collection .product__info,
.template-collection [class*="product-card__info"] {
  background: linear-gradient(180deg, #FBFBF3 0%, #F4DFC9 140%) !important;
  padding: 24px 22px 28px !important;
  text-align: center !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}

/* ---------------------------------------------------------------------------
   H. PRODUCT TITLE — Rozha One, full visible (NEVER truncated)
--------------------------------------------------------------------------- */
.template-collection .product-item .product-title,
.template-collection .product-item .product-name,
.template-collection .product-item h3,
.template-collection .product-item h4,
.template-collection .product-item .card__heading,
.template-collection .product-item .card__heading a,
.template-collection .product-card__title,
.template-collection .card__heading,
.template-collection .card__title,
.template-collection .card-wrapper .card__heading,
.template-collection .product__title,
.template-collection .grid__item .h5,
.template-collection .grid__item h3 {
  font-family: 'Rozha One', serif !important;
  font-size: 20px !important;
  color: #3E342B !important;
  margin: 0 0 8px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  max-height: none !important;
  text-decoration: none !important;
  word-break: normal !important;
  hyphens: none !important;
}

.template-collection .product-item .product-title a,
.template-collection .product-item .card__heading a,
.template-collection .product-item h3 a,
.template-collection .product-item h4 a {
  color: #3E342B !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: inline !important;
}

.template-collection .product-item .product-title a:hover,
.template-collection .product-item .card__heading a:hover {
  color: #C79C3E !important;
}

/* ---------------------------------------------------------------------------
   I. PRICE — Rozha One, brand brown / gold-on-sale
--------------------------------------------------------------------------- */
.template-collection .product-item .price,
.template-collection .product-item .product-price,
.template-collection .product-item .price-item,
.template-collection .product-item .price-item--regular,
.template-collection .product-card__price,
.template-collection .card__price,
.template-collection .price,
.template-collection .price-item,
.template-collection .price-item--regular {
  font-family: 'Rozha One', serif !important;
  font-size: 22px !important;
  color: #3E342B !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.template-collection .price-item--sale,
.template-collection .price__sale .price-item--regular,
.template-collection .product-item .price--on-sale .price-item {
  color: #C79C3E !important;
}

.template-collection .price__compare,
.template-collection .price-item--compare-at,
.template-collection .product-item .compare-price {
  color: #3F4447 !important;
  font-size: 14px !important;
  text-decoration: line-through !important;
  opacity: 0.6 !important;
  font-family: 'Poppins', sans-serif !important;
}

/* ---------------------------------------------------------------------------
   J. COLLECTION HERO / HEADER — premium centered title
--------------------------------------------------------------------------- */
.template-collection .collection-header,
.template-collection .collection-hero,
.template-collection .collection__header,
.template-collection .page-header,
.template-collection .ts-coll-hero {
  text-align: center !important;
  padding: 64px 24px 32px !important;
  background: transparent !important;
}

.template-collection .collection-header h1,
.template-collection .collection-header .collection-title,
.template-collection .collection-hero h1,
.template-collection .collection__title,
.template-collection .collection__header h1,
.template-collection .page-header h1,
.template-collection .ts-coll-hero h1 {
  font-family: 'Rozha One', serif !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  color: #3E342B !important;
  margin: 12px 0 16px !important;
  letter-spacing: 0.01em !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
}

.template-collection .collection-header p,
.template-collection .collection-header .collection-description,
.template-collection .collection-hero p,
.template-collection .collection__description {
  font-family: 'Poppins', sans-serif !important;
  color: #3F4447 !important;
  font-size: 17px !important;
  max-width: 600px !important;
  margin: 0 auto !important;
  line-height: 1.55 !important;
}

.template-collection .collection-hero .eyebrow,
.template-collection .collection__subtitle,
.template-collection .ts-coll-hero .eyebrow {
  font-family: 'Poppins', sans-serif !important;
  color: #C79C3E !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  display: block !important;
  margin-bottom: 8px !important;
}

/* ---------------------------------------------------------------------------
   K. BREADCRUMB POLISH (kept light)
--------------------------------------------------------------------------- */
.template-collection .breadcrumb,
.template-collection .breadcrumb-container,
.template-collection .breadcrumbs {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  color: #3F4447 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 16px 24px !important;
  background: transparent !important;
  text-align: center !important;
}

.template-collection .breadcrumb a,
.template-collection .breadcrumb-container a,
.template-collection .breadcrumbs a {
  color: #C79C3E !important;
  text-decoration: none !important;
}

.template-collection .breadcrumb a:hover,
.template-collection .breadcrumbs a:hover {
  color: #3E342B !important;
}

/* ---------------------------------------------------------------------------
   L. ADD-TO-CART / SECONDARY BUTTONS in cards (Halo "ATC" / quick view)
--------------------------------------------------------------------------- */
.template-collection .product-item .product-action,
.template-collection .product-item .button-bottom,
.template-collection .product-item .product-buttons,
.template-collection .product-item .quick-shop {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

.template-collection .product-item .product-action .btn,
.template-collection .product-item .product-action button,
.template-collection .product-item .product-action a {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  background: #3E342B !important;
  color: #FBFBF3 !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 10px 22px !important;
  transition: background 250ms ease, transform 250ms ease !important;
}

.template-collection .product-item .product-action .btn:hover,
.template-collection .product-item .product-action button:hover,
.template-collection .product-item .product-action a:hover {
  background: #C79C3E !important;
  transform: translateY(-2px) !important;
}

/* ---------------------------------------------------------------------------
   M. MOBILE RESPONSIVE — tighter spacing, no hover lift
--------------------------------------------------------------------------- */
@media (max-width: 768px) {
  .template-collection .collection-header,
  .template-collection .collection-hero,
  .template-collection .collection__header,
  .template-collection .ts-coll-hero {
    padding: 40px 16px 24px !important;
  }
  .template-collection .collection-header h1,
  .template-collection .collection-hero h1,
  .template-collection .ts-coll-hero h1 {
    font-size: 32px !important;
  }
  .template-collection .main-content,
  .template-collection .container-1170 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .template-collection .product-item .product-content,
  .template-collection .product-card__info,
  .template-collection .card__content {
    padding: 16px 14px 20px !important;
  }
  .template-collection .product-item .card__heading,
  .template-collection .product-card__title {
    font-size: 17px !important;
  }
  .template-collection .product-item .price,
  .template-collection .product-card__price,
  .template-collection .price-item {
    font-size: 18px !important;
  }
  .template-collection .product-item:hover,
  .template-collection .product-card:hover,
  .template-collection .card:hover,
  .template-collection .grid__item:hover .card-wrapper {
    transform: none !important;
  }
  .template-collection .product-item:hover img {
    transform: none !important;
  }
}

@media (max-width: 480px) {
  .template-collection .collection-header h1,
  .template-collection .collection-hero h1 {
    font-size: 28px !important;
  }
  .template-collection .product-item .card__heading {
    font-size: 18px !important;
  }
}

/* ---------------------------------------------------------------------------
   N. HALO-SPECIFIC OVERRIDES — discovered via runtime inspection
       Real markup:
         <div id="CollectionProductGrid" class="page-content">
           <div class="collection">
             <ul id="main-collection-product-grid"
                 class="productListing productGrid column-4 list-4">
               <li class="product"> ... </li>
--------------------------------------------------------------------------- */

/* Force the product-grid section + its inner wrappers to take 100% width
   even when Halo thinks there is a sidebar. */
.template-collection #shopify-section-template--21693368729785__product-grid,
.template-collection [id$="__product-grid"],
.template-collection .collection-default,
.template-collection .container-1170,
.template-collection .halo-collection-content,
.template-collection .halo-grid-content,
.template-collection .sidebar--layout_vertical,
.template-collection #CollectionProductGrid,
.template-collection .page-content#CollectionProductGrid,
.template-collection #CollectionProductGrid > .collection {
  width: 100% !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  flex: 0 0 100% !important;
  float: none !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* The actual product list */
.template-collection #main-collection-product-grid,
.template-collection ul.productListing,
.template-collection ul.productGrid,
.template-collection .productListing.productGrid,
.template-collection ul.productListing.productGrid.column-4,
.template-collection ul.productListing.productGrid.column-3,
.template-collection ul.productListing.productGrid.column-2 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

@media (min-width: 1280px) {
  .template-collection #main-collection-product-grid,
  .template-collection ul.productListing.productGrid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 1024px) {
  .template-collection #main-collection-product-grid,
  .template-collection ul.productListing.productGrid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
}

@media (max-width: 480px) {
  .template-collection #main-collection-product-grid,
  .template-collection ul.productListing.productGrid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* The <li class="product"> tile */
.template-collection #main-collection-product-grid > li,
.template-collection #main-collection-product-grid > li.product,
.template-collection ul.productListing > li,
.template-collection ul.productListing > li.product,
.template-collection ul.productGrid > li {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  list-style: none !important;
  background: #FBFBF3 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(62, 52, 43, 0.08) !important;
  transition: transform 350ms ease, box-shadow 350ms ease !important;
}

.template-collection #main-collection-product-grid > li.product:hover,
.template-collection ul.productListing > li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 48px rgba(62, 52, 43, 0.18) !important;
}

/* Make image fill card top, square, big */
.template-collection #main-collection-product-grid .product-item,
.template-collection #main-collection-product-grid .product-card {
  width: 100% !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Image wrapper inside Halo product-item */
.template-collection #main-collection-product-grid .product-item .image,
.template-collection #main-collection-product-grid .product-item .image-resize,
.template-collection #main-collection-product-grid .product-item .img-box,
.template-collection #main-collection-product-grid .product-item .product-image,
.template-collection #main-collection-product-grid .product-item .product-image-wrapper,
.template-collection #main-collection-product-grid .product-item .product-thumbnail,
.template-collection #main-collection-product-grid .product-item .image-zoom,
.template-collection #main-collection-product-grid .product-item .image-resize a,
.template-collection #main-collection-product-grid .product-item picture,
.template-collection #main-collection-product-grid .product-item .product-image a {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  padding: 0 !important;
  padding-top: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  position: relative !important;
}

.template-collection #main-collection-product-grid .product-item img,
.template-collection #main-collection-product-grid .product-item .image img,
.template-collection #main-collection-product-grid .product-item picture img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 600ms ease !important;
}

.template-collection #main-collection-product-grid > li.product:hover img {
  transform: scale(1.08) !important;
}

/* Mobile: reset hover */
@media (max-width: 768px) {
  .template-collection #main-collection-product-grid > li.product:hover {
    transform: none !important;
  }
  .template-collection #main-collection-product-grid > li.product:hover img {
    transform: none !important;
  }
}

/* Hide the sample-product loading-state placeholders ("loadingNoInfo") */
.template-collection .product-item--loadingNoInfo {
  display: none !important;
}

/* Recently-viewed section: make it match too (light pass) */
.template-collection .halo-recently-viewed-block-sections .productListing,
.template-collection .halo-recently-viewed-block-sections .productGrid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}

@media (max-width: 1024px) {
  .template-collection .halo-recently-viewed-block-sections .productListing,
  .template-collection .halo-recently-viewed-block-sections .productGrid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* =============================================================================
   END COLLECTION PAGE REDESIGN PASS (2026-05-13)
============================================================================= */


/* =============================================================================
   BUG HUNT PASS (2026-05-13)
   Site-wide responsive bug hunt: home, footer, header, categories grid,
   custom-liquid sections, page heroes, forms, buttons.
   Strategy: aggressive !important overrides, attribute selectors for inline
   styles, multiple breakpoints, max-mobile-first.
============================================================================= */

/* ---------------------------------------------------------------------------
   BH-A. CATEGORIES GRID — button perfectly centered with image
   "EXPLORA LA MARCA" — the .spotlight-button must align to the column
   center, NOT to the title text-end. Force via flex:none + auto margins.
--------------------------------------------------------------------------- */
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content.customImageBanner-inner {
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
}

.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .spotlight-button,
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content a.button,
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content a[class*="button"] {
  display: inline-flex !important;
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 12px !important;
  text-align: center !important;
  width: auto !important;
  min-width: 160px !important;
  max-width: 100% !important;
  font-size: 10.5px !important;
  letter-spacing: 0.08em !important;
  padding: 10px 18px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  /* ensure inline width var from theme is overridden */
  --button-width-style: auto !important;
}

/* Strip Halo's inline --button-width-style if it stretches the button */
.custom-image-banner-block .customImageBanner--smallImg
  .customImageBanner-item .content .spotlight-button[style*="--button-width-style"] {
  width: auto !important;
  min-width: 160px !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

@media (max-width: 600px) {
  .custom-image-banner-block .customImageBanner--smallImg
    .customImageBanner-item .content .spotlight-button {
    width: 100% !important;
    max-width: 280px !important;
    min-width: 0 !important;
    --button-width-style: 100% !important;
  }
}

/* ---------------------------------------------------------------------------
   BH-B. CUSTOM-LIQUID SECTIONS — extra mobile fallbacks
   Repeat with !important on every breakpoint to outweigh inline styles.
--------------------------------------------------------------------------- */
@media (max-width: 768px) {
  /* Founder strip — be EXTRA aggressive against inline grid */
  section.ts-founder > div,
  .ts-founder > div[style*="grid-template-columns"],
  .ts-founder > div[style*="1fr 1.1fr"],
  .ts-founder > div[style*="1fr"],
  .ts-founder div[style*="display:grid"] {
    grid-template-columns: 1fr !important;
    display: grid !important;
    gap: 28px !important;
  }
  /* Social proof grid */
  section.ts-social-proof > div > div[style*="grid-template-columns"],
  .ts-social-proof div[style*="grid-template-columns:1fr"],
  .ts-social-proof div[style*="display:grid"][style*="1fr"] {
    grid-template-columns: 1fr !important;
  }
  /* MC CTA stat row — ensure grid not flex on mobile */
  .ts-mc-cta div[style*="display:flex"][style*="flex-wrap"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px 12px !important;
  }
  /* Section padding consistent */
  section.ts-founder,
  section.ts-social-proof,
  section.ts-mc-cta {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (max-width: 414px) {
  .ts-mc-cta div[style*="display:flex"][style*="flex-wrap"],
  .ts-mc-cta div[style*="display:grid"] {
    grid-template-columns: 1fr 1fr !important;
  }
  .ts-social-proof div[style*="grid-template-columns:repeat(2,1fr)"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
}

/* ---------------------------------------------------------------------------
   BH-C. HEADER ICONS — consistent gap, 44x44 touch targets
--------------------------------------------------------------------------- */
.header-icons,
.header-icons.header-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.header-icons .header__iconItem,
.header-icons .header__icon,
.header-mobile__item,
.header-mobile--icon {
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}

/* Ensure search icon stays hidden if it was already hidden in earlier passes */
.header-icons .header__search,
.header-icons .header__iconItem.header__search,
details.header__search {
  display: none !important;
}

/* Account + cart icons consistent size */
.header__icon--account svg,
.header__icon--cart svg,
.header-mobile__item svg {
  width: 24px !important;
  height: 24px !important;
}

/* Cart count bubble: high-contrast brown badge */
.cart-count-bubble {
  background-color: #3E342B !important;
  color: #FBFBF3 !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  min-width: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 5px !important;
  box-shadow: 0 1px 4px rgba(62, 52, 43, 0.25) !important;
}

/* Mobile hamburger — readable 24px icon, 44px touch area */
.header-mobile--icon.item__mobile--hamburger,
.item__mobile--hamburger {
  width: 44px !important;
  height: 44px !important;
  cursor: pointer !important;
}
.item__mobile--hamburger svg,
.header-mobile--icon svg {
  width: 24px !important;
  height: 24px !important;
}

/* Mobile header layout: 5 items en línea: menu | (search hidden) | logo | customer | cart */
/* Halo DOM order: menu, search, logo, customer, cart */
@media (max-width: 1024px) {
  .header-mobile__wrapper,
  .header-mobile--wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 4px !important;
    padding: 8px 16px !important;
    min-height: 60px !important;
    width: 100% !important;
  }
  /* ALL mobile header items: forced align-self center to override Halo defaults */
  .header-mobile__item,
  .header-mobile__item--menu,
  .header-mobile__item--logo,
  .header-mobile__item--customer,
  .header-mobile__item--cart,
  .header-mobile__item--icons {
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    justify-content: center !important;
    height: auto !important;
    min-height: 44px !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    vertical-align: middle !important;
    align-content: center !important;
  }
  /* Logo: constrain max height so wrapper doesn't grow to 120px */
  .header-mobile__item--logo,
  .header-mobile__item--logo .header__heading,
  .header-mobile__item--logo .header__heading-link,
  .header-mobile__item--logo .header__heading-logo {
    max-height: 50px !important;
    height: auto !important;
  }
  .header-mobile__item--logo .header__heading-logo {
    width: auto !important;
    max-width: 140px !important;
    object-fit: contain !important;
  }
  /* Wrapper: enforce single row + center */
  .header-mobile__wrapper,
  .header-mobile--wrapper {
    align-items: center !important;
    align-content: center !important;
    min-height: 60px !important;
    max-height: 70px !important;
  }
  /* Inner .header-mobile--icon containers also centered + same height */
  .header-mobile__item .header-mobile--icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
  }
  /* Buttons and anchors inside also fully centered */
  .header-mobile__item .header-mobile--icon button,
  .header-mobile__item .header-mobile--icon a,
  .header-mobile__item button.mobileMenu-toggle,
  .header-mobile__item a.header__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
  }

  /* menu (hamburger): LEFT, fixed width */
  .header-mobile__item--menu {
    flex: 0 0 auto !important;
    order: 1 !important;
    margin-right: 4px !important;
  }
  /* search: HIDDEN */
  .header-mobile__item--search {
    display: none !important;
  }
  /* logo: CENTER, takes remaining space, content centered */
  .header-mobile__heading,
  .header-mobile__item--logo {
    flex: 1 1 auto !important;
    order: 2 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    min-width: 0 !important;
  }
  /* customer (account): RIGHT side, before cart */
  .header-mobile__item--customer {
    flex: 0 0 auto !important;
    order: 3 !important;
  }
  /* cart: FAR RIGHT */
  .header-mobile__item--cart {
    flex: 0 0 auto !important;
    order: 4 !important;
    margin-left: 4px !important;
  }
  /* Generic icons wrapper if Halo uses one */
  .header-mobile__item--icons,
  .header-mobile__icons {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    order: 3 !important;
    flex: 0 0 auto !important;
  }
}

/* ---------------------------------------------------------------------------
   BH-D. FOOTER RESPONSIVE — columns stack <600px, newsletter stacks
--------------------------------------------------------------------------- */
@media (max-width: 600px) {
  /* Each footer column 100% width */
  .footer .footer__content-top .halo-row,
  .footer.footer-2 .footer__content-top .halo-row,
  .footer .halo-row.column-5 {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    text-align: center !important;
    align-items: center !important;
    padding: 32px 16px !important;
  }
  .footer .halo-item,
  .footer .footer-block,
  .footer__column,
  .footer .halo-item.footer-block {
    width: 100% !important;
    max-width: 420px !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 0 8px !important;
  }
  /* Footer headings and links centered */
  .footer .footer-block__heading,
  .footer .footer-block__column .footer-block__heading,
  .footer h3,
  .footer h4 {
    text-align: center !important;
    margin-bottom: 12px !important;
    font-size: 14px !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
  }
  .footer .footer-block__details-content,
  .footer .footer-block__list-menu {
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .footer ul.list-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
  }
  .footer ul.list-menu li {
    margin: 0 !important;
    padding: 4px 0 !important;
  }
  /* Newsletter form: input on top, button below */
  .footer .newsletter-form,
  .footer .footer-block__newsletter-form,
  .footer-block__newsletter-form,
  .footer form[action*="contact"],
  .footer form[id*="newsletter"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 12px auto 0 !important;
  }
  .footer .newsletter-form__field-wrapper,
  .footer .field {
    width: 100% !important;
    margin: 0 !important;
  }
  .footer .newsletter-form input[type="email"],
  .footer .footer-block__newsletter input[type="email"],
  .footer input[type="email"] {
    width: 100% !important;
    height: 46px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(62, 52, 43, 0.18) !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-family: 'Poppins', sans-serif !important;
    background: #FBFBF3 !important;
    color: #3E342B !important;
    box-sizing: border-box !important;
  }
  .footer .newsletter-form button[type="submit"],
  .footer .footer-block__newsletter button[type="submit"],
  .footer button[name="commit"],
  .footer .newsletter__button {
    width: 100% !important;
    height: 46px !important;
    padding: 0 20px !important;
    background: #3E342B !important;
    color: #FBFBF3 !important;
    border: 1.5px solid #3E342B !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }
  /* Social icons row centered */
  .footer .list-social,
  .footer .footer-block__list-social .list-social {
    display: flex !important;
    justify-content: center !important;
    gap: 14px !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    flex-wrap: wrap !important;
  }
  .footer .list-social__item,
  .footer .list-social li {
    margin: 0 !important;
  }
  .footer .list-social__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: rgba(62, 52, 43, 0.06) !important;
    transition: background 200ms ease !important;
  }
  .footer .list-social__link:hover {
    background: rgba(199, 156, 62, 0.18) !important;
  }
  .footer .list-social__link svg {
    width: 18px !important;
    height: 18px !important;
  }
  /* Bottom: copyright + payment icons stack */
  .footer .footer__bottom,
  .footer .footer-block__bottom,
  .footer__content-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 20px 16px !important;
    text-align: center !important;
  }
  .footer .footer__copyright,
  .footer .copyright-content,
  .footer .footer-block__bottom .left-footer,
  .footer .footer-block__bottom .right-footer {
    text-align: center !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 12px !important;
  }
  .footer .list-payment,
  .footer .payment-icons,
  .footer .footer-block__payment {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Tablet 601-1024 — still 2 cols if forced 5 */
@media (min-width: 601px) and (max-width: 1024px) {
  .footer .footer__content-top .halo-row,
  .footer .halo-row.column-5 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px 24px !important;
    padding: 48px 24px !important;
  }
  .footer .halo-item.footer-block {
    width: 100% !important;
    text-align: left !important;
  }
}

/* ---------------------------------------------------------------------------
   BH-E. SECTION PADDING RHYTHM — consistent across pages
   Desktop 80px / Tablet 56px / Mobile 40px
--------------------------------------------------------------------------- */
section.shopify-section,
.shopify-section > section,
.shopify-section .section,
section[class*="section-"],
section[id*="shopify-section"] {
  padding-top: 0;
  padding-bottom: 0;
}

/* Apply spacing to top-level visible sections (not header/footer groups) */
main .shopify-section + .shopify-section,
#MainContent .shopify-section,
#MainContent > section {
  /* Let inner padding from each section render. Don't double-pad. */
}

/* Hero next-to-section gap */
@media (min-width: 1025px) {
  main #MainContent > section,
  main #MainContent > .shopify-section > section {
    /* most sections set their own padding; ensure no negative margin */
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* Cramped sections fix — body content min vertical breathing room */
section.ts-founder,
section.ts-social-proof,
section.ts-mc-cta,
.shopify-section[class*="custom-liquid"] > section {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
@media (max-width: 1024px) {
  section.ts-founder,
  section.ts-social-proof,
  section.ts-mc-cta,
  .shopify-section[class*="custom-liquid"] > section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
}
@media (max-width: 600px) {
  section.ts-founder,
  section.ts-social-proof,
  section.ts-mc-cta,
  .shopify-section[class*="custom-liquid"] > section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* ---------------------------------------------------------------------------
   BH-F. TYPOGRAPHY RESPONSIVE — clamp + min sizes
--------------------------------------------------------------------------- */
h1, .h1, .page__title, .article__title {
  font-size: clamp(28px, 5vw, 56px) !important;
  line-height: 1.12 !important;
}
h2, .h2, .section-header__title {
  font-size: clamp(24px, 4vw, 40px) !important;
  line-height: 1.18 !important;
}
h3, .h3 {
  font-size: clamp(18px, 2.4vw, 22px) !important;
  line-height: 1.28 !important;
}
body, p, li, .rte p {
  font-size: 16px;
  line-height: 1.6;
}
@media (min-width: 1025px) {
  body, p, li, .rte p {
    font-size: 17px !important;
    line-height: 1.65 !important;
  }
}
/* No text below 14px on mobile */
@media (max-width: 600px) {
  body, p, li, span, .rte p, .rte span {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
  small, .small, .caption {
    font-size: 13px !important;
  }
}

/* ---------------------------------------------------------------------------
   BH-G. IMAGE OVERFLOW — never cause horizontal scroll
--------------------------------------------------------------------------- */
/* PASS 1: keep horizontal-overflow guard but DON'T force max-width:100vw on html
   (max-width on html breaks scroll-y on Safari/Chrome at certain DPRs) */
html {
  overflow-x: clip;
}
body {
  overflow-x: clip;
  max-width: 100vw;
}
img, picture, video, svg, iframe {
  max-width: 100% !important;
  height: auto;
}
img {
  display: block;
}
/* Restore fixed-size icon SVGs (don't set max-width on icon svgs) */
.icon, button svg, a svg, .header__icon svg, .list-social__link svg {
  max-width: none !important;
}

/* ---------------------------------------------------------------------------
   BH-H. FORMS — input/textarea consistent height + focus state
--------------------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="password"],
input[type="number"],
select,
textarea {
  min-height: 44px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(62, 52, 43, 0.18) !important;
  border-radius: 6px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  background: #FBFBF3 !important;
  color: #3E342B !important;
  box-sizing: border-box !important;
  transition: border-color 200ms ease, box-shadow 200ms ease !important;
}
textarea {
  min-height: 110px !important;
  padding: 14px !important;
  resize: vertical !important;
}
input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: #C79C3E !important;
  box-shadow: 0 0 0 3px rgba(199, 156, 62, 0.18) !important;
}
::placeholder {
  color: rgba(62, 52, 43, 0.45) !important;
  font-family: 'Poppins', sans-serif !important;
}

/* Newsletter inputs in any section */
.newsletter-form input[type="email"],
.contact-form input,
.contact-form textarea,
form[action*="newsletter"] input[type="email"],
form[action*="contact"] input,
form[action*="contact"] textarea {
  width: 100% !important;
}

/* ---------------------------------------------------------------------------
   BH-I. BUTTONS — touch targets, consistent sizing
--------------------------------------------------------------------------- */
.btn,
.button,
button.btn,
a.btn,
a.button,
.product-form__submit,
.cart__submit,
.shopify-payment-button__button,
input[type="submit"] {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  cursor: pointer !important;
  white-space: normal !important;
  line-height: 1.2 !important;
}

@media (min-width: 1025px) {
  .btn:not(.spotlight-button):not([class*="header"]):not(.list-social__link),
  .button:not(.spotlight-button):not([class*="header"]) {
    padding: 14px 28px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 600px) {
  .btn:not(.spotlight-button):not([class*="header"]):not(.list-social__link):not(.cart-count-bubble),
  .button:not(.spotlight-button):not([class*="header"]):not(.list-social__link),
  a.btn,
  a.button:not(.spotlight-button) {
    padding: 12px 20px !important;
    font-size: 12px !important;
    width: 100% !important;
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Primary brown to gold hover with lift */
.btn--primary:hover,
.btn-1:hover,
button.btn:hover,
a.btn:hover {
  transform: translateY(-2px) !important;
  background: #C79C3E !important;
  border-color: #C79C3E !important;
  color: #FBFBF3 !important;
  box-shadow: 0 8px 22px rgba(199, 156, 62, 0.32) !important;
}

/* ---------------------------------------------------------------------------
   BH-J. CART DRAWER — brand styling
--------------------------------------------------------------------------- */
cart-drawer,
.cart-drawer,
.drawer.drawer--cart,
#mini-cart,
.mini-cart,
.cart-popup-wrapper {
  background: #FBFBF3 !important;
  color: #3E342B !important;
  font-family: 'Poppins', sans-serif !important;
  width: 420px !important;
  max-width: 100vw !important;
  box-shadow: -10px 0 40px rgba(62, 52, 43, 0.18) !important;
}

@media (max-width: 600px) {
  cart-drawer,
  .cart-drawer,
  .drawer.drawer--cart,
  #mini-cart,
  .mini-cart,
  .cart-popup-wrapper {
    width: 100% !important;
    max-width: 100vw !important;
  }
}

.cart-drawer__heading,
.mini-cart__title,
.cart-popup-title,
.drawer__heading {
  font-family: 'Rozha One', serif !important;
  font-size: 22px !important;
  color: #3E342B !important;
  text-align: center !important;
  padding: 20px 16px 8px !important;
  border-bottom: 1px solid rgba(62, 52, 43, 0.10) !important;
}

.cart-drawer .cart-item,
.mini-cart__item,
.cart-popup-wrapper .cart-item {
  padding: 16px !important;
  border-bottom: 1px solid rgba(62, 52, 43, 0.08) !important;
}

.cart-drawer .cart-item__name,
.mini-cart__item-title,
.cart-item__details a {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  color: #3E342B !important;
  font-size: 14px !important;
}

.cart-drawer .totals,
.cart-drawer__footer,
.mini-cart__footer,
.cart-popup-wrapper .cart-popup-bottom {
  background: #F4DFC9 !important;
  padding: 20px 16px !important;
  border-top: 1px solid rgba(62, 52, 43, 0.10) !important;
}

.cart-drawer .totals__total-value,
.cart-drawer .cart__total,
.mini-cart__subtotal-value {
  font-family: 'Rozha One', serif !important;
  font-size: 22px !important;
  color: #3E342B !important;
}

.cart-drawer .cart__checkout,
.cart-drawer .button[name="checkout"],
.mini-cart__checkout,
.cart-popup-wrapper .button[name="checkout"] {
  background: #3E342B !important;
  color: #FBFBF3 !important;
  border: 1.5px solid #3E342B !important;
  width: 100% !important;
  padding: 14px 20px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  margin-top: 8px !important;
}
.cart-drawer .cart__checkout:hover,
.mini-cart__checkout:hover {
  background: #C79C3E !important;
  border-color: #C79C3E !important;
}

/* ---------------------------------------------------------------------------
   BH-L. PAGE HERO SPACING — Conoce a Tracy, FAQ, Servicios, Cursos, Tienda
--------------------------------------------------------------------------- */
.template-page .page-header,
.template-page .page__header,
.template-page .page-content > .page-title,
.template-page .ts-page-hero,
.template-collection .ts-coll-hero,
.template-article .article-template__header,
.template-blog .blog-header {
  padding: 80px 24px 32px !important;
  text-align: center !important;
  background: transparent !important;
}

.template-page .page__title,
.template-page .page-header h1,
.template-page .ts-page-hero h1,
.template-article .article-template__title,
.template-blog .blog-header h1 {
  font-family: 'Rozha One', serif !important;
  font-size: clamp(34px, 5vw, 56px) !important;
  color: #3E342B !important;
  margin: 0 auto 16px !important;
  max-width: 880px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.01em !important;
}

@media (max-width: 768px) {
  .template-page .page-header,
  .template-page .page__header,
  .template-page .page-content > .page-title,
  .template-page .ts-page-hero,
  .template-collection .ts-coll-hero,
  .template-article .article-template__header,
  .template-blog .blog-header {
    padding: 48px 16px 24px !important;
  }
}

/* ---------------------------------------------------------------------------
   BH-M. BLOG / ARTICLE PAGE — base typography pass
--------------------------------------------------------------------------- */
.template-blog main,
.template-article main {
  background: #FBFBF3 !important;
}

.template-blog .blog-articles,
.template-blog .article-card,
.template-blog .blog__posts {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 24px 64px !important;
}

@media (max-width: 1024px) {
  .template-blog .blog-articles,
  .template-blog .blog__posts {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
}

@media (max-width: 600px) {
  .template-blog .blog-articles,
  .template-blog .blog__posts {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 0 16px 48px !important;
  }
}

.template-blog .article,
.template-blog .article-card,
.template-blog .blog-article {
  background: #FBFBF3 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(62, 52, 43, 0.08) !important;
  transition: transform 300ms ease, box-shadow 300ms ease !important;
}
.template-blog .article:hover,
.template-blog .article-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(62, 52, 43, 0.16) !important;
}

.template-blog .article__title,
.template-blog .article-card__title,
.template-blog .blog-article__title {
  font-family: 'Rozha One', serif !important;
  font-size: 22px !important;
  color: #3E342B !important;
  padding: 0 18px 8px !important;
  line-height: 1.2 !important;
  margin: 14px 0 0 !important;
}

.template-blog .article__excerpt,
.template-blog .article-card__excerpt,
.template-blog .blog-article__excerpt {
  font-family: 'Poppins', sans-serif !important;
  color: #3F4447 !important;
  font-size: 14.5px !important;
  padding: 0 18px 18px !important;
  line-height: 1.55 !important;
}

.template-article .article-template__content,
.template-article .article-template {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 0 24px 64px !important;
}

.template-article .article-template__content p,
.template-article .article-template__content li {
  font-family: 'Poppins', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: #3F4447 !important;
  margin-bottom: 18px !important;
}

.template-article .article-template__content h2 {
  font-family: 'Rozha One', serif !important;
  margin-top: 36px !important;
  margin-bottom: 14px !important;
  color: #3E342B !important;
}

@media (max-width: 600px) {
  .template-article .article-template__content,
  .template-article .article-template {
    padding: 0 16px 48px !important;
  }
  .template-article .article-template__content p,
  .template-article .article-template__content li {
    font-size: 16px !important;
  }
}

/* ---------------------------------------------------------------------------
   BH-N. PRODUCT PAGE — fix common Halo issues
--------------------------------------------------------------------------- */
.template-product .product__media-wrapper,
.template-product .product__info-wrapper {
  padding: 0 16px !important;
}

@media (max-width: 768px) {
  .template-product .product,
  .template-product .product__container,
  .template-product .halo-product-container {
    grid-template-columns: 1fr !important;
    display: grid !important;
    gap: 24px !important;
  }
  .template-product .product__title,
  .template-product .product-title,
  .template-product h1 {
    font-size: clamp(26px, 7vw, 34px) !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }
  .template-product .price,
  .template-product .product__price,
  .template-product .price-item {
    text-align: center !important;
    display: block !important;
  }
  .template-product .product-form,
  .template-product .product__form {
    margin-top: 18px !important;
  }
}

/* ---------------------------------------------------------------------------
   BH-O. PREDICTIVE / SEARCH MODAL — already hidden, just force on all triggers
--------------------------------------------------------------------------- */
details.header__search,
.search-modal,
.header__search,
.header-icons .header__search,
.header-mobile__item--search,
.header-mobile--search {
  display: none !important;
  visibility: hidden !important;
}

/* ---------------------------------------------------------------------------
   BH-P. UNIVERSAL ANTI-OVERFLOW + box-sizing
--------------------------------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
}

main, #MainContent, .wrapper-content {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

.container, .page-width, .container-1170 {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

@media (max-width: 600px) {
  .container, .page-width, .container-1170 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ---------------------------------------------------------------------------
   BH-Q. SECTION DIVIDER RHYTHM — never two dark bands without break
--------------------------------------------------------------------------- */
.shopify-section + .shopify-section {
  /* prevent double dark backgrounds touching abruptly — slight breathing */
}

/* Hero must have NO bottom margin so next section flows */
[id*="image_banner"] {
  margin-bottom: 0 !important;
}

/* ---------------------------------------------------------------------------
   BH-R. ANIMATION RESPECT — reduce-motion users
--------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* =============================================================================
   END BUG HUNT PASS (2026-05-13)
============================================================================= */

/* =============================================================================
   TARGETED BUG FIX PASS (2026-05-13) — verified by direct DOM inspection
============================================================================= */

/* ---------- 1. MAP IFRAME HEIGHT — Halo's "iframe{height:auto}" overrode HTML attr ---------- */
.contact-map iframe,
.page-contacto iframe,
[class*="map"] iframe,
iframe[src*="maps.google.com"],
iframe[src*="google.com/maps"],
iframe[src*="maps/embed"],
iframe[height="450"],
iframe[height="400"],
iframe[height="350"] {
  height: 450px !important;
  min-height: 450px !important;
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 16px !important;
  border: 0 !important;
  display: block !important;
}
@media (max-width: 768px) {
  iframe[src*="maps.google.com"],
  iframe[src*="google.com/maps"],
  iframe[src*="maps/embed"] {
    height: 320px !important;
    min-height: 320px !important;
  }
}

/* ---------- 2. SOCIAL ICONS — make SVGs bigger inside the pill ---------- */
.footer-block__list-social a {
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: rgba(251, 251, 243, 0.10) !important;
  border-radius: 50% !important;
  border: 1px solid rgba(251, 251, 243, 0.18) !important;
  transition: background-color 200ms ease, transform 200ms ease, border-color 200ms ease !important;
}
.footer-block__list-social a:hover {
  background-color: var(--ts-gold) !important;
  border-color: var(--ts-gold) !important;
  transform: translateY(-2px) !important;
}
.footer-block__list-social a svg {
  width: 18px !important;
  height: 18px !important;
  fill: var(--ts-cream) !important;
  color: var(--ts-cream) !important;
  display: block !important;
}
.footer-block__list-social a svg path,
.footer-block__list-social a svg circle,
.footer-block__list-social a svg rect {
  fill: var(--ts-cream) !important;
}
.footer-block__list-social a:hover svg path,
.footer-block__list-social a:hover svg circle {
  fill: var(--ts-text-dark) !important;
}

/* ---------- 3. HIDE DUPLICATE SOCIAL BLOCK (Halo renders 2 sets in footer) ---------- */
.footer .footer-block__list-social ~ .footer-block__list-social,
.footer__content-bottom .footer-block__list-social,
.footer__content-bottom-bottom .footer-block__list-social,
.footer-newsletter-block .footer-block__list-social,
.footer-block__newsletter .footer-block__list-social {
  display: none !important;
}

/* ---------- 4. ANCHOR OFFSET FOR STICKY HEADER (NO smooth-scroll global!) ----------
   Don't set scroll-behavior:smooth on html — it makes EVERY mousewheel scroll
   feel laggy. Only smooth on click-to-anchor via :target trick. */
html {
  scroll-padding-top: 110px;
}
@media (max-width: 768px) {
  html {
    scroll-padding-top: 80px;
  }
}
/* Smooth ONLY for anchor links clicked, not for natural scrolling */
@supports (scroll-behavior: smooth) {
  :root { scroll-behavior: auto; }
  a[href^="#"]:focus, a[href^="#"]:active {
    scroll-behavior: smooth;
  }
}

/* ---------- 5. PRODUCT PAGE ADD TO CART BUTTON POLISH ---------- */
.product-form__submit,
button[name="add"],
.product-form__buttons button,
[class*="add-to-cart"] {
  background-color: var(--ts-brown) !important;
  color: var(--ts-cream) !important;
  border: 2px solid var(--ts-brown) !important;
  border-radius: 4px !important;
  padding: 16px 32px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  width: 100% !important;
  min-height: 52px !important;
  cursor: pointer !important;
  transition: all 250ms ease !important;
  box-shadow: 0 8px 24px rgba(62, 52, 43, 0.12) !important;
}
.product-form__submit:hover,
button[name="add"]:hover {
  background-color: var(--ts-gold) !important;
  border-color: var(--ts-gold) !important;
  color: var(--ts-text-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 32px rgba(62, 52, 43, 0.18) !important;
}

/* ---------- 6. COLLECTION PAGE QUICK-SHOP BUTTON OVERLAY ---------- */
.product-card .btn-quick-shop,
.product-card .quick-shop,
.card .btn-quick-shop,
.grid__item .btn-quick-shop,
[class*="quick-shop"] {
  background-color: var(--ts-brown) !important;
  color: var(--ts-cream) !important;
  border: 2px solid var(--ts-brown) !important;
  border-radius: 4px !important;
  padding: 12px 24px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  text-align: center !important;
  display: inline-block !important;
  text-decoration: none !important;
}
.product-card .btn-quick-shop:hover,
[class*="quick-shop"]:hover {
  background-color: var(--ts-gold) !important;
  border-color: var(--ts-gold) !important;
  color: var(--ts-text-dark) !important;
}

/* =============================================================================
   END TARGETED BUG FIX PASS (2026-05-13)
============================================================================= */

/* =============================================================================
   COLLECTION CARD BUTTON FIX (2026-05-13) — verified: empty icon-only btn vs hidden CTA
============================================================================= */

/* Hide the empty icon-only submit button on collection product cards (confusing UX) */
.productListing li.product .product-form__submit,
.productListing li.product .product-form__buttons,
li.product .card .product-form__submit,
li.product .card-product .product-form__submit,
.productGrid .product-form__submit {
  display: none !important;
}

/* Show the "Hacer un pedido" text button as the visible CTA */
.productListing li.product .button-ATC,
.productListing li.product .button.button-ATC,
li.product .button-ATC,
li.product a.button-ATC,
.productGrid .button-ATC {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 280px !important;
  height: auto !important;
  min-height: 44px !important;
  padding: 12px 24px !important;
  background-color: var(--ts-brown) !important;
  color: var(--ts-cream) !important;
  border: 2px solid var(--ts-brown) !important;
  border-radius: 4px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  text-decoration: none !important;
  margin: 12px auto 0 !important;
  transition: all 250ms ease !important;
  cursor: pointer !important;
  box-shadow: 0 6px 16px rgba(62, 52, 43, 0.10) !important;
}
.productListing li.product .button-ATC:hover,
li.product .button-ATC:hover {
  background-color: var(--ts-gold) !important;
  border-color: var(--ts-gold) !important;
  color: var(--ts-text-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 24px rgba(62, 52, 43, 0.18) !important;
}

/* Ensure parent .variants container doesn't squash */
li.product .variants,
.productListing .variants {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
}

/* CRITICAL: parent .card-action__group.card-list__hidden was display:none (Halo hover-only pattern)
   Force always visible so "Hacer un pedido" CTA is permanent on every card */
li.product .card-action__group,
li.product .card-action__group.card-list__hidden,
li.product .card-action,
.productListing .card-action__group,
.productListing .card-action__group.card-list__hidden,
.productGrid .card-action__group {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  text-align: center !important;
  margin-top: 12px !important;
  padding: 0 12px !important;
}

/* =============================================================================
   END COLLECTION CARD BUTTON FIX (2026-05-13)
============================================================================= */

/* =============================================================================
   MOBILE BUG FIX FINAL PASS (2026-05-13) — cart icon + footer + categorías
============================================================================= */

/* ---------- 1. CART ICON MOBILE — REAL selectors per inspected DOM ---------- */
/* Halo structure: .header-mobile__item--cart > .header-mobile--icon[style="--i-color..."] > a.header__icon--cart > svg.icon-cart + .cart-count-bubble */

/* OVERRIDE Halo's inline CSS variables on the wrapper (no !important on inline so var() override wins) */
.header-mobile__item--cart .header-mobile--icon,
.header-mobile__item.header-mobile__item--cart .header-mobile--icon {
  --i-color: #2B2716 !important;
  --color-bubble: #2B2716 !important;
  --bg-bubble: #C79C3E !important;
}

/* Item wrapper: proper touch target */
.header-mobile__item--cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  position: relative !important;
}
.header-mobile__item--cart .header-mobile--icon {
  position: relative !important;
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}
.header-mobile__item--cart a.header__icon--cart,
.header-mobile__item--cart .header__icon--cart {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  padding: 0 !important;
  background: transparent !important;
  color: #2B2716 !important;
}

/* SVG itself: brown 24x24 */
.header-mobile__item--cart svg.icon-cart,
.header-mobile__item--cart .icon-cart,
.header-mobile__item--cart .header__icon--cart svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  fill: #2B2716 !important;
  color: #2B2716 !important;
}
.header-mobile__item--cart svg.icon-cart path,
.header-mobile__item--cart svg.icon-cart g,
.header-mobile__item--cart .icon-cart path {
  fill: #2B2716 !important;
  stroke: none !important;
}

/* Cart bubble: gold pill top-right of the icon */
.header-mobile__item--cart .cart-count-bubble {
  position: absolute !important;
  top: 4px !important;
  right: 2px !important;
  min-width: 18px !important;
  width: 18px !important;
  height: 18px !important;
  padding: 0 4px !important;
  background-color: #C79C3E !important;
  color: #2B2716 !important;
  border: 1.5px solid #FBFBF3 !important;
  border-radius: 50% !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 3 !important;
  pointer-events: none !important;
  box-shadow: 0 2px 6px rgba(62, 52, 43, 0.20) !important;
  box-sizing: border-box !important;
}
/* Numbers inside bubble visible */
.header-mobile__item--cart .cart-count-bubble .text,
.header-mobile__item--cart .cart-count-bubble [data-cart-count] {
  color: #2B2716 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-block !important;
}
/* Hide bubble when cart is empty (data-cart-count="0") */
.header-mobile__item--cart .cart-count-bubble [data-cart-count="0"] {
  visibility: hidden;
}
/* If 0, hide the entire bubble */
.header-mobile__item--cart:has([data-cart-count="0"]) .cart-count-bubble {
  display: none !important;
}

/* ---------- 2. FOOTER MOBILE — force 1-col stack <600px with brand polish ---------- */
@media (max-width: 768px) {
  .footer .halo-row,
  .footer .footer__content-top .halo-row,
  .footer-block__items-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }
  .footer .footer-block__column,
  .footer .footer-block__item {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }
  .footer .footer-block__heading {
    text-align: center !important;
    margin-bottom: 12px !important;
    font-size: 16px !important;
  }
  .footer .footer-block__list,
  .footer .footer-block__details,
  .footer .footer-block__details p {
    text-align: center !important;
    margin: 0 auto !important;
  }
  /* Social icons row centered */
  .footer .footer-block__list-social {
    justify-content: center !important;
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-top: 8px !important;
  }
  /* Newsletter form stacks vertically <600 */
  .footer-block__newsletter .newsletter-form,
  .footer-block__newsletter .newsletter-form__field-wrapper {
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }
  .footer-block__newsletter input[type="email"],
  .footer-block__newsletter button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Bottom bar: copyright + payment icons stack centered */
  .footer-block__bottom.not_flex,
  .footer__content-bottom .footer-block__bottom {
    flex-direction: column !important;
    gap: 12px !important;
    text-align: center !important;
    align-items: center !important;
  }
  .footer-block__list-payment {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .footer .footer__copyright,
  .footer-block__bottom p {
    text-align: center !important;
  }
}

@media (max-width: 600px) {
  .footer .footer__content-top {
    padding: 36px 16px 20px !important;
  }
  .footer .footer-block__heading {
    font-size: 15px !important;
    letter-spacing: 0.16em !important;
  }
  .footer .footer-block__details p,
  .footer .footer-block__list a {
    font-size: 14px !important;
  }
}

/* ---------- 3. EXPLORA LA MARCA MOBILE — HORIZONTAL SCROLL CAROUSEL ----------
   Mobile UX pattern: cards scroll horizontally with snap, partial peek of next card,
   hidden scrollbar, smooth snap-x behavior. */
@media (max-width: 768px) {
  /* Section padding: bleed to edges so first card hugs left, last card has trailing peek */
  .custom-image-banner-block {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden;
  }
  /* Header still has its own side padding */
  .custom-image-banner-block .halo-block-header {
    margin-bottom: 24px !important;
    padding: 0 20px !important;
  }
  .custom-image-banner-block .halo-block-header .title {
    font-size: 28px !important;
    line-height: 1.1 !important;
  }
  .custom-image-banner-block .halo-block-header .subtext-spotlight {
    font-size: 11px !important;
    letter-spacing: 0.20em !important;
  }

  /* THE CAROUSEL — horizontal scroll with snap */
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 14px !important;
    padding: 4px 20px 24px 20px !important;
    margin: 0 !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding: 0 20px !important;
    scrollbar-width: none !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-row::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  /* Each card: fixed width ~78% of viewport so next card peeks */
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-child {
    flex: 0 0 78% !important;
    width: 78% !important;
    max-width: 78% !important;
    min-width: 78% !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item {
    height: auto !important;
    min-height: auto !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .img-box {
    aspect-ratio: 4 / 3 !important;
    min-height: 220px !important;
  }
  /* Text panel (not absolute overlay) */
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .content,
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .content.customImageBanner-inner {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    padding: 20px 18px 22px !important;
    background: linear-gradient(180deg, #FBFBF3 0%, #F4DFC9 140%) !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .content .title {
    font-size: 20px !important;
    margin: 0 0 6px !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .content .sub_title {
    font-size: 11px !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .content .spotlight-button,
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .content a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    margin-top: 8px !important;
    padding: 11px 20px !important;
    background-color: var(--ts-brown) !important;
    color: var(--ts-cream) !important;
    border: 2px solid var(--ts-brown) !important;
    border-radius: 999px !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    text-align: center !important;
    text-decoration: none !important;
  }
}

/* Smaller phones: card slightly larger of viewport */
@media (max-width: 414px) {
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-child {
    flex: 0 0 82% !important;
    width: 82% !important;
    max-width: 82% !important;
    min-width: 82% !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .img-box {
    aspect-ratio: 4 / 3 !important;
    min-height: 200px !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .content {
    padding: 18px 16px 20px !important;
  }
  .custom-image-banner-block .customImageBanner--smallImg .customImageBanner-item .content .title {
    font-size: 19px !important;
  }
}

/* =============================================================================
   END MOBILE BUG FIX FINAL PASS (2026-05-13)
============================================================================= */


/* =============================================================================
   FOOTER RESPONSIVE RESTRUCTURE FINAL (2026-05-13)
   Total footer rebuild for clean responsive UX across all breakpoints.
   DOM observed: <footer> > .footer__content-top > .container > .halo-row.column-5
                 with 5 .footer-block__item.footer-block__column children
                 (Contáctanos / Tienda / Información / Legal / SUSCRÍBETE)
                 + .footer__content-bottom > .footer-block__bottom.not_flex
                 (copyright LEFT + .footer-block__list-payment RIGHT)
============================================================================= */

/* ---------- A. RESET + BASE (all viewports) ---------- */
.footer,
.footer.footer-2,
[class*="footer-2"],
#shopify-section-sections--footer {
  background-color: #3E342B !important;
  color: #FBFBF3 !important;
  border-top: 1px solid rgba(199, 156, 62, 0.18) !important;
  position: relative !important;
}

.footer .container,
.footer .container-full,
.footer__content-top .container {
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.footer__content-top {
  padding: 56px 0 40px !important;
  background: transparent !important;
}

/* Universal text + heading colors inside footer */
.footer .footer-block__heading,
.footer h2.footer-block__heading,
.footer .footer-block__subheading,
.footer .footer-block__subheading p {
  color: #FBFBF3 !important;
  font-family: "Rozha One", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  margin: 0 0 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(199, 156, 62, 0.25) !important;
}

.footer .footer-block__details,
.footer .footer-block__details p,
.footer .footer-block__details a,
.footer .footer-block__list,
.footer .footer-block__list a,
.footer .footer-block__list li,
.footer .footer-block__text,
.footer .footer-block__newsletter p,
.footer .rte,
.footer .rte p,
.footer p,
.footer a,
.footer span,
.footer li {
  color: #FBFBF3 !important;
  font-family: "Poppins", system-ui, -apple-system, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

.footer .footer-block__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer .footer-block__list li {
  margin: 0 0 10px !important;
  padding: 0 !important;
}

.footer .footer-block__list a,
.footer .footer-block__details a {
  text-decoration: none !important;
  display: inline-block !important;
  min-height: 28px !important;
  line-height: 1.6 !important;
  transition: color 0.22s ease !important;
}

.footer a:hover,
.footer .footer-block__list a:hover,
.footer .footer-block__details a:hover {
  color: #C79C3E !important;
  text-decoration: none !important;
}

/* Contact column phone/email/address rows */
.footer .footer-block__details .phone-wrapper,
.footer .footer-block__details .email-wrapper,
.footer .footer-block__details .address-wrapper {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
  color: #FBFBF3 !important;
}

.footer .footer-block__details .phone-wrapper svg,
.footer .footer-block__details .email-wrapper svg,
.footer .footer-block__details .address-wrapper svg {
  width: 14px !important;
  height: 14px !important;
  margin-top: 4px !important;
  flex-shrink: 0 !important;
  fill: #C79C3E !important;
  color: #C79C3E !important;
}

.footer .footer-block__details .phone-wrapper svg path,
.footer .footer-block__details .email-wrapper svg path,
.footer .footer-block__details .address-wrapper svg path {
  fill: #C79C3E !important;
}

/* ---------- B. DESKTOP (>1024px): 5 columns inline with separators ---------- */
@media (min-width: 1025px) {
  .footer .footer__content-top .halo-row,
  .footer .halo-row.column-5 {
    display: grid !important;
    grid-template-columns: 1.4fr 1fr 1fr 1fr 1.6fr !important;
    gap: 40px !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer .footer-block__item.footer-block__column,
  .footer .halo-item.footer-block {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 24px 0 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-right: 1px solid rgba(199, 156, 62, 0.18) !important;
    border-bottom: none !important;
  }

  .footer .footer-block__item.footer-block__column:last-child,
  .footer .halo-item.footer-block:last-child {
    border-right: none !important;
    padding-right: 0 !important;
  }

  .footer .footer-block__newsletter {
    padding-left: 16px !important;
  }
}

/* ---------- C. TABLET (601px - 1024px): 2x2 grid + newsletter full-width ---------- */
@media (min-width: 601px) and (max-width: 1024px) {
  .footer .footer__content-top .halo-row,
  .footer .halo-row.column-5 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 32px 28px !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer .footer-block__item.footer-block__column,
  .footer .halo-item.footer-block {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 0 24px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(199, 156, 62, 0.15) !important;
  }

  /* Newsletter spans full width on its own row */
  .footer .footer-block__item.footer-block__newsletter,
  .footer .footer-block__column.footer-block__newsletter {
    grid-column: 1 / -1 !important;
    border-bottom: none !important;
    padding-top: 12px !important;
    padding-bottom: 0 !important;
  }
}

/* ---------- D. MOBILE (<=600px): SINGLE COLUMN PROPER STACK ---------- */
@media (max-width: 600px) {
  .footer,
  .footer.footer-2 {
    padding: 0 !important;
  }

  .footer__content-top {
    padding: 32px 0 16px !important;
  }

  .footer .container,
  .footer .container-full,
  .footer__content-top .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .footer .footer__content-top .halo-row,
  .footer .halo-row.column-5,
  .footer-block__items-wrapper {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer .footer-block__item.footer-block__column,
  .footer .halo-item.footer-block {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 22px 0 22px !important;
    margin: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(199, 156, 62, 0.15) !important;
  }

  .footer .footer-block__item.footer-block__column:last-child,
  .footer .halo-item.footer-block:last-child {
    border-bottom: none !important;
    padding-bottom: 8px !important;
  }

  .footer .footer-block__heading,
  .footer h2.footer-block__heading,
  .footer .footer-block__subheading,
  .footer .footer-block__subheading p {
    text-align: center !important;
    font-size: 15px !important;
    margin: 0 auto 14px !important;
    padding-bottom: 10px !important;
    display: block !important;
    width: fit-content !important;
    border-bottom: 1px solid rgba(199, 156, 62, 0.35) !important;
    letter-spacing: 0.06em !important;
  }

  .footer .footer-block__details,
  .footer .footer-block__details p,
  .footer .footer-block__list,
  .footer .footer-block__list li,
  .footer .footer-block__text,
  .footer .rte,
  .footer .rte p {
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 320px !important;
  }

  .footer .footer-block__list {
    text-align: center !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  .footer .footer-block__list li {
    margin-bottom: 8px !important;
    padding: 0 !important;
  }

  .footer .footer-block__list a,
  .footer .footer-block__details a {
    display: inline-block !important;
    min-height: 44px !important;
    line-height: 44px !important;
    padding: 0 8px !important;
  }

  /* Contact icons row — center on mobile */
  .footer .footer-block__details .phone-wrapper,
  .footer .footer-block__details .email-wrapper,
  .footer .footer-block__details .address-wrapper {
    justify-content: center !important;
    align-items: center !important;
    text-align: left !important;
    max-width: 280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 8px !important;
  }

  /* Side-bordered hack remove */
  .footer .side-bordered,
  .footer .footer-block__item.side-bordered {
    border: none !important;
    padding: 0 !important;
  }

  /* Social icons — centered row */
  .footer .footer-block__list-social,
  .footer .footer-block__list-social .item,
  .footer .footer-block__list-social ul,
  .footer .footer-block__list-social .list-unstyled {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 16px auto 0 !important;
    list-style: none !important;
    width: 100% !important;
    max-width: 280px !important;
  }

  .footer .footer-block__list-social li,
  .footer .footer-block__list-social .list-social__item {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .footer .footer-block__list-social a,
  .footer .footer-block__list-social .link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background-color: rgba(251, 251, 243, 0.08) !important;
    border: 1px solid rgba(199, 156, 62, 0.3) !important;
    transition: all 0.22s ease !important;
  }

  .footer .footer-block__list-social a:hover {
    background-color: #C79C3E !important;
    border-color: #C79C3E !important;
    transform: translateY(-1px) !important;
  }

  .footer .footer-block__list-social a svg,
  .footer .footer-block__list-social .icon {
    width: 18px !important;
    height: 18px !important;
    fill: #FBFBF3 !important;
    color: #FBFBF3 !important;
  }

  /* Newsletter — input then button stacked vertically */
  .footer .footer-block__newsletter,
  .footer .footer__newsletter,
  .footer .footer-block__newsletter-item {
    width: 100% !important;
    max-width: 320px !important;
    margin: 12px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .footer .footer-block__newsletter .newsletter-form,
  .footer .footer-block__newsletter .newsletter-form__field-wrapper,
  .footer .footer__newsletter .newsletter-form,
  .footer .footer__newsletter .newsletter-form__field-wrapper,
  .footer .footer__newsletter .field {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
  }

  .footer .footer-block__newsletter input[type="email"],
  .footer .footer__newsletter input[type="email"],
  .footer .field__input,
  .footer input[type="email"] {
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    background-color: rgba(251, 251, 243, 0.08) !important;
    border: 1px solid rgba(251, 251, 243, 0.3) !important;
    border-radius: 8px !important;
    color: #FBFBF3 !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }

  .footer .footer-block__newsletter input[type="email"]::placeholder,
  .footer input[type="email"]::placeholder {
    color: rgba(251, 251, 243, 0.6) !important;
  }

  .footer .footer-block__newsletter button,
  .footer .footer__newsletter button,
  .footer .footer__newsletter button[type="submit"],
  .footer button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    padding: 0 18px !important;
    background-color: #C79C3E !important;
    color: #FBFBF3 !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    position: relative !important;
    transition: background-color 0.22s ease !important;
  }

  .footer .footer-block__newsletter button:hover,
  .footer .footer__newsletter button:hover {
    background-color: #B58B30 !important;
  }
}

/* ---------- E. BOTTOM BAR (copyright + payment icons) ---------- */
.footer__content-bottom {
  background-color: #2B2716 !important;
  border-top: 1px solid rgba(199, 156, 62, 0.18) !important;
  padding: 0 !important;
  margin-top: 16px !important;
}

.footer__content-bottom .container,
.footer__content-bottom .container-full {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 18px 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.footer-block__bottom,
.footer-block__bottom.not_flex,
.footer__content-bottom .footer-block__bottom {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer__content-bottom .footer__column-item.footer__copyright,
.footer__content-bottom .footer__copyright,
.footer__content-bottom .copyright__content {
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 1 auto !important;
}

.footer__content-bottom .footer__copyright p,
.footer__content-bottom .copyright__content p {
  color: #FBFBF3 !important;
  opacity: 0.7 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  letter-spacing: 0.02em !important;
}

.footer__content-bottom .footer__column.footer__column--info,
.footer__content-bottom .footer__column {
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 1 auto !important;
}

.footer-block__list-payment,
.footer__content-bottom .footer-block__list-payment {
  margin: 0 !important;
  padding: 0 !important;
}

.footer-block__list-payment .list,
.footer-block__list-payment .list-payment {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.footer-block__list-payment .list-payment__item,
.footer-block__list-payment li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.footer-block__list-payment svg.icon {
  width: 36px !important;
  height: auto !important;
  display: block !important;
  filter: none !important;
  opacity: 0.95 !important;
}

/* Bottom bar mobile stack */
@media (max-width: 768px) {
  .footer__content-bottom .container,
  .footer__content-bottom .container-full {
    padding: 16px 20px !important;
  }

  .footer-block__bottom,
  .footer-block__bottom.not_flex,
  .footer__content-bottom .footer-block__bottom {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: 14px !important;
  }

  .footer__content-bottom .footer__copyright,
  .footer__content-bottom .copyright__content,
  .footer__content-bottom .copyright__content p {
    text-align: center !important;
    margin: 0 auto !important;
  }

  .footer-block__list-payment .list,
  .footer-block__list-payment .list-payment {
    justify-content: center !important;
    gap: 10px !important;
  }

  .footer-block__list-payment svg.icon {
    width: 32px !important;
  }
}

/* ---------- F. HIDE DUPLICATE SOCIAL ICON BLOCKS (Halo renders extras) ---------- */
.footer .footer-block__list-social ~ .footer-block__list-social,
.footer-block__newsletter .footer-block__list-social,
.footer__content-bottom .footer-block__list-social,
.footer-block__bottom .footer-block__list-social,
.footer .footer-block__mobile .footer-block__list-social {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* But keep the FIRST one inside the contact column visible */
.footer .footer-block__item:first-child .footer-block__list-social,
.footer .footer-block__column.footer-block__text .footer-block__list-social {
  display: flex !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

/* ---------- G. POLISH: prevent horizontal scroll, smooth transitions ---------- */
.footer,
.footer * {
  box-sizing: border-box !important;
}

.footer img,
.footer svg {
  max-width: 100% !important;
  height: auto !important;
}

/* Kill any leftover side-borders from Halo on small screens */
@media (max-width: 1024px) {
  .footer .side-bordered {
    border-left: none !important;
    border-right: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Hide footer-block__mobile collapsible (Halo's mobile accordion duplicates content) */
@media (max-width: 600px) {
  .footer .footer-block__mobile {
    display: none !important;
  }
}

/* Smooth scroll-trigger animations (don't break layout) */
.footer .scroll-trigger.animate--slide-in {
  opacity: 1 !important;
  transform: none !important;
}

/* =============================================================================
   END FOOTER RESPONSIVE RESTRUCTURE FINAL (2026-05-13)
============================================================================= */

/* =============================================================================
   HAMBURGER ZERO-PADDING NUCLEAR OVERRIDE (2026-05-13)
============================================================================= */
@media (max-width: 1024px) {
  .header-mobile__item.header-mobile__item--menu,
  .header-mobile__item--menu,
  .header-mobile__item--menu .header-mobile--icon,
  .header-mobile__item--menu .header-mobile--icon.item__mobile--hamburger,
  .header-mobile--icon.item__mobile--hamburger,
  .header-mobile__item--menu button.mobileMenu-toggle,
  .header-mobile__item--menu .mobileMenu-toggle,
  button.mobileMenu-toggle,
  .header-mobile__item--menu .mobileMenu-toggle__Icon {
    padding: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: none !important;
    top: auto !important;
    bottom: auto !important;
    align-self: center !important;
    justify-self: center !important;
    vertical-align: middle !important;
  }
  .header-mobile__item.header-mobile__item--menu,
  .header-mobile__item--menu {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 0 !important;
    height: 44px !important;
    align-self: center !important;
    flex: 0 0 auto !important;
    order: 1 !important;
  }
  .header-mobile__item--menu .mobileMenu-toggle__Icon {
    position: relative !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .header-mobile__wrapper,
  .header-mobile--wrapper {
    align-items: center !important;
    align-content: center !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
  }
  .header-mobile__item--menu * {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
/* =============================================================================
   END HAMBURGER ZERO-PADDING NUCLEAR OVERRIDE
============================================================================= */

/* =============================================================================
   RESPONSIVE OVERHAUL FINAL PASS (2026-05-13)
   Author: Claude — comprehensive responsive compliance audit
   Brand: TS Microblading (brown #3E342B / gold #C79C3E / cream #FBFBF3)
   Targets: Homepage, Conoce a Tracy, FAQ, Cursos, Tienda, Contacto,
            Producto MC, Producto Microblading, Colecciones, Blog
   Breakpoints: 1440 / 1024 / 768 / 414 / 375
============================================================================= */

/* -----------------------------------------------------------------------------
   SECTION 1 — UNIVERSAL MOBILE GUARDS
   No horizontal scroll, image overflow, container padding sanity.
----------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  html, body {
    overflow-x: clip !important;
    -webkit-text-size-adjust: 100% !important;
  }

  img, video, iframe, picture {
    max-width: 100% !important;
    height: auto !important;
  }

  .container,
  .container-full,
  .page-width,
  .page-content,
  [class*="container-"] {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 768px) {
  .container,
  .container-full,
  .page-width,
  .page-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Body baseline 16px = no iOS auto-zoom on inputs */
  body { font-size: 16px !important; line-height: 1.6 !important; }

  /* Better tap targets */
  a, button { -webkit-tap-highlight-color: rgba(199,156,62,0.18) !important; }

  /* Prevent any element from forcing horizontal overflow */
  section, div, header, footer, main, article {
    max-width: 100vw !important;
  }
}

/* Block 100vw nav drawers from creating horizontal scroll */
.mobileMenu-drawer, .mini-cart-wrapper, .header-mobile {
  max-width: 100vw !important;
}

/* -----------------------------------------------------------------------------
   SECTION 2 — CUSTOM-LIQUID ts-* SECTIONS
   Force inline grids to collapse properly on mobile.
   Stat tiles MUST stay 2x2 (NOT 1-col stack).
----------------------------------------------------------------------------- */

/* 2A — outer 2-col image+text grids: collapse to 1-col on tablet/mobile */
@media (max-width: 1024px) {
  .ts-founder > div[style*="grid-template-columns"],
  .ts-social-proof div[style*="grid-template-columns:1fr 1.2fr"],
  .ts-social-proof div[style*="grid-template-columns:1fr 1.1fr"],
  section[class*="ts-"] div[style*="grid-template-columns:1fr 1.1fr"],
  section[class*="ts-"] div[style*="grid-template-columns:1fr 1.2fr"],
  section[class*="ts-"] div[style*="grid-template-columns:1fr 1fr"]:not([style*="repeat"]) {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* 2B — Stats 2x2 grid MUST stay 2 columns on mobile, NOT stack */
section[class*="ts-"] div[style*="grid-template-columns:repeat(2,1fr)"],
section[class*="ts-"] div[style*="grid-template-columns: repeat(2, 1fr)"] {
  /* default desktop already 2-col */
}

@media (max-width: 768px) {
  section[class*="ts-"] div[style*="grid-template-columns:repeat(2,1fr)"],
  section[class*="ts-"] div[style*="grid-template-columns: repeat(2, 1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}

@media (max-width: 374px) {
  /* On very small (<375px iPhone SE 1st gen), allow stacking as last resort */
  section[class*="ts-"] div[style*="grid-template-columns:repeat(2,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}

/* 2C — 3-col / 4-col inline grids → 2-col tablet → 1-col mobile */
@media (max-width: 1024px) {
  section[class*="ts-"] div[style*="grid-template-columns:repeat(3,1fr)"],
  section[class*="ts-"] div[style*="grid-template-columns: repeat(3, 1fr)"],
  section[class*="ts-"] div[style*="grid-template-columns:repeat(4,1fr)"],
  section[class*="ts-"] div[style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}

@media (max-width: 600px) {
  section[class*="ts-"] div[style*="grid-template-columns:repeat(3,1fr)"],
  section[class*="ts-"] div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* 2D — Section padding rhythm: 80 / 56 / 40 */
@media (max-width: 1024px) {
  section[class*="ts-"][style*="padding:96px"],
  section[class*="ts-"][style*="padding: 96px"],
  section[class*="ts-"][style*="padding:80px"],
  section[class*="ts-"][style*="padding: 80px"] {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
}

@media (max-width: 600px) {
  section[class*="ts-"][style*="padding:96px"],
  section[class*="ts-"][style*="padding: 96px"],
  section[class*="ts-"][style*="padding:80px"],
  section[class*="ts-"][style*="padding: 80px"],
  section[class*="ts-"][style*="padding:90px"] {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* 2E — Floating offset badges (Tracy "Moca, PR", "5.0") — keep INSIDE on mobile */
@media (max-width: 768px) {
  .ts-founder div[style*="position:absolute"][style*="left:-24px"],
  .ts-social-proof div[style*="position:absolute"][style*="right:-24px"],
  .ts-founder div[style*="position:absolute"][style*="top:24px"],
  section[class*="ts-"] div[style*="position:absolute"][style*="bottom:-24px"] {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    margin: -16px auto 0 !important;
    display: inline-block !important;
    transform: none !important;
  }
}

/* 2F — Headings clamp() responsive (only if not already clamp'd inline) */
@media (max-width: 600px) {
  section[class*="ts-"] h1[style*="font-size:"]:not([style*="clamp"]) {
    font-size: clamp(28px, 7vw, 44px) !important;
  }
  section[class*="ts-"] h2[style*="font-size:"]:not([style*="clamp"]) {
    font-size: clamp(26px, 6vw, 40px) !important;
  }
}

/* 2G — Body paragraph minimum 15-16px on mobile */
@media (max-width: 600px) {
  section[class*="ts-"] p[style*="font-size:17"],
  section[class*="ts-"] p[style*="font-size:18"] {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
}

/* 2H — Tag chips wrap properly */
@media (max-width: 600px) {
  section[class*="ts-"] div[style*="display:flex"][style*="flex-wrap:wrap"] {
    gap: 8px !important;
    justify-content: flex-start !important;
  }
}

/* -----------------------------------------------------------------------------
   SECTION 3 — PAGE HERO SECTIONS (Conoce a Tracy / FAQ / Cursos / Tienda /
   Contacto / Servicios collection)
----------------------------------------------------------------------------- */
.ts-hero-tracy,
.ts-faq-hero,
.ts-mc-hero,
.ts-coll-hero {
  padding: 88px 24px 64px !important;
  text-align: center !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background: linear-gradient(180deg, #FBFBF3 0%, #F4DFC9 100%) !important;
}

.ts-hero-tracy .eyebrow,
.ts-faq-hero .eyebrow,
.ts-faq-hero p:first-child,
.ts-mc-hero .eyebrow,
.ts-coll-hero__eyebrow {
  font-family: 'Poppins', sans-serif !important;
  color: #C79C3E !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  font-size: clamp(11px, 1.5vw, 13px) !important;
  font-weight: 500 !important;
  margin: 0 0 12px !important;
}

.ts-hero-tracy h1,
.ts-faq-hero h1,
.ts-mc-hero h1,
.ts-coll-hero__title {
  font-family: 'Rozha One', serif !important;
  color: #3E342B !important;
  font-size: clamp(32px, 6vw, 64px) !important;
  line-height: 1.05 !important;
  font-weight: 400 !important;
  margin: 0 auto 16px !important;
  max-width: 780px !important;
}

.ts-hero-tracy p,
.ts-faq-hero p:not(:first-child),
.ts-mc-hero p,
.ts-coll-hero__desc {
  font-family: 'Poppins', sans-serif !important;
  color: #3F4447 !important;
  font-size: clamp(15px, 2vw, 18px) !important;
  line-height: 1.65 !important;
  max-width: 640px !important;
  margin: 0 auto !important;
}

.ts-coll-hero__divider {
  width: 64px !important;
  height: 2px !important;
  background: #C79C3E !important;
  margin: 20px auto !important;
  border: 0 !important;
}

@media (max-width: 768px) {
  .ts-hero-tracy,
  .ts-faq-hero,
  .ts-mc-hero,
  .ts-coll-hero {
    padding: 56px 20px 40px !important;
  }
}

@media (max-width: 414px) {
  .ts-hero-tracy,
  .ts-faq-hero,
  .ts-mc-hero,
  .ts-coll-hero {
    padding: 48px 16px 32px !important;
  }
}

/* -----------------------------------------------------------------------------
   SECTION 4 — PRODUCT PAGE (Microblading + MC)
----------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .template-product .product-single,
  .template-product .product__media-wrapper,
  .template-product .product__info-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

@media (max-width: 768px) {
  .template-product .product-single__media-group,
  .template-product .product__media,
  .template-product .product-single__media {
    width: 100% !important;
    margin: 0 0 24px !important;
  }

  .template-product .product__media img,
  .template-product .product-single__media img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    width: 100% !important;
    border-radius: 8px !important;
  }

  /* Price + variants stack */
  .template-product .product-single__meta,
  .template-product .product__info {
    padding: 24px 16px !important;
  }

  .template-product .product-single__title,
  .template-product .product__title {
    font-size: clamp(26px, 6vw, 40px) !important;
    line-height: 1.15 !important;
    margin-bottom: 12px !important;
  }

  .template-product .price__regular,
  .template-product .product__price,
  .template-product .price-item {
    font-size: 22px !important;
  }

  .template-product .product-form__variants,
  .template-product .product-form__input {
    width: 100% !important;
    margin-bottom: 16px !important;
  }

  /* Add to Cart full width 48px */
  .template-product .product-form__cart-submit,
  .template-product button[name="add"],
  .template-product .btn--add-to-cart,
  .template-product .product-form__buttons .btn {
    width: 100% !important;
    min-height: 48px !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    background: #3E342B !important;
    color: #FBFBF3 !important;
    border-radius: 4px !important;
  }

  .template-product .product-form__cart-submit:hover,
  .template-product .product-form__cart-submit:active,
  .template-product button[name="add"]:hover {
    background: #C79C3E !important;
  }

  /* Trust block stack 1-col */
  .ts-trust__grid,
  .ts-trust__inner > .ts-trust__grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .ts-trust__card {
    padding: 20px 16px !important;
    text-align: center !important;
  }
}

/* -----------------------------------------------------------------------------
   SECTION 5 — COLLECTION GRID (Servicios)
   Already 3/2/1 — verify and reinforce
----------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .template-collection .product-grid,
  .template-collection .product-loop,
  .template-collection .grid--collection {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 600px) {
  .template-collection .product-grid,
  .template-collection .product-loop,
  .template-collection .grid--collection {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .template-collection .product-card,
  .template-collection .product-block {
    padding: 0 !important;
  }

  .template-collection .product-card__title,
  .template-collection .product-block .product-title {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }
}

/* Collection CTA WhatsApp button: full width on mobile */
.ts-coll-cta {
  padding: 64px 24px !important;
  background: #FBFBF3 !important;
  text-align: center !important;
}

.ts-coll-cta__title {
  font-family: 'Rozha One', serif !important;
  font-size: clamp(24px, 4vw, 36px) !important;
  color: #3E342B !important;
  margin: 0 0 12px !important;
}

.ts-coll-cta__sub {
  font-family: 'Poppins', sans-serif !important;
  color: #3F4447 !important;
  font-size: 16px !important;
  margin: 0 auto 24px !important;
  max-width: 520px !important;
  line-height: 1.6 !important;
}

.ts-coll-cta__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #25D366 !important;
  color: #FBFBF3 !important;
  padding: 14px 28px !important;
  border-radius: 32px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  min-height: 48px !important;
  transition: background 0.2s !important;
}

.ts-coll-cta__btn:hover {
  background: #1ebe5a !important;
  color: #FBFBF3 !important;
}

@media (max-width: 600px) {
  .ts-coll-cta {
    padding: 48px 16px !important;
  }
  .ts-coll-cta__btn {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* -----------------------------------------------------------------------------
   SECTION 6 — BLOG PAGE
----------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .template-blog .articles,
  .template-blog .blog-articles,
  .template-blog .articles-list,
  .template-blog .article-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
}

@media (max-width: 600px) {
  .template-blog .articles,
  .template-blog .blog-articles,
  .template-blog .articles-list,
  .template-blog .article-list {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .template-blog .article-item,
  .template-blog .article-card {
    padding: 0 !important;
    margin-bottom: 0 !important;
  }

  .template-blog .article-card__image,
  .template-blog .article-item img {
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
    border-radius: 8px 8px 0 0 !important;
  }

  .template-blog .article-card__title,
  .template-blog .article-item__title,
  .template-blog .article-title {
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1.3 !important;
    text-align: center !important;
    padding: 0 16px !important;
  }

  .template-blog .article-card__excerpt,
  .template-blog .article-item__excerpt,
  .template-blog .article-excerpt {
    font-size: 15px !important;
    line-height: 1.6 !important;
    text-align: center !important;
    padding: 0 16px !important;
    color: #3F4447 !important;
  }

  .template-blog .article-card__link,
  .template-blog .article-item .read-more,
  .template-blog .article-card .btn {
    display: inline-flex !important;
    margin: 12px auto 24px !important;
    color: #C79C3E !important;
    font-weight: 600 !important;
  }

  .template-blog .article-label {
    text-align: center !important;
    margin: 0 auto !important;
  }
}

/* Article-card no-image variant: cleaner card */
.article-card--no-image {
  background: #FBFBF3 !important;
  border: 1px solid #F4DFC9 !important;
  border-radius: 8px !important;
  padding: 24px !important;
}

@media (max-width: 600px) {
  .article-card--no-image {
    padding: 20px 16px !important;
  }
}

/* -----------------------------------------------------------------------------
   SECTION 7 — CONTACT PAGE
----------------------------------------------------------------------------- */
@media (max-width: 768px) {
  .template-page-contact .container,
  .template-page-contact .page-content,
  .template-page-contact .form,
  .template-page-contact form {
    width: 100% !important;
    max-width: 100% !important;
  }

  .template-page-contact .form-field,
  .template-page-contact .field {
    margin-bottom: 16px !important;
  }

  .template-page-contact input[type="text"],
  .template-page-contact input[type="email"],
  .template-page-contact input[type="tel"],
  .template-page-contact textarea,
  .template-page-contact select {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    font-size: 16px !important;
    border: 1px solid #BA906A !important;
    border-radius: 4px !important;
    background: #FBFBF3 !important;
    color: #3F4447 !important;
    box-sizing: border-box !important;
  }

  .template-page-contact textarea {
    min-height: 120px !important;
  }

  .template-page-contact input:focus,
  .template-page-contact textarea:focus,
  .template-page-contact select:focus {
    outline: 2px solid #C79C3E !important;
    outline-offset: 2px !important;
    border-color: #C79C3E !important;
  }

  .template-page-contact label {
    display: block !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    color: #3E342B !important;
    margin-bottom: 6px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
  }

  .template-page-contact button[type="submit"],
  .template-page-contact .btn,
  .template-page-contact input[type="submit"] {
    width: 100% !important;
    min-height: 48px !important;
    background: #3E342B !important;
    color: #FBFBF3 !important;
    border: 0 !important;
    border-radius: 4px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
  }

  .template-page-contact button[type="submit"]:hover,
  .template-page-contact .btn:hover {
    background: #C79C3E !important;
  }

  /* Map iframe */
  .template-page-contact iframe {
    width: 100% !important;
    height: 320px !important;
    border: 0 !important;
    border-radius: 8px !important;
    display: block !important;
    margin: 24px 0 !important;
  }

  /* Address card centered */
  .template-page-contact .contact-info,
  .template-page-contact .address-card,
  .template-page-contact .contact-details {
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 480px !important;
  }
}

/* -----------------------------------------------------------------------------
   SECTION 8 — SCROLL SIMPLIFICATION + STICKY HEADER
----------------------------------------------------------------------------- */
html {
  scroll-behavior: auto !important; /* Native, no JS smooth scroll global */
  scroll-padding-top: 100px !important;
}

/* Allow smooth ONLY for explicit anchor clicks */
html:focus-within {
  scroll-behavior: smooth !important;
}

/* Sticky header overlap prevention */
@media (max-width: 1024px) {
  html {
    scroll-padding-top: 72px !important;
  }
}

@media (max-width: 600px) {
  html {
    scroll-padding-top: 60px !important;
  }
}

/* Simplify section gaps — consistent rhythm */
@media (max-width: 768px) {
  .shopify-section + .shopify-section { margin-top: 0 !important; }
  .shopify-section { margin-bottom: 0 !important; }
}

/* -----------------------------------------------------------------------------
   SECTION 9 — MEGA MENU MOBILE (drawer + accordion submenu)
----------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .mobileMenu-drawer,
  .mobile-menu-drawer,
  .header-mobile__menu {
    width: min(360px, 90vw) !important;
    max-width: 90vw !important;
    background: #FBFBF3 !important;
    box-shadow: 4px 0 24px rgba(62,52,43,0.15) !important;
  }

  .mobileMenu-drawer .menu-items > li > a,
  .mobileMenu-drawer .nav-item__link,
  .mobileMenu-drawer a.menu-item {
    min-height: 48px !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-family: 'Poppins', sans-serif !important;
    color: #3E342B !important;
    border-bottom: 1px solid rgba(186,144,106,0.18) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
  }

  .mobileMenu-drawer .menu-items > li > a:hover,
  .mobileMenu-drawer .nav-item__link:active {
    background: rgba(199,156,62,0.08) !important;
    color: #C79C3E !important;
  }

  /* Submenus → accordion (no fly-out) */
  .mobileMenu-drawer .submenu,
  .mobileMenu-drawer .mega-menu,
  .mobileMenu-drawer .nav-dropdown {
    position: static !important;
    width: 100% !important;
    box-shadow: none !important;
    background: rgba(244,223,201,0.30) !important;
    padding-left: 16px !important;
  }

  .mobileMenu-drawer .submenu a,
  .mobileMenu-drawer .nav-dropdown a {
    min-height: 44px !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
    text-transform: none !important;
  }

  /* Drawer close button - bigger touch */
  .mobileMenu-drawer .close-mobileMenu,
  .mobileMenu-drawer .drawer__close {
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* -----------------------------------------------------------------------------
   SECTION 10 — PERFORMANCE / A11Y / GLOBAL POLISH
----------------------------------------------------------------------------- */

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Focus rings — visible & branded */
:focus-visible {
  outline: 2px solid #C79C3E !important;
  outline-offset: 2px !important;
  border-radius: 2px !important;
}

button:focus-visible,
a:focus-visible {
  outline-color: #C79C3E !important;
}

/* Touch target minimum 44x44 — global */
@media (max-width: 1024px) {
  a:not(.product-card__title-link):not(.article-card__title-link),
  button,
  [role="button"],
  input[type="checkbox"],
  input[type="radio"],
  .icon-only-link {
    min-height: 44px !important;
    min-width: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* But don't break inline links inside paragraphs */
  p a, li a, span a, em a, strong a {
    min-height: auto !important;
    min-width: auto !important;
    display: inline !important;
  }

  /* Underline brand links inside body */
  p a:not(.btn):not(.button):not([class*="ts-"]) {
    color: #C79C3E !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-thickness: 1px !important;
  }
}

/* Prevent layout shift — explicit aspect-ratio for unsized images */
@media (max-width: 768px) {
  img:not([width]):not([height]) {
    aspect-ratio: auto !important;
  }

  .product-card img,
  .article-card img,
  .product-loop img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }
}

/* Buttons: brand consistency on mobile */
@media (max-width: 768px) {
  .ts-btn,
  a.ts-btn,
  .btn,
  button.btn {
    min-height: 44px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important;
    transition: background 0.2s, color 0.2s !important;
  }

  .ts-btn,
  a.ts-btn:not(.ts-btn-outline) {
    background: #3E342B !important;
    color: #FBFBF3 !important;
    border: 0 !important;
  }

  .ts-btn-gold {
    background: #C79C3E !important;
    color: #FBFBF3 !important;
  }

  .ts-btn-outline {
    background: transparent !important;
    color: #3E342B !important;
    border: 2px solid #3E342B !important;
  }

  .ts-btn:hover,
  a.ts-btn:hover {
    background: #C79C3E !important;
    color: #FBFBF3 !important;
  }
}

/* Full-width CTAs with max-width on mobile */
@media (max-width: 600px) {
  section[class*="ts-"] .ts-btn,
  section[class*="ts-"] a.ts-btn {
    width: 100% !important;
    max-width: 320px !important;
  }

  section[class*="ts-"] div[style*="display:flex"][style*="flex-wrap:wrap"][style*="justify-content:center"] {
    flex-direction: column !important;
    align-items: center !important;
  }
}

/* Block any leftover hero/title overflow */
@media (max-width: 600px) {
  h1, h2, h3 {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
}

/* Content max-width centered on huge screens */
@media (min-width: 1441px) {
  .ts-founder > div,
  .ts-social-proof > div,
  .ts-mc-cta > div,
  .ts-pillars-inner,
  .ts-values-inner,
  .ts-creds-inner,
  .ts-mc-how-inner,
  .ts-mc-kit-inner,
  .ts-mc-learn-inner,
  .ts-mc-testimonials-inner {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ts- shared content blocks (Tracy + Cursos) */
.ts-pillars-grid,
.ts-values-grid,
.ts-mc-how-grid,
.ts-mc-kit-grid,
.ts-mc-test-grid,
.ts-creds-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

@media (max-width: 1024px) {
  .ts-pillars-grid,
  .ts-values-grid,
  .ts-mc-how-grid,
  .ts-mc-kit-grid,
  .ts-mc-test-grid,
  .ts-creds-row {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 600px) {
  .ts-pillars-grid,
  .ts-values-grid,
  .ts-mc-how-grid,
  .ts-mc-kit-grid,
  .ts-mc-test-grid,
  .ts-creds-row {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .ts-pillar-card,
  .ts-creds-item,
  .ts-value-tag,
  .ts-mc-how-card,
  .ts-mc-test-card {
    padding: 20px 16px !important;
  }
}

.ts-mc-learn-cols {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
}

@media (max-width: 768px) {
  .ts-mc-learn-cols {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

.ts-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: center !important;
}

@media (max-width: 1024px) {
  .ts-split {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* CTA strip (Tracy page) */
.ts-cta-strip {
  background: #3E342B !important;
  color: #FBFBF3 !important;
  padding: 48px 24px !important;
  text-align: center !important;
}

@media (max-width: 600px) {
  .ts-cta-strip {
    padding: 36px 16px !important;
  }
}

/* FAQ items full-width on mobile */
.ts-faq-list,
.ts-faq {
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 48px 24px !important;
}

.ts-faq-item {
  border-bottom: 1px solid rgba(186,144,106,0.30) !important;
  padding: 18px 0 !important;
}

.ts-faq-item summary,
.ts-faq-item h3 {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(15px, 2vw, 17px) !important;
  font-weight: 600 !important;
  color: #3E342B !important;
  cursor: pointer !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  padding: 4px 0 !important;
}

.ts-faq-item p {
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #3F4447 !important;
  margin: 8px 0 0 !important;
}

.ts-faq-cta {
  background: #F4DFC9 !important;
  padding: 48px 24px !important;
  text-align: center !important;
}

@media (max-width: 768px) {
  .ts-faq-list,
  .ts-faq {
    padding: 32px 16px !important;
  }
  .ts-faq-cta {
    padding: 36px 16px !important;
  }
}

/* MC final CTA (Cursos) */
.ts-mc-final {
  text-align: center !important;
  padding: 64px 24px !important;
}

@media (max-width: 600px) {
  .ts-mc-final { padding: 48px 16px !important; }
}

/* =============================================================================
   END RESPONSIVE OVERHAUL FINAL PASS (2026-05-13)
============================================================================= */

/* =============================================================================
   3 TARGETED BUG FIXES (2026-05-13 final)
============================================================================= */

/* ---------- 1. ANNOUNCEMENT BAR — force cream text on brown bg ---------- */
.announcement-bar,
.announcement-bar .row,
.announcement-bar .container,
.announcement-bar__message,
.announcement-bar__item-scroll,
.announcement-bar__message p,
.announcement-bar__message span,
.announcement-bar__message a,
[class*="announcement-bar"] p,
[class*="announcement-bar"] span,
.halo-announcement,
.halo-announcement *,
[id*="__announcement-bar"] * {
  color: #FBFBF3 !important;
}
.announcement-bar,
.announcement-bar > div,
.announcement-bar .layout--scroll,
[id*="__announcement-bar"] .announcement-bar {
  background-color: #3E342B !important;
}
.announcement-bar__message,
.announcement-bar p,
.announcement-bar span:not(.icon) {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: #FBFBF3 !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.announcement-bar a {
  color: #C79C3E !important;
  text-decoration: none !important;
}
.announcement-bar a:hover { color: #FBFBF3 !important; }

/* ---------- 2. HERO IMAGE TABLET (601-1024px) ---------- */
@media (min-width: 601px) and (max-width: 1024px) {
  [id*="image_banner_naC4d6"] img,
  [id*="image_banner_naC4d6"] picture,
  [id*="image_banner_naC4d6"] .image-banner__image,
  [id*="image_banner_naC4d6"] .banner__media {
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center !important;
  }
  [id*="image_banner_naC4d6"] .halo-banner,
  [id*="image_banner_naC4d6"] .image-banner,
  [id*="image_banner_naC4d6"] .halo-image-banner,
  [id*="image_banner_naC4d6"] {
    background-image: none !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 360px !important;
    max-height: 60vh !important;
    height: auto !important;
  }
  [id*="image_banner_naC4d6"] .content-box,
  [id*="image_banner_naC4d6"] .banner-content,
  [id*="image_banner_naC4d6"] .halo-image-banner__content {
    position: absolute !important;
    bottom: 24px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 24px) !important;
    text-align: center !important;
    z-index: 2 !important;
  }
}

/* ---------- 3. FOOTER MOBILE — REAL stack with high specificity ---------- */
@media (max-width: 768px) {
  footer.footer.footer-2,
  .footer.footer-2,
  .footer__content-top {
    padding: 36px 16px 24px !important;
  }
  footer.footer.footer-2 .halo-row,
  footer.footer.footer-2 .halo-row.column-5,
  .footer.footer-2 .halo-row,
  .footer .footer__content-top .halo-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  footer.footer.footer-2 .halo-row > .halo-item,
  footer.footer.footer-2 .halo-row > .footer-block,
  footer.footer.footer-2 .halo-row > [class*="footer-block__"],
  .footer.footer-2 .halo-row > * {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }
  .footer.footer-2 .footer-block__heading,
  .footer.footer-2 h2,
  .footer.footer-2 h3,
  .footer.footer-2 h4 {
    text-align: center !important;
    color: #FBFBF3 !important;
    font-family: 'Rozha One', serif !important;
    font-size: 17px !important;
    margin: 0 0 12px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }
  .footer.footer-2 .footer-block__details,
  .footer.footer-2 .footer-block__details p,
  .footer.footer-2 .footer-block__details a,
  .footer.footer-2 .footer-block__list,
  .footer.footer-2 .footer-block__list a,
  .footer.footer-2 ul,
  .footer.footer-2 li,
  .footer.footer-2 p {
    text-align: center !important;
    color: rgba(251, 251, 243, 0.85) !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .footer.footer-2 .footer-block__list {
    padding: 0 !important;
    list-style: none !important;
  }
  .footer.footer-2 .footer-block__list li {
    margin: 4px 0 !important;
  }
  .footer.footer-2 .footer-block__list-social {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 12px auto 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .footer.footer-2 .footer-block__newsletter,
  .footer.footer-2 .newsletter-form,
  .footer.footer-2 .newsletter-form__field-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 12px auto 0 !important;
  }
  .footer.footer-2 .footer-block__newsletter input[type="email"],
  .footer.footer-2 .newsletter-form input[type="email"] {
    width: 100% !important;
    max-width: 100% !important;
    height: 46px !important;
    background: rgba(251,251,243,0.10) !important;
    border: 1px solid rgba(251,251,243,0.25) !important;
    color: #FBFBF3 !important;
    padding: 12px 16px !important;
    border-radius: 6px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
  }
  .footer.footer-2 .footer-block__newsletter button,
  .footer.footer-2 .newsletter-form button {
    width: 100% !important;
    max-width: 100% !important;
    height: 46px !important;
    background: #C79C3E !important;
    color: #2B2716 !important;
    border: 2px solid #C79C3E !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    border-radius: 4px !important;
  }
  .footer.footer-2 .footer-block__bottom,
  .footer.footer-2 .footer-block__bottom.not_flex {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    align-items: center !important;
    text-align: center !important;
    padding: 16px !important;
    width: 100% !important;
  }
  .footer.footer-2 .footer__copyright,
  .footer.footer-2 .footer-block__bottom p {
    text-align: center !important;
    margin: 0 !important;
  }
  .footer.footer-2 .footer-block__list-payment {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .footer.footer-2 .footer-block__list-payment li,
  .footer.footer-2 .footer-block__list-payment img {
    height: 28px !important;
    width: auto !important;
  }
}
/* =============================================================================
   END 3 TARGETED BUG FIXES
============================================================================= */

/* =============================================================================
   TRIPLE BUG FIX (2026-05-14)
   1) Footer mobile: override .column-5 width:34% on first column + side-bordered padding
   2) Announcement bar: nuclear visibility (slider :first-child + .message + p chain)
   3) Tablet hero (769-1024): use 16:9 aspect with bounded height, no awkward crop
   Specificity strategy: body. prefix + chained selectors + !important everywhere
============================================================================= */

/* -----------------------------------------------------------------------------
   BUG 1: FOOTER MOBILE NUCLEAR FIX
   Real DOM: footer.footer.footer-2 > .footer__content-top > .container.container-full
             > .halo-row.column-5 > .footer-block__item.footer-block__column.*
             > .side-bordered > content
   Theme bug to override:
     .column-5 .footer-block__item.footer-block__text.block__text_first { width:34% }
     .footer-block__text .side-bordered { border-left/right + padding-left:58px padding-right:87px }
     .footer-block__list-social .list-social__link { color:#fff !important; background:#000000 }
----------------------------------------------------------------------------- */
@media (max-width: 768px) {
  /* Force entire halo-row to stack vertically, override flex children */
  body footer.footer.footer-2 .halo-row,
  body footer.footer.footer-2 .halo-row.column-5,
  body .footer.footer-2 .halo-row,
  body .footer.footer-2 .halo-row.column-5,
  body .footer .footer__content-top .halo-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  /* CRITICAL: override .column-5 .footer-block__item.footer-block__text.block__text_first { width:34% } */
  body .footer.footer-2 .halo-row > .footer-block__item,
  body .footer.footer-2 .halo-row > .footer-block__column,
  body .footer.footer-2 .halo-row.column-5 > .footer-block__item,
  body .footer.footer-2 .halo-row.column-5 > .footer-block__item.footer-block__text,
  body .footer.footer-2 .halo-row.column-5 > .footer-block__item.footer-block__text.block__text_first,
  body .footer.footer-2 .halo-row.column-5 > .footer-block__item.footer-block__newsletter,
  body footer.footer.footer-2 .halo-row > * {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  /* CRITICAL: kill .side-bordered padding (58px / 87px) + borders */
  body .footer.footer-2 .footer-block__text .side-bordered,
  body .footer .footer-block__item .side-bordered,
  body .footer-block__text .side-bordered {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }
  /* Inner content blocks (phone, email, address wrappers) center on mobile */
  body .footer.footer-2 .phone-wrapper,
  body .footer.footer-2 .email-wrapper,
  body .footer.footer-2 .address-wrapper,
  body .footer.footer-2 .footer-block__details {
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 8px !important;
    color: rgba(251, 251, 243, 0.92) !important;
  }
  body .footer.footer-2 .phone-wrapper svg,
  body .footer.footer-2 .email-wrapper svg,
  body .footer.footer-2 .address-wrapper svg {
    width: 14px !important;
    height: 14px !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
    fill: #C79C3E !important;
  }
  /* Footer headings centered + cream */
  body .footer.footer-2 .footer-block__heading,
  body .footer.footer-2 h2.footer-block__heading,
  body .footer.footer-2 h3.footer-block__heading,
  body .footer.footer-2 h4.footer-block__heading {
    text-align: center !important;
    color: #FBFBF3 !important;
    font-family: 'Rozha One', serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
    border: 0 !important;
  }
  /* Footer body text + links + list items */
  body .footer.footer-2 p,
  body .footer.footer-2 a,
  body .footer.footer-2 li,
  body .footer.footer-2 span,
  body .footer.footer-2 .footer-block__details p,
  body .footer.footer-2 .footer-block__details a,
  body .footer.footer-2 .footer-block__list,
  body .footer.footer-2 .footer-block__list a,
  body .footer.footer-2 .rte p {
    color: rgba(251, 251, 243, 0.85) !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    text-align: center !important;
    text-decoration: none !important;
  }
  body .footer.footer-2 a:hover {
    color: #C79C3E !important;
  }
  /* footer-block__mobile is a DIV not <details>; keep visible & centered */
  body .footer.footer-2 .footer-block__mobile {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  /* footer list (TIENDA / INFORMACIÓN / LEGAL navigation lists) */
  body .footer.footer-2 .footer-block__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body .footer.footer-2 .footer-block__list li,
  body .footer.footer-2 ul.list-unstyled li {
    margin: 6px 0 !important;
    padding: 0 !important;
    text-align: center !important;
    display: block !important;
  }
  /* Social icons (override theme black bg) — brand cream-on-transparent circle */
  body .footer.footer-2 .footer-block__list-social,
  body .footer.footer-2 .footer-block__list-social .list-social {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 12px auto 0 !important;
    list-style: none !important;
    width: 100% !important;
  }
  body .footer.footer-2 .footer-block__list-social li,
  body .footer.footer-2 .footer-block__list-social .list-social__item {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
  }
  /* CRITICAL override of theme's .list-social__link { background:#000000; color:#fff } */
  body .footer.footer-2 .footer-block__list-social .list-social__link,
  body .footer.footer-2 .list-social__link,
  body .footer.footer-2 a.list-social__link {
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: rgba(251, 251, 243, 0.10) !important;
    border: 1px solid rgba(251, 251, 243, 0.25) !important;
    color: #FBFBF3 !important;
    transition: background 250ms ease, color 250ms ease, transform 250ms ease !important;
  }
  body .footer.footer-2 .footer-block__list-social .list-social__link svg,
  body .footer.footer-2 .list-social__link svg {
    width: 16px !important;
    height: 16px !important;
    fill: #FBFBF3 !important;
    color: #FBFBF3 !important;
  }
  body .footer.footer-2 .footer-block__list-social .list-social__link:hover {
    background: #C79C3E !important;
    border-color: #C79C3E !important;
    color: #2B2716 !important;
    transform: translateY(-1px) !important;
  }
  body .footer.footer-2 .footer-block__list-social .list-social__link:hover svg {
    fill: #2B2716 !important;
  }
  /* Newsletter form stacks vertical */
  body .footer.footer-2 .footer-block__newsletter,
  body .footer.footer-2 .footer__newsletter,
  body .footer.footer-2 .newsletter-form,
  body .footer.footer-2 .newsletter-form__field-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 14px auto 0 !important;
    padding: 0 !important;
  }
  body .footer.footer-2 .field,
  body .footer.footer-2 .newsletter-form .field {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body .footer.footer-2 input[type="email"],
  body .footer.footer-2 .field__input,
  body .footer.footer-2 .newsletter-form__field-wrapper input {
    width: 100% !important;
    max-width: 100% !important;
    height: 46px !important;
    background: rgba(251, 251, 243, 0.10) !important;
    border: 1px solid rgba(251, 251, 243, 0.30) !important;
    color: #FBFBF3 !important;
    padding: 12px 14px !important;
    border-radius: 6px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
  }
  body .footer.footer-2 input[type="email"]::placeholder,
  body .footer.footer-2 .field__input::placeholder {
    color: rgba(251, 251, 243, 0.55) !important;
  }
  body .footer.footer-2 .newsletter-form button,
  body .footer.footer-2 .newsletter-form__button,
  body .footer.footer-2 button.newsletter-form__button {
    width: 100% !important;
    max-width: 100% !important;
    height: 46px !important;
    background: #C79C3E !important;
    color: #2B2716 !important;
    border: 1px solid #C79C3E !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }
  body .footer.footer-2 .newsletter-form__button .button-overlay {
    display: none !important;
  }
  /* Bottom bar: copyright + payment icons stack on mobile */
  body .footer.footer-2 .footer__content-bottom,
  body .footer.footer-2 .footer-block__bottom,
  body .footer.footer-2 .footer-block__bottom.not_flex {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 18px 16px !important;
    width: 100% !important;
    text-align: center !important;
    background-color: #2B2716 !important;
  }
  body .footer.footer-2 .footer__column-item,
  body .footer.footer-2 .footer__copyright,
  body .footer.footer-2 .copyright__content,
  body .footer.footer-2 .footer__column {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    display: block !important;
  }
  body .footer.footer-2 .copyright__content,
  body .footer.footer-2 .copyright__content p,
  body .footer.footer-2 .footer__copyright p {
    color: rgba(251, 251, 243, 0.75) !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.05em !important;
    text-align: center !important;
    margin: 0 !important;
  }
  body .footer.footer-2 .footer-block__list-payment,
  body .footer.footer-2 ul.list-payment {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    width: 100% !important;
  }
  body .footer.footer-2 .footer-block__list-payment li,
  body .footer.footer-2 ul.list-payment li {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important;
    height: 24px !important;
  }
  body .footer.footer-2 .footer-block__list-payment li img,
  body .footer.footer-2 ul.list-payment li img {
    height: 24px !important;
    width: auto !important;
    display: block !important;
  }
}

/* -----------------------------------------------------------------------------
   BUG 2: ANNOUNCEMENT BAR NUCLEAR VISIBILITY
   Real DOM: <announcement-bar-component class="announcement-bar d-block">
              > .container.layout--slider
                > .row.has-arrows[data-announcement-bar]
                  > .announcement-bar__message (multiple, only :first-child shown)
                    > <p style="...font-size:12px;letter-spacing:0.12em..."> TEXT </p>
   Theme bug: text inherits color but slick init may fail, message:first-child
              must always be inline-block with explicit color + min-height.
----------------------------------------------------------------------------- */
body announcement-bar-component.announcement-bar,
body .announcement-bar,
body .header__announcement,
body .announcement-bar__inner,
body section[class*="announcement"] .announcement-bar {
  background-color: #3E342B !important;
  background: #3E342B !important;
  min-height: 36px !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
body .announcement-bar .container,
body .announcement-bar .container.layout--slider,
body .announcement-bar .layout--slider {
  background: transparent !important;
  visibility: visible !important;
  opacity: 1 !important;
  display: block !important;
  min-height: 20px !important;
}
body .announcement-bar .row,
body .announcement-bar .row.has-arrows,
body .announcement-bar .layout--slider .row,
body .announcement-bar [data-announcement-bar] {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .announcement-bar .announcement-bar__message,
body .announcement-bar .announcement-bar__message:first-child,
body .announcement-bar .layout--slider .announcement-bar__message,
body .announcement-bar .layout--slider .announcement-bar__message:first-child,
body .announcement-bar .slick-slider .announcement-bar__message {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  max-width: 100% !important;
  text-align: center !important;
  vertical-align: middle !important;
  padding: 0 8px !important;
  margin: 0 !important;
}
/* Force CREAM color on text — beats inline styles via attribute selector */
body .announcement-bar .announcement-bar__message,
body .announcement-bar .announcement-bar__message *,
body .announcement-bar .announcement-bar__message p,
body .announcement-bar .announcement-bar__message p[style],
body .announcement-bar .announcement-bar__message .message,
body .announcement-bar .announcement-bar__message a,
body .announcement-bar .announcement-bar__message span,
body .announcement-bar p,
body .announcement-bar a,
body .announcement-bar span,
body .announcement-bar [class*="text"],
body .announcement-bar [class*="message"],
body section[class*="announcement"] p,
body section[class*="announcement"] a {
  color: #FBFBF3 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  background: transparent !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* SVGs (whatsapp/phone icons) gold */
body .announcement-bar svg,
body .announcement-bar svg path,
body .announcement-bar svg circle,
body .announcement-bar .announcement-bar__message svg {
  fill: #C79C3E !important;
  color: #C79C3E !important;
  width: 14px !important;
  height: 14px !important;
  vertical-align: middle !important;
  display: inline-block !important;
}
/* Close button cream */
body .announcement-bar .announcement-close,
body .announcement-bar .announcement-close svg,
body .announcement-bar .announcement-close svg path {
  fill: #FBFBF3 !important;
  color: #FBFBF3 !important;
  opacity: 0.8 !important;
}
/* Mobile: slightly smaller font + tighter letter-spacing */
@media (max-width: 480px) {
  body .announcement-bar .announcement-bar__message,
  body .announcement-bar .announcement-bar__message p,
  body .announcement-bar p {
    font-size: 11px !important;
    letter-spacing: 0.06em !important;
    padding: 4px 6px !important;
  }
  body .announcement-bar {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    min-height: 32px !important;
  }
}

/* -----------------------------------------------------------------------------
   BUG 3: TABLET HERO (769-1024px)
   Real DOM: section #shopify-section-template--*__image_banner_naC4d6
              > .halo-image-banner > .image-banner__image > <img>
   Theme bug: my own desktop rule (min-width:769px) sets aspect-ratio 2.6:1 +
              max-height 720px, which on tablet creates a 768-wide letterbox
              ~295px tall — awkward crop. Need a tablet-specific override.
----------------------------------------------------------------------------- */
@media (min-width: 769px) and (max-width: 1024px) {
  /* Reset the desktop aspect-ratio on tablets — use 16:9 with bounded height */
  body [id*="image_banner_naC4d6"] {
    aspect-ratio: 16 / 9 !important;
    min-height: 420px !important;
    max-height: 60vh !important;
    height: auto !important;
    overflow: hidden !important;
    position: relative !important;
  }
  body [id*="image_banner_naC4d6"] .image-banner,
  body [id*="image_banner_naC4d6"] .halo-banner,
  body [id*="image_banner_naC4d6"] .halo-image-banner,
  body [id*="image_banner_naC4d6"] .banner-wrapper {
    aspect-ratio: 16 / 9 !important;
    min-height: 420px !important;
    max-height: 60vh !important;
    height: auto !important;
    overflow: hidden !important;
  }
  /* Force image to cover the bounded box without cropping subject heads */
  body [id*="image_banner_naC4d6"] img,
  body [id*="image_banner_naC4d6"] picture img,
  body [id*="image_banner_naC4d6"] .image-banner__image img,
  body [id*="image_banner_naC4d6"] .banner__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    max-height: 60vh !important;
    min-height: 420px !important;
    display: block !important;
  }
  /* Content overlay readable on tablet width */
  body [id*="image_banner_naC4d6"] .content-box,
  body [id*="image_banner_naC4d6"] .banner-content,
  body [id*="image_banner_naC4d6"] .halo-image-banner__content {
    padding: 20px 32px !important;
  }
  body [id*="image_banner_naC4d6"] .image-banner__heading,
  body [id*="image_banner_naC4d6"] .banner-heading {
    font-size: clamp(32px, 5vw, 52px) !important;
    line-height: 1.1 !important;
  }
  body [id*="image_banner_naC4d6"] .banner-sub-title,
  body [id*="image_banner_naC4d6"] .image-banner__sub-title {
    font-size: 12px !important;
    letter-spacing: 0.2em !important;
  }
}

/* =============================================================================
   END TRIPLE BUG FIX (2026-05-14)
============================================================================= */



/* ===================================================================
   COLLECTION PAGE MOBILE FIX (2026-05-14)
   Problem: nested wrappers each add 24px padding → cards too narrow
   Fix: reduce wrapper padding + title font sizing on mobile
   =================================================================== */
@media (max-width: 768px) {
  /* Reduce outer section padding from 24px to 12px */
  .template-collection #shopify-section-template--21693368729785__product-grid,
  .template-collection [id$="__product-grid"] {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  /* Zero out inner wrappers (no double-nesting padding) */
  .template-collection .container-1170,
  .template-collection .halo-collection-content,
  .template-collection .halo-grid-content,
  .template-collection #CollectionProductGrid,
  .template-collection .page-content#CollectionProductGrid,
  .template-collection #CollectionProductGrid > .collection,
  .template-collection .collection {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Title: smaller font + no hyphen-break in mobile */
  .template-collection .product-item .card__heading,
  .template-collection .product-card__title,
  .template-collection .product-item__title,
  .template-collection .product-block-item .card__heading {
    font-size: 16px !important;
    line-height: 1.25 !important;
    hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  /* Card content inner padding compact */
  .template-collection .product-item .product-content,
  .template-collection .product-card__info,
  .template-collection .card__content {
    padding: 14px 12px 18px !important;
  }
  /* Grid gap tighter */
  .template-collection #main-collection-product-grid,
  .template-collection ul.productListing.productGrid {
    gap: 16px !important;
  }
}
@media (max-width: 480px) {
  /* Title slightly larger on smallest viewports for readability */
  .template-collection .product-item .card__heading,
  .template-collection .product-card__title {
    font-size: 17px !important;
  }
}
/* End collection page mobile fix */


/* ===================================================================
   VIEW DETAILS HIDDEN (2026-05-14)
   El elemento tiene clase 'd-none' en HTML pero no había regla CSS .d-none
   en Halo. Aplicamos ambas para consistencia.
   El link es redundante: la imagen + el título ya son clickables al producto.
   =================================================================== */
.d-none {
  display: none !important;
}
.template-collection .product-item .view-details,
.template-collection .product-card .view-details,
.template-collection a.view-details {
  display: none !important;
}


/* =============================================================================
   QUICK CART DRAWER POLISH (2026-05-15)
   Selector scope: #halo-cart-sidebar / .halo-cart-sidebar only — does NOT
   affect other Halo drawers (search, account, filter).
   Goals: proper flex column, sticky checkout footer, scrollable body,
          modern flex item layout (no inline-block legacy), consistent gaps.
   Override depth: targeted, minimum !important usage.
============================================================================= */
.halo-cart-sidebar{
  display:flex !important;
  flex-direction:column !important;
  height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
}
.halo-cart-sidebar .halo-sidebar-close{
  flex:0 0 auto;
}
.halo-cart-sidebar .halo-sidebar-header{
  flex:0 0 auto !important;
  padding:20px 24px 16px !important;
  border-bottom:1px solid rgba(62,52,43,0.10) !important;
}
.halo-cart-sidebar .halo-sidebar-header .title{
  font-family:'Rozha One',serif !important;
  font-size:22px !important;
  letter-spacing:0.02em !important;
  color:#3E342B !important;
}
.halo-cart-sidebar .halo-sidebar-header .wrapper-cartCount{
  font-size:12px !important;
  letter-spacing:0.10em !important;
  color:#8D6E2B !important;
  margin-top:4px !important;
}
.halo-cart-sidebar .halo-sidebar-wrapper{
  flex:1 1 0 !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:0 !important;
}
.halo-cart-sidebar .previewCart{
  padding:8px 24px 16px !important;
}
.halo-cart-sidebar .previewCart-wrapper{
  height:auto !important;
  overflow:visible !important;
}
.halo-cart-sidebar .previewCartList{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.halo-cart-sidebar .previewCartItem{
  display:flex !important;
  align-items:flex-start !important;
  gap:16px !important;
  padding:18px 0 !important;
  border-bottom:1px solid rgba(62,52,43,0.08) !important;
  font-size:14px !important;
}
.halo-cart-sidebar .previewCartItem:last-child{
  border-bottom:none !important;
}
.halo-cart-sidebar .previewCartItem-image{
  flex:0 0 84px !important;
  width:84px !important;
  height:auto !important;
  aspect-ratio:4/5 !important;
  position:relative !important;
  top:0 !important;
  text-align:left !important;
}
.halo-cart-sidebar .previewCartItem-image::before{
  display:none !important;
}
.halo-cart-sidebar .previewCartItem-image img{
  position:relative !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:4px !important;
  top:0 !important;
}
.halo-cart-sidebar .previewCartItem-content{
  flex:1 1 auto !important;
  min-width:0 !important;
  padding:0 !important;
  width:auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}
.halo-cart-sidebar .previewCartItem-name{
  font-family:'Poppins',sans-serif !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.35 !important;
  color:#3E342B !important;
  margin:0 !important;
}
.halo-cart-sidebar .previewCartItem-options,
.halo-cart-sidebar .previewCartItem-variant,
.halo-cart-sidebar .previewCartItem-vendor{
  font-size:12px !important;
  color:#8D6E2B !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
}
.halo-cart-sidebar .previewCartItem-price{
  margin:4px 0 0 !important;
}
.halo-cart-sidebar .previewCartItem-price .price{
  font-size:14px !important;
  font-weight:600 !important;
  color:#3E342B !important;
}
.halo-cart-sidebar .previewCartItem-qty{
  width:96px !important;
  margin-top:8px !important;
}
.halo-cart-sidebar .previewCartItem-remove{
  position:absolute;
  top:18px;
  right:0;
}
.halo-cart-sidebar .previewCartItem-edit{
  position:relative;
  top:auto;
  right:auto;
  transform:none;
}
.halo-cart-sidebar .previewCartMessage{
  padding:14px 24px !important;
  background:#F4DFC9 !important;
  border-bottom:1px solid rgba(62,52,43,0.08) !important;
  font-size:13px !important;
  color:#3E342B !important;
  text-align:center !important;
}
.halo-cart-sidebar .previewCartGroup,
.halo-cart-sidebar .previewCartTotalsGroup,
.halo-cart-sidebar .cartFooter{
  flex:0 0 auto !important;
  position:sticky !important;
  bottom:0 !important;
  background:#FBFBF3 !important;
  border-top:1px solid rgba(62,52,43,0.12) !important;
  padding:16px 24px 20px !important;
  box-shadow:0 -8px 24px rgba(62,52,43,0.06) !important;
  z-index:2 !important;
}
.halo-cart-sidebar .previewCartTotals{
  display:flex !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  margin:0 0 12px !important;
  font-size:14px !important;
}
.halo-cart-sidebar .previewCartTotals.total{
  font-size:16px !important;
  font-weight:600 !important;
  color:#3E342B !important;
}
.halo-cart-sidebar .cart__checkout-button,
.halo-cart-sidebar [name="checkout"],
.halo-cart-sidebar .button-checkout{
  width:100% !important;
  padding:16px 24px !important;
  background:#3E342B !important;
  color:#FBFBF3 !important;
  border:2px solid #3E342B !important;
  font-family:'Poppins',sans-serif !important;
  font-weight:600 !important;
  letter-spacing:0.12em !important;
  text-transform:uppercase !important;
  font-size:13px !important;
  border-radius:4px !important;
  cursor:pointer !important;
  transition:all 250ms ease !important;
}
.halo-cart-sidebar .cart__checkout-button:hover,
.halo-cart-sidebar [name="checkout"]:hover,
.halo-cart-sidebar .button-checkout:hover{
  background:#C79C3E !important;
  border-color:#C79C3E !important;
  color:#3E342B !important;
}
@media (max-width:640px){
  .halo-cart-sidebar .halo-sidebar-header{padding:16px 20px 12px !important;}
  .halo-cart-sidebar .previewCart{padding:8px 20px 12px !important;}
  .halo-cart-sidebar .previewCartGroup,
  .halo-cart-sidebar .previewCartTotalsGroup,
  .halo-cart-sidebar .cartFooter{padding:14px 20px 18px !important;}
  .halo-cart-sidebar .previewCartItem-image{flex-basis:72px !important;width:72px !important;}
}
/* End quick cart drawer polish ----------------------------------------------*/


/* =============================================================================
   FOOTER CLEANUP (2026-05-16)
   Remove decorative gold underline beneath headings and vertical gradient
   separators between columns — keep clean spacing-based hierarchy only.
============================================================================= */

/* Kill the gold border-bottom under each heading (CONTÁCTANOS, TIENDA, etc.) */
.footer .footer-block__heading,
.footer-block__heading,
.footer-block h2.footer-block__heading {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  display: block !important;
  margin-bottom: 24px !important;
}

/* Kill the vertical gold gradient separators between columns */
.footer.footer-2 .footer-block__column + .footer-block__column::before,
.footer .footer-block__column + .footer-block__column::before {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* Slight tightening of column padding now that no separator splits them */
.footer .footer-block__column,
.footer.footer-2 .footer-block__column {
  padding-left: 24px !important;
  padding-right: 24px !important;
}
.footer .footer-block__column:first-child {
  padding-left: 0 !important;
}
.footer .footer-block__column:last-child {
  padding-right: 0 !important;
}

@media (max-width: 768px) {
  .footer .footer-block__column,
  .footer.footer-2 .footer-block__column {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .footer .footer-block__heading {
    margin-bottom: 14px !important;
  }
}
/* End footer cleanup -------------------------------------------------------*/


/* =============================================================================
   TRUST BLOCK PADDING + DIVIDER OVERRIDE (2026-05-16)
   Force padding on .ts-trust section because inline <style> in custom_liquid
   doesn't override Halo's section wrapper specificity reliably on desktop.
============================================================================= */
.ts-trust {
  padding: 96px 56px !important;
  background: #F4DFC9 !important;
  margin: 0 !important;
}
.ts-trust__inner {
  max-width: 1170px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.ts-trust__title {
  margin: 0 0 18px !important;
  padding: 0 !important;
}
.ts-trust__divider {
  display: block !important;
  width: 64px !important;
  height: 2px !important;
  background: #C79C3E !important;
  margin: 0 auto 48px !important;
  border-radius: 2px !important;
  border: none !important;
}
.ts-trust__grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  margin: 0 auto !important;
}
.ts-trust__card {
  background: #FBFBF3 !important;
  border-radius: 16px !important;
  padding: 40px 32px !important;
  box-shadow: 0 4px 18px rgba(62,52,43,0.06) !important;
  text-align: center !important;
}
.ts-trust__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 26px rgba(62,52,43,0.12) !important;
}
.ts-trust__num {
  font-family: 'Rozha One', serif !important;
  color: #C79C3E !important;
  font-size: 52px !important;
  line-height: 1 !important;
  margin: 0 0 16px !important;
}
.ts-trust__h {
  font-family: 'Rozha One', serif !important;
  color: #2B2716 !important;
  font-size: 22px !important;
  margin: 0 0 14px !important;
  letter-spacing: 0.3px !important;
}
.ts-trust__p {
  font-family: 'Poppins', sans-serif !important;
  color: #3F4447 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

@media (max-width: 1200px) {
  .ts-trust { padding: 80px 40px !important; }
  .ts-trust__num { font-size: 46px !important; }
}
@media (max-width: 900px) {
  .ts-trust { padding: 72px 32px !important; }
  .ts-trust__grid { gap: 20px !important; }
  .ts-trust__num { font-size: 42px !important; }
}
@media (max-width: 768px) {
  .ts-trust { padding: 56px 20px !important; }
  .ts-trust__grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .ts-trust__card { padding: 28px 24px !important; }
  .ts-trust__divider { margin-bottom: 32px !important; }
}
/* End trust block padding override ---------------------------------------- */
