/** Shopify CDN: Minification failed

Line 752:2 Unexpected "="

**/
/* ==========================================================================
   TRIA ESSENCE — Custom Brand CSS for Shopify Dawn 15.4.1
   VERSION 4 FINAL — Todos los fixes consolidados
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,500;0,6..96,600;0,6..96,700;1,6..96,400;1,6..96,500&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Monsieur+La+Doulaise&display=swap');

:root {
  --tria-vino-tinto: #4D0F34;
  --tria-hueso-claro: #F2F0EF;
  --tria-negro-onix: #1D1D1D;
  --tria-gris-perla: #BAB5BC;
  --tria-verde-oliva: #71755A;
  --tria-redwood: #AA4E51;
  --tria-font-heading: 'Bodoni Moda', serif;
  --tria-font-body: 'EB Garamond', serif;
  --tria-font-accent: 'Monsieur La Doulaise', cursive;
  --tria-section-padding: clamp(3rem, 8vw, 6rem);
  --tria-content-max: 1200px;
  --tria-content-narrow: 800px;
  --tria-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --tria-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --tria-duration: 0.6s;
  --tria-duration-slow: 1s;
  --page-width-margin: 0rem !important;
}


/* ==========================================================================
   FULL-WIDTH FIX — Todo a 100%, nunca 100vw (scrollbar gap)
   ========================================================================== */

html {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  scrollbar-gutter: auto !important;
}

body,
body.gradient {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  background-color: var(--tria-hueso-claro) !important;
  color: var(--tria-negro-onix) !important;
}

.shopify-section,
[class*="shopify-section-group"],
.shopify-section-group-header-group,
.shopify-section-group-footer-group,
.content-for-layout {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Announcement bar + header — full width */
[id*="announcement-bar"],
sticky-header,
.header-wrapper,
.section-header,
.utility-bar,
.utility-bar.gradient,
.announcement-bar-section,
.announcement-bar {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* page-width containers dentro de header/announcement */
.utility-bar .page-width,
.utility-bar .utility-bar__grid,
.header .page-width,
.header-wrapper .page-width,
.section-header .page-width {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  margin: 0 !important;
}


/* ==========================================================================
   TIPOGRAFIA GLOBAL
   ========================================================================== */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--tria-font-heading) !important;
  color: var(--tria-negro-onix);
  letter-spacing: 0.02em;
  font-weight: 400;
  line-height: 1.15;
}

body,
p,
span,
li,
a,
input,
textarea,
select,
button {
  font-family: var(--tria-font-body) !important;
  color: var(--tria-negro-onix);
}

.tria-accent-font {
  font-family: var(--tria-font-accent) !important;
  font-weight: 400;
}


/* ==========================================================================
   HEADER
   ========================================================================== */

.header {
  background-color: var(--tria-hueso-claro) !important;
  border-bottom: 1px solid rgba(77, 15, 52, 0.08);
}

.header__menu-item,
.header__menu-item span {
  font-family: var(--tria-font-body) !important;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tria-negro-onix) !important;
  transition: color var(--tria-duration) var(--tria-ease);
}

.header__menu-item:hover,
.header__menu-item:hover span {
  color: var(--tria-vino-tinto) !important;
}

.header__icon {
  color: var(--tria-negro-onix) !important;
}

.header__icon:hover {
  color: var(--tria-vino-tinto) !important;
}


/* ==========================================================================
   ANNOUNCEMENT BAR
   ========================================================================== */

.announcement-bar {
  background-color: var(--tria-vino-tinto) !important;
  color: var(--tria-hueso-claro) !important;
}

.announcement-bar a,
.announcement-bar p,
.announcement-bar span {
  color: var(--tria-hueso-claro) !important;
  font-family: var(--tria-font-body) !important;
  letter-spacing: 0.1em;
  font-size: 14px;
  text-transform: uppercase;
}


/* ==========================================================================
   PRODUCT CARDS
   ========================================================================== */

.card--card,
.card-wrapper {
  background: transparent;
}

.card__media,
.card .media {
  background-color: var(--tria-hueso-claro) !important;
  border: 1px solid rgba(77, 15, 52, 0.06);
  border-radius: 0;
  overflow: hidden;
}

.card__heading,
.card__heading a {
  font-family: var(--tria-font-heading) !important;
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 0.02em;
  color: var(--tria-negro-onix) !important;
  text-transform: none;
}

.price .money,
.price-item--regular {
  font-family: var(--tria-font-body) !important;
  color: var(--tria-vino-tinto);
  font-size: 18px;
}

.card-wrapper:hover .card__media img {
  transform: scale(1.03);
  transition: transform 0.8s var(--tria-ease);
}

.card__media img {
  transition: transform 0.8s var(--tria-ease);
}


/* ==========================================================================
   BUTTONS
   ========================================================================== */

.button,
.shopify-challenge__button,
button.button {
  font-family: var(--tria-font-body) !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-size: 15px;
  border-radius: 0 !important;
  padding: 14px 36px;
  transition: all var(--tria-duration) var(--tria-ease);
}

.button--primary {
  background-color: var(--tria-vino-tinto) !important;
  color: var(--tria-hueso-claro) !important;
  border: 1px solid var(--tria-vino-tinto) !important;
}

.button--primary:hover {
  background-color: transparent !important;
  color: var(--tria-vino-tinto) !important;
}

.button--secondary {
  background-color: transparent !important;
  color: var(--tria-negro-onix) !important;
  border: 1px solid var(--tria-negro-onix) !important;
}

.button--secondary:hover {
  background-color: var(--tria-negro-onix) !important;
  color: var(--tria-hueso-claro) !important;
}


/* ==========================================================================
   SCROLL ANIMATIONS
   ========================================================================== */

.tria-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity var(--tria-duration-slow) var(--tria-ease-out), transform var(--tria-duration-slow) var(--tria-ease-out);
}
.tria-reveal.is-visible { opacity: 1; transform: translateY(0); }

.tria-reveal--left {
  opacity: 0;
  transform: translateX(-24px);
  transition: opacity var(--tria-duration-slow) var(--tria-ease-out), transform var(--tria-duration-slow) var(--tria-ease-out);
}
.tria-reveal--left.is-visible { opacity: 1; transform: translateX(0); }

.tria-reveal--right {
  opacity: 0;
  transform: translateX(24px);
  transition: opacity var(--tria-duration-slow) var(--tria-ease-out), transform var(--tria-duration-slow) var(--tria-ease-out);
}
.tria-reveal--right.is-visible { opacity: 1; transform: translateX(0); }

.tria-reveal--fade {
  opacity: 0;
  transition: opacity var(--tria-duration-slow) var(--tria-ease-out);
}
.tria-reveal--fade.is-visible { opacity: 1; }

.tria-reveal--scale {
  opacity: 0;
  transform: scale(0.97);
  transition: opacity var(--tria-duration-slow) var(--tria-ease-out), transform var(--tria-duration-slow) var(--tria-ease-out);
}
.tria-reveal--scale.is-visible { opacity: 1; transform: scale(1); }

.tria-reveal--delay-1 { transition-delay: 0.1s; }
.tria-reveal--delay-2 { transition-delay: 0.2s; }
.tria-reveal--delay-3 { transition-delay: 0.3s; }
.tria-reveal--delay-4 { transition-delay: 0.4s; }


/* ==========================================================================
   HERO SECTION
   ========================================================================== */
.tria-hero-section {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 1 !important;
  position: relative !important;
}
.tria-hero {
  position: relative;
  width: 100%;
  max-width: none;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--tria-negro-onix);
}

.tria-hero__media {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.tria-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.55;
}

.tria-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    to bottom,
    rgba(29, 29, 29, 0.3) 0%,
    rgba(29, 29, 29, 0.1) 40%,
    rgba(29, 29, 29, 0.5) 100%
  );
}

.tria-hero__content {
  position: relative;
  z-index: 3;
  text-align: center;
  padding: 2rem;
  max-width: 900px;
}

/* Forzar color claro en TODO el contenido del hero */
.tria-hero,
.tria-hero *,
.tria-hero__content,
.tria-hero__content p,
.tria-hero__content span,
.tria-hero__content a,
.tria-hero__content em,
.tria-hero__content i,
.tria-hero__content h1,
.tria-hero__content h2,
.tria-hero__content h3 {
  color: var(--tria-hueso-claro) !important;
}

.tria-hero__tagline {
  font-family: var(--tria-font-body) !important;
  font-size: clamp(14px, 1.6vw, 18px);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--tria-hueso-claro) !important;
  opacity: 0;
  animation: tria-hero-fade-up 1s var(--tria-ease-out) 0.3s forwards;
  margin-bottom: 1rem;
}

.tria-hero__heading {
  font-family: var(--tria-font-heading) !important;
  font-size: clamp(36px, 7vw, 64px);
  font-weight: 400;
  line-height: 1.1;
  color: var(--tria-hueso-claro) !important;
  margin: 0.4em 0;
  opacity: 0;
  animation: tria-hero-fade-up 1s var(--tria-ease-out) 0.6s forwards;
}

.tria-hero__heading p {
  margin: 0;
  color: var(--tria-hueso-claro) !important;
  font-family: var(--tria-font-heading) !important;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.tria-hero__heading em,
.tria-hero__heading i {
  font-family: var(--tria-font-accent) !important;
  font-style: normal;
  color: var(--tria-gris-perla) !important;
  font-size: 1.1em;
}

.tria-hero__subheading {
  font-family: var(--tria-font-accent) !important;
  font-size: clamp(29px, 4vw, 45px);
  color: var(--tria-gris-perla) !important;
  opacity: 0;
  animation: tria-hero-fade-up 1s var(--tria-ease-out) 0.9s forwards;
}

.tria-hero__cta {
  display: inline-block;
  margin-top: 2.5rem;
  padding: 18px 56px;
  font-family: var(--tria-font-body) !important;
  font-size: 16px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--tria-hueso-claro) !important;
  border: 1px solid rgba(242, 240, 239, 0.4);
  background: transparent;
  text-decoration: none;
  transition: all var(--tria-duration) var(--tria-ease);
  opacity: 0;
  animation: tria-hero-fade-up 1s var(--tria-ease-out) 1.2s forwards;
}

.tria-hero__cta:hover {
  background-color: var(--tria-hueso-claro);
  color: var(--tria-negro-onix) !important;
  border-color: var(--tria-hueso-claro);
}

@keyframes tria-hero-fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.tria-hero__media.has-parallax img {
  will-change: transform;
}


/* ==========================================================================
   MARQUEE / TRUST BAR
   ========================================================================== */

.tria-marquee {
  overflow: hidden;
  padding: 1.2rem 0;
  border-top: 1px solid rgba(77, 15, 52, 0.08);
  border-bottom: 1px solid rgba(77, 15, 52, 0.08);
  background-color: var(--tria-hueso-claro);
}

.tria-marquee__track {
  display: flex;
  gap: 3rem;
  animation: tria-marquee-scroll 30s linear infinite;
  width: max-content;
}

.tria-marquee__item {
  flex-shrink: 0;
  font-family: var(--tria-font-body);
  font-size: 15px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--tria-vino-tinto);
  opacity: 0.6;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.tria-marquee__separator {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: var(--tria-vino-tinto);
  opacity: 0.3;
}

@keyframes tria-marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.tria-marquee:hover .tria-marquee__track {
  animation-play-state: paused;
}


/* ==========================================================================
   SECTION UTILITIES
   ========================================================================== */

.tria-section {
  padding: var(--tria-section-padding) 1.5rem;
}

.tria-section--vino {
  background-color: var(--tria-vino-tinto);
  color: var(--tria-hueso-claro);
}
.tria-section--vino h2, .tria-section--vino h3,
.tria-section--vino p, .tria-section--vino span,
.tria-section--vino a { color: var(--tria-hueso-claro); }

.tria-section--negro {
  background-color: var(--tria-negro-onix);
  color: var(--tria-hueso-claro);
}
.tria-section--negro h2, .tria-section--negro h3,
.tria-section--negro p, .tria-section--negro span,
.tria-section--negro a { color: var(--tria-hueso-claro); }

.tria-container { max-width: var(--tria-content-max); margin: 0 auto; }
.tria-container--narrow { max-width: var(--tria-content-narrow); margin: 0 auto; }

.tria-divider {
  width: 60px;
  height: 1px;
  background-color: var(--tria-vino-tinto);
  margin: 1.5rem auto;
  opacity: 0.4;
}
.tria-section--vino .tria-divider,
.tria-section--negro .tria-divider { background-color: var(--tria-hueso-claro); }

.tria-section-heading { text-align: center; margin-bottom: 3rem; }

.tria-section-heading__label {
  font-family: var(--tria-font-body);
  font-size: 15px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  opacity: 0.5;
  display: block;
  margin-bottom: 0.8rem;
}

.tria-section-heading__title {
  font-family: var(--tria-font-heading);
  font-size: clamp(26px, 3.5vw, 40px);
  font-weight: 400;
  line-height: 1.15;
  margin: 0;
}


/* ==========================================================================
   FOOTER
   ========================================================================== */

.footer {
  background-color: var(--tria-negro-onix) !important;
  color: var(--tria-hueso-claro) !important;
}

.footer h2, .footer h3, .footer a,
.footer p, .footer span, .footer li {
  color: var(--tria-hueso-claro) !important;
}

.footer a:hover {
  color: var(--tria-gris-perla) !important;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 749px) {
  .tria-hero {
    min-height: 85vh;
    min-height: 85svh;
  }
  .tria-hero__heading {
    font-size: clamp(35px, 9vw, 51px);
  }
  .tria-hero__subheading {
    font-size: clamp(19px, 4vw, 26px);
  }
  .tria-hero__cta {
    padding: 14px 36px;
    font-size: 14px;
  }
  .tria-section {
    padding: 3rem 1rem;
  }
  input[type="text"],
  input[type="email"],
  input[type="search"],
  textarea,
  select {
    font-size: 16px !important;
  }
}

@media (min-width: 750px) and (max-width: 989px) {
  .tria-hero {
    min-height: 90vh;
  }
}

.utility-bar,
.utility-bar.color-scheme-1,
.utility-bar.gradient {
  background-color: var(--tria-vino-tinto) !important;
  background: var(--tria-vino-tinto) !important;
}

/* ==========================================================================
   PRODUCT CARDS — Tamaños más grandes
   ========================================================================== */

.card__heading,
.card__heading a {
  font-size: 18px !important;
}

.price .money,
.price-item--regular,
.price-item--sale {
  font-size: 18px !important;
}

/* Featured products heading */
.collection .title,
.featured-collection h2,
h2.h1,
.title-wrapper-with-link h2 {
  font-family: var(--tria-font-heading) !important;
  font-size: clamp(29px, 3.5vw, 45px) !important;
  font-weight: 400 !important;
}

/* ==========================================================================
   PAGINAS GENERALES — Contacto, About, etc.
   ========================================================================== */

/* Titulos de pagina */
.page-header h1,
.template-page h1 {
  font-family: var(--tria-font-heading) !important;
  font-size: clamp(35px, 5vw, 56px) !important;
  font-weight: 400 !important;
}

/* Body text mas legible */
.rte p,
.rte li,
.page-width p,
.template-page p,
.form__label,
.field__label,
.contact__fields label {
  font-size: 18px !important;
  line-height: 1.6 !important;
}

/* Inputs mas grandes */
.field__input,
.form__label,
input.field__input,
textarea.field__input {
  font-size: 16px !important;
  padding: 14px 16px !important;
}

/* Boton enviar en contacto */
.form .button,
.contact__button {
  font-size: 18px !important;
  padding: 16px 40px !important;
}

/* Footer text */
.footer h2,
.footer__content-top h2 {
  font-size: 19px !important;
  letter-spacing: 0.1em !important;
}

/* Newsletter heading */
.newsletter__heading,
.footer__newsletter h2 {
  font-family: var(--tria-font-heading) !important;
  font-size: 22px !important;
}

/* Badge agotado */
.badge {
  font-size: 16px !important;
  letter-spacing: 0.08em !important;
}

#menu-drawer {
  background: var(--tria-hueso-claro) !important;
  --gradient-background: var(--tria-hueso-claro) !important;
  --color-background: 242, 240, 239 !important;
}

.header-wrapper {
  z-index: 100 !important;
}

#menu-drawer .menu-drawer__menu-item {
  font-family: var(--tria-font-heading) !important;
  font-size: 22px !important;
  color: var(--tria-negro-onix) !important;
}

#menu-drawer .menu-drawer__utility-links a {
  font-family: var(--tria-font-body) !important;
  font-size: 16px !important;
  color: var(--tria-negro-onix) !important;
}

.tria-featured__media {
  background-color: #E8E6E4 !important;
  border: 1px solid rgba(77, 15, 52, 0.06);
}

.tria-trust__dot {
  display: none !important;
}

* ==========================================================================
   FIX: Search modal — tamaños legibles
   ========================================================================== */

.search-modal__form .field__label {
  display: none !important;
}

/* Input */
#Search-In-Modal.search__input.field__input {
  font-size: 24px !important;
  font-family: var(--tria-font-body) !important;
  padding: 18px 70px 18px 20px !important;
  height: auto !important;
  line-height: 1.3 !important;
}

#Search-In-Modal.search__input.field__input::placeholder {
  font-size: 24px !important;
  color: var(--tria-gris-perla) !important;
}

/* Iconos centrados */
.search-modal__form .search__button,
.search-modal__form .reset__button,
.search-modal__form .field__button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
}

/* Matar scroll horizontal */
.predictive-search,
.predictive-search--header {
  overflow-x: hidden !important;
}

/* Encabezados "PRODUCTOS" / "SUGERENCIAS" */
.predictive-search__heading.caption-with-letter-spacing {
  font-size: 16px !important;
  letter-spacing: 0.15em !important;
  padding: 14px 0 10px !important;
}

/* Nombres de producto — GRANDE */
.predictive-search__item-heading.h5 {
  font-size: 18px !important;
  font-family: var(--tria-font-body) !important;
  line-height: 1.3 !important;
}

.predictive-search__list-item {
  padding: 12px 0 !important;
}

.predictive-search__image {
  width: 70px !important;
  height: auto !important;
}

.predictive-search__item--term {
  font-size: 16px !important;
  padding: 16px 0 !important;
}

.predictive-search__search-for-button {
  background: #fff !important;
  border-top: 1px solid #e5e5e5 !important;
  padding: 14px 20px !important;
  margin: 0 !important;
}

/* Página de resultados — input */
#Search-In-Template.search__input.field__input {
  font-size: 24px !important;
  font-family: var(--tria-font-body) !important;
  padding: 18px 70px 18px 20px !important;
  height: auto !important;
  line-height: 1.3 !important;
}

#Search-In-Template.search__input.field__input::placeholder {
  font-size: 24px !important;
  color: var(--tria-gris-perla) !important;
}

.template-search .field__label {
  display: none !important;
}

/* Iconos centrados en el input de resultados */
.template-search .search__button,
.template-search .reset__button,
.template-search .field__button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
}

/* Filtros — tamaños manejados en el bloque de sidebar más abajo */

.color-scheme-1:not(.footer):not([class*="tria-"]),
.color-scheme-1.gradient:not(.footer):not([class*="tria-"]) {
  background-color: var(--tria-hueso-claro) !important;
  background: var(--tria-hueso-claro) !important;
  --color-background: 242, 240, 239 !important;
  --gradient-background: var(--tria-hueso-claro) !important;
}

/* ==========================================================================
   PRODUCT CARDS — Tria Essence luxury style
   ========================================================================== */

.card-wrapper,
.card,
.card--card,
.card--standard,
.card__inner,
.card__inner.color-scheme-2,
.card__inner.color-scheme-1,
.card__inner[class*="color-scheme"] {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  --color-foreground: 29, 29, 29 !important;
}

/* Quitar outline/border del contenedor */
.card--standard.card--media .card__inner,
.card--standard .card__inner {
  border: 0 !important;
  outline: none !important;
}

/* Imagen hover sutil */
.card__media img {
  transition: transform 0.6s var(--tria-ease) !important;
}

.card-wrapper:hover .card__media img {
  transform: scale(1.03) !important;
}

/* Nombre del producto — grande, elegante */
.card__heading,
.card__heading a,
.card__heading.h5,
.card__heading.h5 a {
  font-family: var(--tria-font-heading) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.3 !important;
  color: var(--tria-negro-onix) !important;
  text-transform: none !important;
  margin-top: 1rem !important;
}

/* Precio — protagonista, color vino */
.price-item,
.price .money,
.price-item--regular,
.price-item--sale,
.price-item--last {
  font-family: var(--tria-font-heading) !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: var(--tria-vino-tinto) !important;
  letter-spacing: 0.03em !important;
}

/* Precio tachado */
.price--on-sale .price-item--regular,
s.price-item--regular {
  font-size: 15px !important;
  color: var(--tria-gris-perla) !important;
}

/* Moneda MXN discreto */
.price .currency-code {
  font-size: 13px !important;
  color: var(--tria-gris-perla) !important;
}

/* Badge "Agotado" / "En oferta" */
.badge {
  font-family: var(--tria-font-body) !important;
  font-size: 14px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 6px 14px !important;
}

.card__media,
.card__media.card__media,
.card.card--standard .card__inner .card__media {
  border: none !important;
  border-radius: 0 !important;
}

.card__inner.color-scheme-2.gradient,
.card__inner[class*="color-scheme"] {
  border: none !important;
}

.media,
.media--transparent,
.media--hover-effect {
  border: none !important;
  border-radius: 0 !important;
  outline: none !important;
}


/* ==========================================================================
   PDP — Product Detail Page Tria Essence — COMPLETO
   ========================================================================== */

.product__text,
.product__text.caption-with-letter-spacing {
  font-size: 22px !important;
  letter-spacing: 0.25em !important;
  color: var(--tria-vino-tinto) !important;
  font-family: var(--tria-font-body) !important;
  margin-bottom: 0.5rem !important;
}

.product__title h1,
.product__title .h1 {
  font-family: var(--tria-font-heading) !important;
  font-size: clamp(28px, 3.5vw, 38px) !important;
  font-weight: 400 !important;
}

.price--large .price-item,
.price--large .money {
  font-family: var(--tria-font-heading) !important;
  font-size: 28px !important;
  color: var(--tria-vino-tinto) !important;
}

.product__tax,
.product__tax a,
.product__tax p {
  font-size: 24px !important;
}

.product__tax a {
  color: var(--tria-vino-tinto) !important;
}

.quantity__label,
.product-form__input label,
.form__label {
  font-size: 21px !important;
  font-family: var(--tria-font-body) !important;
}

.quantity__input {
  font-size: 22px !important;
}

.product-form__submit,
.product-form__submit.button {
  background-color: var(--tria-vino-tinto) !important;
  color: var(--tria-hueso-claro) !important;
  border: none !important;
  font-family: var(--tria-font-body) !important;
  font-size: 19px !important;
  letter-spacing: 0.15em !important;
  padding: 20px 40px !important;
}

.product-form__submit span,
.product-form__submit .button__text {
  color: var(--tria-hueso-claro) !important;
}

.product-form__submit:hover {
  background-color: var(--tria-negro-onix) !important;
}

.product-form__submit:hover span {
  color: var(--tria-hueso-claro) !important;
}

.shopify-payment-button .shopify-payment-button__button {
  border-radius: 0 !important;
}

.shopify-payment-button__button--unbranded {
  font-size: 19px !important;
  color: var(--tria-vino-tinto) !important;
}

.product__description,
.product__description p {
  font-size: 18px !important;
  line-height: 1.7 !important;
}

.share-button,
.share-button span {
  font-size: 19px !important;
}

.product__media-wrapper .media {
  border: none !important;
}

.product__accordion .accordion__title {
  font-family: var(--tria-font-heading) !important;
  font-size: 22px !important;
}

.accordion__content,
.accordion__content p {
  font-size: 19px !important;
  line-height: 1.6 !important;
}

.installment,
.installment span {
  font-size: 18px !important;
}


/* ==========================================================================
   MOBILE RESPONSIVE — Product Detail + Collection Grid
   Breakpoint: 749px (Dawn mobile)
   ========================================================================== */

@media (max-width: 749px) {

  /* --- PDP: Vendor (e.g. "ARIANA GRANDE") --- */
  .product__text,
  .product__text.caption-with-letter-spacing {
    font-size: 12px !important;
    letter-spacing: 0.15em !important;
    margin-bottom: 0.3rem !important;
  }

  /* --- PDP: Product Title --- */
  .product__title h1,
  .product__title .h1 {
    font-size: 24px !important;
    line-height: 1.15 !important;
    margin-bottom: 0.4rem !important;
  }

  /* --- PDP: Price --- */
  .price--large .price-item,
  .price--large .money {
    font-size: 22px !important;
  }

  /* --- PDP: Tax / shipping text --- */
  .product__tax,
  .product__tax a,
  .product__tax p {
    font-size: 13px !important;
  }

  /* --- PDP: Quantity label --- */
  .quantity__label,
  .product-form__input label,
  .form__label {
    font-size: 14px !important;
  }

  .quantity__input {
    font-size: 15px !important;
  }

  /* --- PDP: Add to cart button --- */
  .product-form__submit,
  .product-form__submit.button {
    font-size: 14px !important;
    letter-spacing: 0.12em !important;
    padding: 14px 24px !important;
  }

  .shopify-payment-button__button--unbranded {
    font-size: 14px !important;
  }

  /* --- PDP: Description --- */
  .product__description,
  .product__description p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  /* --- PDP: Share button --- */
  .share-button,
  .share-button span {
    font-size: 13px !important;
  }

  /* --- PDP: Accordion --- */
  .product__accordion .accordion__title {
    font-size: 16px !important;
  }

  .accordion__content,
  .accordion__content p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  /* --- PDP: Installments --- */
  .installment,
  .installment span {
    font-size: 13px !important;
  }

  /* --- Collection Grid: Card titles --- */
  .card__heading,
  .card__heading a,
  .card__heading.h5,
  .card__heading.h5 a {
    font-size: 14px !important;
    margin-top: 0.6rem !important;
  }

  /* --- Collection Grid: Card vendor --- */
  .card__information .caption-with-letter-spacing,
  .card-information .caption-with-letter-spacing {
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
  }

  /* --- Collection Grid: Card prices --- */
  .price-item,
  .price .money,
  .price-item--regular,
  .price-item--sale,
  .price-item--last {
    font-size: 15px !important;
  }

  .price--on-sale .price-item--regular,
  s.price-item--regular {
    font-size: 12px !important;
  }

  .price .currency-code {
    font-size: 10px !important;
  }

  /* --- Section headings (e.g. "También de pueden gustar") --- */
  .section-header__title,
  .product-recommendations__heading,
  .related-products__heading,
  h2.h1,
  .collection-hero__title {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  /* --- Collection page title --- */
  .collection .title h1,
  .collection-hero__title.h0 {
    font-size: 28px !important;
  }

  /* --- Badge --- */
  .badge {
    font-size: 10px !important;
    padding: 4px 8px !important;
  }

  /* --- Card spacing --- */
  .card__content {
    padding: 0 !important;
  }

  .card__information {
    padding-top: 0.5rem !important;
  }
}


/* ==========================================================================
   COLLECTION PAGE — Vertical Sidebar Filters (Tria Essence)
   NOTA: html font-size = 10px en Dawn, así que 1rem = 10px.
   Usamos PX para garantizar tamaños legibles.
   ========================================================================== */

/* --- Layout general --- */
.facets-vertical {
  gap: 30px !important;
  align-items: flex-start !important;
}

.facets-vertical .facets-wrapper {
  padding-right: 25px !important;
  border-right: 1px solid rgba(77, 15, 52, 0.08) !important;
}

/* --- Sidebar width --- */
.facets__form-vertical {
  width: 260px !important;
  flex-shrink: 0 !important;
}

/* Active facets desktop wrapper */
.active-facets-desktop {
  margin-bottom: 10px !important;
}

.active-facets-vertical-filter {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(77, 15, 52, 0.08) !important;
  margin-bottom: 5px !important;
}

/* Título "Filtrar:" */
h2.facets__heading.facets__heading--vertical,
.facets__heading--vertical {
  font-family: var(--tria-font-heading) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--tria-negro-onix) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* --- Cada grupo de filtros --- */
.facets__disclosure-vertical {
  border-top: 1px solid rgba(77, 15, 52, 0.08) !important;
  border-bottom: none !important;
}

.facets__disclosure-vertical:first-of-type {
  border-top: none !important;
}

/* Encabezado de cada filtro (DISPONIBILIDAD, PRECIO, etc.) */
.facets-vertical .facets__summary.caption-large.focus-offset,
.facets__summary.caption-large,
.facets-vertical .facets__summary {
  font-family: var(--tria-font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--tria-negro-onix) !important;
  padding: 14px 0 !important;
  cursor: pointer !important;
  transition: color 0.3s ease !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

/* Label dentro del summary */
.facets__summary .facets__summary-label,
.facets-vertical .facets__summary .facets__summary-label,
.facets__summary-label {
  font-size: 14px !important;
  font-family: var(--tria-font-body) !important;
  letter-spacing: 0.1em !important;
}

.facets-vertical .facets__summary:hover {
  color: var(--tria-vino-tinto) !important;
}

/* Flecha/caret */
.facets-vertical .facets__summary .icon-caret {
  color: var(--tria-vino-tinto) !important;
  width: 12px !important;
  transition: transform 0.3s var(--tria-ease) !important;
}

/* --- Checkboxes --- */
.facets-vertical .facet-checkbox,
.facets-vertical .facets__label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 7px 0 !important;
  font-family: var(--tria-font-body) !important;
  font-size: 14px !important;
  color: var(--tria-negro-onix) !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  transition: color 0.3s ease !important;
  line-height: 1.3 !important;
}

.facets-vertical .facet-checkbox:hover,
.facets-vertical .facets__label:hover {
  color: var(--tria-vino-tinto) !important;
}

/* Checkbox: ocultar el input (position absolute) y estilizar solo el SVG */
.facets-vertical .facet-checkbox input[type='checkbox'],
.facets-vertical .facets__label input[type='checkbox'] {
  opacity: 0 !important;
  position: absolute !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  cursor: pointer !important;
  z-index: 1 !important;
}

/* SVG checkbox icon — el visual real */
.facets-vertical .facet-checkbox > svg,
.facets-vertical .facets__label > svg {
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
}

/* Rect dentro del SVG — el borde del checkbox */
.facets-vertical .facet-checkbox > svg rect,
.facets-vertical .facets__label > svg rect {
  stroke: rgba(77, 15, 52, 0.3) !important;
  stroke-width: 1 !important;
  fill: transparent !important;
  rx: 0 !important;
  ry: 0 !important;
}

/* Checked state — el SVG-wrapper contiene el checkmark */
.facets-vertical .facet-checkbox input[type='checkbox']:checked + svg rect,
.facets-vertical .facets__label input[type='checkbox']:checked + svg rect {
  fill: var(--tria-vino-tinto) !important;
  stroke: var(--tria-vino-tinto) !important;
}

/* Conteo de productos por filtro */
.facets-vertical .facet-checkbox .facets__count,
.facets-vertical .facets__label .facets__count {
  font-size: 12px !important;
  color: var(--tria-gris-perla) !important;
  margin-left: 2px !important;
}

/* Items del listado de filtros */
.facets-vertical .facets__item,
.facets-vertical .list-menu__item {
  padding: 0 !important;
  margin: 0 !important;
}

/* --- Filtro de precio --- */
.facets-vertical .facets__price,
.facets-vertical price-range {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 0 !important;
  flex-wrap: nowrap !important;
}

/* Hide "El precio más alto es $X" text — not needed with range slider */
.facets-vertical .facets__price .field-currency,
price-range .field-currency,
.facets__header-vertical .facets__selected,
.mobile-facets__info {
  display: none !important;
}

.facets-vertical .facets__price .field {
  border: 1px solid rgba(77, 15, 52, 0.15) !important;
  border-radius: 0 !important;
  flex: 1 !important;
  min-width: 0 !important;
  position: relative !important;
}

.facets-vertical .facets__price .field .field__input,
.facets-vertical price-range .field .field__input,
price-range.facets__price .field .field__input {
  font-family: var(--tria-font-body) !important;
  font-size: 14px !important;
  color: var(--tria-negro-onix) !important;
  padding: 10px 12px !important;
  width: 100% !important;
  height: 40px !important;
  box-sizing: border-box !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
}

/* Ocultar labels flotantes "De"/"Para" — se enciman sobre el texto del input */
.facets-vertical .facets__price .field .field__label,
.facets__price .field .field__label,
.facets__price .field__label {
  display: none !important;
}

/* Texto "El precio más alto es..." */
.facets-vertical .facets__header-vertical,
.facets-vertical .facets__header {
  font-family: var(--tria-font-body) !important;
  font-size: 13px !important;
  color: var(--tria-gris-perla) !important;
  margin-bottom: 10px !important;
  line-height: 1.4 !important;
}

/* --- Filtros activos (pills) --- */
/* SOLO desktop — NO tocar display de .active-facets-mobile */
.facets-vertical .active-facets.active-facets-desktop {
  margin-bottom: 15px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}

/* Forzar que la mobile se mantenga oculta en desktop */
.active-facets.active-facets-mobile.medium-hide {
  display: none !important;
}

/* Pills de filtros activos — NO border en el <a>; Dawn pone box-shadow en el inner span */
.active-facets-desktop facet-remove a,
.active-facets-desktop .active-facets__button,
.facets-vertical .active-facets-desktop a:not(.active-facets__button-remove) {
  font-family: var(--tria-font-body) !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 4px 0 !important;
  color: var(--tria-negro-onix) !important;
  background: transparent !important;
  transition: all 0.3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Inner span — clean up Dawn's button styles */
.active-facets-desktop span.active-facets__button-inner,
.active-facets-desktop span.active-facets__button-inner.button.button--tertiary {
  text-decoration: none !important;
  padding: 5px 12px !important;
  font-family: var(--tria-font-body) !important;
  font-size: 13px !important;
  color: var(--tria-negro-onix) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: unset !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.active-facets-desktop facet-remove a:hover,
.active-facets-desktop .active-facets__button:hover {
  color: var(--tria-vino-tinto) !important;
}

.active-facets-desktop .active-facets__button:hover span.active-facets__button-inner {
  color: var(--tria-vino-tinto) !important;
}

.active-facets-desktop facet-remove a svg,
.active-facets-desktop .active-facets__button svg {
  width: 8px !important;
  height: 8px !important;
  opacity: 0.6 !important;
}

/* Botón "Eliminar todos" — alta especificidad para ganarle al selector general de pills */
.facets-vertical .active-facets.active-facets-desktop a.active-facets__button-remove.underlined-link,
.active-facets-desktop .active-facets-vertical-filter a.active-facets__button-remove,
.facets-vertical .active-facets a.active-facets__button-remove,
a.active-facets__button-remove {
  font-family: var(--tria-font-body) !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--tria-vino-tinto) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  border: none !important;
  padding: 0 !important;
  background: none !important;
  white-space: nowrap !important;
}

/* Botón "Mostrar más" */
.facets-vertical .button--tertiary {
  font-family: var(--tria-font-body) !important;
  font-size: 14px !important;
  letter-spacing: 0.08em !important;
  color: var(--tria-vino-tinto) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  padding: 8px 0 !important;
}

/* --- Sort bar (arriba del grid) --- */
.facets-vertical-form {
  border-bottom: 1px solid rgba(77, 15, 52, 0.08) !important;
  padding-bottom: 10px !important;
  margin-bottom: 15px !important;
}

/* Select de ordenar */
.facets-vertical #SortBy,
.facets-vertical .select__select {
  font-family: var(--tria-font-body) !important;
  font-size: 14px !important;
  letter-spacing: 0.05em !important;
  border: 1px solid rgba(77, 15, 52, 0.15) !important;
  border-radius: 0 !important;
  color: var(--tria-negro-onix) !important;
}

/* Conteo de productos */
.facets-vertical .product-count__text,
.product-count-vertical .product-count__text {
  font-family: var(--tria-font-body) !important;
  font-size: 14px !important;
  letter-spacing: 0.05em !important;
  color: var(--tria-gris-perla) !important;
}

/* --- Grid de productos con sidebar --- */
.facets-vertical .product-grid-container {
  flex: 1 !important;
  min-width: 0 !important;
}

/* --- Collection banner sobrio --- */
.collection-hero__title,
.collection-banner__heading {
  font-family: var(--tria-font-heading) !important;
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  color: var(--tria-negro-onix) !important;
}

.collection-hero__description,
.collection-banner__description {
  font-family: var(--tria-font-body) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: var(--tria-negro-onix) !important;
  opacity: 0.7 !important;
  max-width: 600px !important;
}

/* --- Vendor/Marca debajo del nombre de producto --- */
.card__information .caption-with-letter-spacing {
  font-family: var(--tria-font-body) !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--tria-gris-perla) !important;
  margin-bottom: 4px !important;
}

/* --- Override global: filtros, sort, conteo --- */
.facets-container .caption-large,
.facets-container .text-body,
.facets__form .caption-large,
.facets__form .text-body,
.facets__heading,
.facets__summary,
.facets__summary .facets__summary-label,
.facets__summary-label,
.facet-filters .caption-large,
.facet-filters__label,
.facet-filters__label label,
.facets__label,
.facet-checkbox,
#SortBy,
.select__select,
#ProductCountDesktop,
#ProductCount,
.product-count__text {
  font-size: 14px !important;
  font-family: var(--tria-font-body) !important;
  letter-spacing: 0.04em !important;
}

/* Override facets price inputs specifically — alta especificidad */
.facets-vertical .facets__price .field .field__input,
.facets-vertical price-range .field .field__input,
price-range.facets__price .field .field__input,
.facets__price .field__input,
price-range .field__input {
  font-size: 14px !important;
  padding: 10px 12px !important;
  height: 40px !important;
  border: none !important;
  background: transparent !important;
  outline: none !important;
}

/* Focus en el .field wrapper, no en el input */
.facets__price .field:focus-within {
  border-color: var(--tria-vino-tinto) !important;
  box-shadow: 0 0 0 1px rgba(77, 15, 52, 0.15) !important;
}

/* --- Responsive: sidebar en mobile se convierte en drawer --- */
@media (max-width: 749px) {
  .facets-vertical .facets-wrapper {
    border-right: none !important;
    padding-right: 0 !important;
  }

  .mobile-facets__wrapper {
    font-family: var(--tria-font-body) !important;
  }

  .mobile-facets__open {
    font-family: var(--tria-font-body) !important;
    font-size: 14px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    border: 1px solid rgba(77, 15, 52, 0.2) !important;
    border-radius: 0 !important;
    color: var(--tria-negro-onix) !important;
  }

  .mobile-facets__heading {
    font-family: var(--tria-font-heading) !important;
    font-size: 18px !important;
  }

  .mobile-facets__details summary {
    font-family: var(--tria-font-body) !important;
    font-size: 16px !important;
    letter-spacing: 0.05em !important;
  }

  .mobile-facets__apply-button {
    background-color: var(--tria-vino-tinto) !important;
    color: var(--tria-hueso-claro) !important;
    border-radius: 0 !important;
    font-family: var(--tria-font-body) !important;
    font-size: 14px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
  }
}

/* --- Tablet --- */
@media (min-width: 750px) and (max-width: 989px) {
  .facets__form-vertical {
    width: 220px !important;
  }

  .facets-vertical .facets-wrapper {
    padding-right: 15px !important;
  }
}


/* ==========================================================================
   PRICE RANGE SLIDER — Tria Essence (v3 Premium)
   ========================================================================== */

/* Container */
.tria-range-slider {
  position: relative;
  width: 100%;
  padding: 8px 0 0;
}

/* Track — full-width Vino Tinto base with opacity,
   gives the "rail" feel even outside the selected range */
.tria-range-slider__track {
  position: relative;
  width: 100%;
  height: 3px;
  background: var(--tria-vino-tinto);
  opacity: 1;
  border-radius: 0;
}

/* Inactive portions (left of min, right of max) get a muted look
   via the track background. The fill is the ACTIVE range. */
.tria-range-slider__track::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(77, 15, 52, 0.15);
  border-radius: 0;
  z-index: 0;
}

/* Fill bar — the selected range portion, solid Vino Tinto */
.tria-range-slider__fill {
  position: absolute;
  height: 100%;
  background-color: var(--tria-vino-tinto);
  border-radius: 0;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 1;
}

/* Range inputs — 30px tall hit area centered on 3px track */
.tria-range-slider__input {
  position: absolute;
  top: -13px;
  left: 0;
  width: 100%;
  height: 30px;
  margin: 0;
  padding: 0;
  background: transparent;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  z-index: 3;
}

.tria-range-slider__input--min { z-index: 4; }
.tria-range-slider__input--max { z-index: 3; }

/* Thumb — Webkit (Chrome, Safari, Edge)
   Elegant diamond-esque circle with Vino Tinto + white ring */
.tria-range-slider__input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--tria-vino-tinto);
  border: 2.5px solid var(--tria-hueso-claro);
  box-shadow:
    0 0 0 1px rgba(77, 15, 52, 0.2),
    0 2px 6px rgba(77, 15, 52, 0.25);
  cursor: grab;
  pointer-events: all;
  position: relative;
  z-index: 5;
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              box-shadow 0.2s ease;
}

.tria-range-slider__input::-webkit-slider-thumb:hover {
  transform: scale(1.2);
  box-shadow:
    0 0 0 1px rgba(77, 15, 52, 0.3),
    0 3px 10px rgba(77, 15, 52, 0.35);
}

.tria-range-slider__input::-webkit-slider-thumb:active {
  cursor: grabbing;
  transform: scale(1.3);
  box-shadow:
    0 0 0 2px rgba(77, 15, 52, 0.2),
    0 4px 12px rgba(77, 15, 52, 0.4);
}

/* Runnable track — invisible, just for sizing */
.tria-range-slider__input::-webkit-slider-runnable-track {
  height: 3px;
  background: transparent;
  border: none;
}

/* Thumb — Firefox */
.tria-range-slider__input::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--tria-vino-tinto);
  border: 2.5px solid var(--tria-hueso-claro);
  box-shadow:
    0 0 0 1px rgba(77, 15, 52, 0.2),
    0 2px 6px rgba(77, 15, 52, 0.25);
  cursor: grab;
  pointer-events: all;
}

.tria-range-slider__input::-moz-range-thumb:hover {
  transform: scale(1.2);
}

.tria-range-slider__input::-moz-range-track {
  background: transparent;
  border: none;
  height: 3px;
}

/* Price labels — refined typography */
.tria-range-slider__values {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 14px;
  font-family: var(--tria-font-body);
  font-size: 13px;
  color: var(--tria-negro-onix);
  letter-spacing: 0.03em;
}

.tria-range-slider__value--min,
.tria-range-slider__value--max {
  font-variant-numeric: tabular-nums;
}

.tria-range-slider__sep {
  color: var(--tria-gris-perla);
  font-size: 11px;
  opacity: 0.6;
}

/* Hide the old price container (field-currency, .field wrappers) */
price-range.facets__price > .field-currency,
price-range.facets__price > .field {
  display: none !important;
}

/* price-range now only shows the slider */
price-range.facets__price {
  display: block !important;
  padding: 0 !important;
}

/* Hide the hidden inputs' labels too */
.tria-price-input--hidden,
.tria-price-input--hidden + .field__label {
  display: none !important;
}


/* Focus sutil en inputs — no el borde negro grueso del browser */
.field__input:focus,
input.field__input:focus,
.facets__price .field__input:focus {
  outline: none !important;
  border-color: var(--tria-vino-tinto) !important;
  box-shadow: 0 0 0 1px rgba(77, 15, 52, 0.2) !important;
}

/* ==========================================================================
   GLOBAL TEXT SIZE FIX — PX units (1rem = 10px en este tema)
   ========================================================================== */

/* --- Inputs y campos de formulario --- */
.field__input,
input.field__input,
textarea.field__input,
select.field__input,
.form__input,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea,
select {
  font-family: var(--tria-font-body) !important;
  font-size: 16px !important;
  color: var(--tria-negro-onix) !important;
  border-radius: 0 !important;
  border: 1px solid rgba(77, 15, 52, 0.15) !important;
}

/* Labels flotantes y estáticas */
.field__label,
.form__label,
label,
.customer label {
  font-family: var(--tria-font-body) !important;
  font-size: 15px !important;
  color: var(--tria-negro-onix) !important;
}

/* Placeholder */
input::placeholder,
textarea::placeholder {
  font-size: 15px !important;
  color: var(--tria-gris-perla) !important;
}

/* --- Captions y textos auxiliares --- */
.caption,
.caption-large,
.caption-with-letter-spacing {
  font-size: 14px !important;
  font-family: var(--tria-font-body) !important;
}

/* --- Breadcrumbs --- */
.breadcrumbs,
.breadcrumbs a,
.breadcrumbs span,
nav.breadcrumb a,
nav.breadcrumb span {
  font-family: var(--tria-font-body) !important;
  font-size: 14px !important;
  letter-spacing: 0.05em !important;
}

/* --- Cart drawer text --- */
.cart-item__name,
.cart-item__name a {
  font-family: var(--tria-font-heading) !important;
  font-size: 16px !important;
}

.cart-item__price,
.cart-item__discounted-prices {
  font-size: 16px !important;
}

.cart-item__quantity,
.quantity__input {
  font-size: 16px !important;
}

.cart__footer .totals__subtotal,
.cart__footer .totals__subtotal-value {
  font-family: var(--tria-font-heading) !important;
  font-size: 18px !important;
}

/* --- Footer — tamaños consistentes --- */
.footer a,
.footer li,
.footer p {
  font-size: 15px !important;
}

.footer h2,
.footer__content-top h2 {
  font-size: 17px !important;
}


/* ==========================================================================
   QUICK ADD BUTTON — Aparece en hover sobre la card
   ========================================================================== */

/* Esconder por defecto, mostrar en hover */
.card-wrapper .quick-add {
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition: opacity 0.4s var(--tria-ease), transform 0.4s var(--tria-ease) !important;
  position: relative !important;
  z-index: 2 !important;
}

.card-wrapper:hover .quick-add {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Estilo del botón quick-add */
.quick-add__submit,
.quick-add__submit.button {
  background-color: var(--tria-vino-tinto) !important;
  color: var(--tria-hueso-claro) !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: var(--tria-font-body) !important;
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 12px 20px !important;
  width: 100% !important;
  transition: background-color 0.3s ease !important;
}

.quick-add__submit:hover {
  background-color: var(--tria-negro-onix) !important;
}

.quick-add__submit span {
  color: var(--tria-hueso-claro) !important;
}

.quick-add__submit .icon {
  color: var(--tria-hueso-claro) !important;
}


/* ==========================================================================
   SEARCH — tamaños en PX
   ========================================================================== */

#Search-In-Modal.search__input.field__input {
  font-size: 24px !important;
}

#Search-In-Modal.search__input.field__input::placeholder {
  font-size: 24px !important;
}

.predictive-search__heading.caption-with-letter-spacing {
  font-size: 14px !important;
}

.predictive-search__item-heading.h5 {
  font-size: 18px !important;
}

.predictive-search__item--term {
  font-size: 16px !important;
}

#Search-In-Template.search__input.field__input {
  font-size: 24px !important;
}

#Search-In-Template.search__input.field__input::placeholder {
  font-size: 24px !important;
}

/* ==========================================================================
   SORT-BY SELECT — Estilo premium integrado al tema
   ========================================================================== */

/* Contenedor .select de Dawn — quitar el borde cuadrado default */
.facet-filters__field .select {
  background-color: transparent;
  border: none;
  position: relative;
}

/* El select en sí */
.facet-filters__field .select .select__select,
#SortBy.select__select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: var(--tria-hueso-claro, #F2F0EF);
  border: 1px solid var(--tria-gris-perla, #BAB5BC);
  border-radius: 6px;
  color: var(--tria-negro-onix, #1D1D1D);
  font-family: var(--tria-font-body, 'EB Garamond', serif);
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  padding: 0.8rem 3.2rem 0.8rem 1.4rem;
  cursor: pointer;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  line-height: 1.4;
  min-height: unset;
  height: auto;
}

.facet-filters__field .select .select__select:hover,
#SortBy.select__select:hover {
  border-color: var(--tria-vino-tinto, #4D0F34);
}

.facet-filters__field .select .select__select:focus,
#SortBy.select__select:focus {
  outline: none;
  border-color: var(--tria-vino-tinto, #4D0F34);
  box-shadow: 0 0 0 2px rgba(77, 15, 52, 0.15);
}

/* Flecha custom — reemplazar el SVG de Dawn */
.facet-filters__field .select .icon-caret,
.facet-filters__field .select svg {
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  color: var(--tria-vino-tinto, #4D0F34);
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

.facet-filters__field .select:hover .icon-caret,
.facet-filters__field .select:hover svg {
  opacity: 1;
}

/* Label "Ordenar por:" si existe */
.facet-filters__label {
  font-family: var(--tria-font-body, 'EB Garamond', serif);
  font-size: 1.3rem;
  color: var(--tria-negro-onix, #1D1D1D);
  letter-spacing: 0.04em;
  opacity: 0.7;
}

/* Quitar el doble borde que Dawn pone via outline/box-shadow */
.facet-filters__field .select::after,
.facet-filters__field .select::before {
  display: none !important;
}

/* Product count text */
.facet-filters__field .facets__product-count {
  font-family: var(--tria-font-body, 'EB Garamond', serif);
  font-size: 1.3rem;
  color: var(--tria-negro-onix, #1D1D1D);
  opacity: 0.6;
}

/* Alineación vertical de toda la barra sort + product count */
#FacetSortForm.facets-vertical-form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.facet-filters.sorting {
  align-items: center !important;
}

.product-count-vertical {
  display: flex !important;
  align-items: center !important;
}

.product-count-vertical .product-count__text {
  margin: 0 !important;
  line-height: 1 !important;
}

/* ============================================================
   TRIA FOOTER
   ============================================================ */

/* Row 1: Logo left | Center block (menu + payments) */
.tria-footer__main {
  display: flex;
  align-items: center;
  gap: 3rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid rgba(186, 181, 188, 0.15);
}

/* Logo — left, fixed */
.tria-footer__logo {
  flex-shrink: 0;
}

.footer__logo-link {
  text-decoration: none !important;
  color: inherit !important;
}

.footer__logo-text {
  font-family: var(--tria-font-heading, 'Bodoni Moda', serif);
  font-size: clamp(20px, 2.2vw, 26px);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 400;
  display: block;
  line-height: 1.1;
}

.footer__logo-tagline {
  font-family: var(--tria-font-body, 'EB Garamond', serif);
  font-size: 11px;
  letter-spacing: 0.2em;
  font-style: italic;
  opacity: 0.5;
  display: block;
  margin-top: 2px;
}

/* Center block — menu + payments stacked */
.tria-footer__center {
  flex: 1;
  text-align: center;
}

/* Nav */
.tria-footer__nav {
  margin-bottom: 1.4rem;
}

.tria-footer__nav-heading {
  font-family: var(--tria-font-heading, 'Bodoni Moda', serif) !important;
  font-size: 12px !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin: 0 0 0.8rem 0;
  opacity: 0.8;
}

.tria-footer__nav-list {
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 2.4rem;
  row-gap: 0.4rem;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.tria-footer__nav-link {
  font-family: var(--tria-font-body, 'EB Garamond', serif);
  font-size: 13px;
  letter-spacing: 0.04em;
  color: inherit !important;
  text-decoration: none;
  opacity: 0.55;
  transition: opacity 0.2s ease;
  white-space: nowrap;
}

.tria-footer__nav-link:hover {
  opacity: 1;
}

/* Payments — under menu, subtle separator */
.tria-footer__payments {
  padding-top: 1rem;
  border-top: 1px solid rgba(186, 181, 188, 0.1);
}

.tria-footer__payments-label {
  font-family: var(--tria-font-body, 'EB Garamond', serif);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.4;
  display: block;
  margin-bottom: 0.5rem;
}

.tria-footer__payments .list-payment {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  margin: 0;
  padding: 0;
}

/* Row 2: Copyright + Policies */
.tria-footer__bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem 1rem;
  padding-top: 1.2rem;
}

.tria-footer__bottom .copyright__content {
  font-family: var(--tria-font-body, 'EB Garamond', serif) !important;
  font-size: 11px !important;
  opacity: 0.5;
}


/* Mobile footer */
@media (max-width: 749px) {
  .tria-footer__main {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.6rem;
  }

  .tria-footer__nav-list {
    grid-template-columns: 1fr;
  }

  .footer__logo-text { font-size: 20px; }

  .tria-footer__payments {
    border-top: none;
    padding-top: 0.6rem;
  }
}


/* ==========================================================================
   PDP — TRIA ENHANCEMENTS (Payment icons, Social proof, Tabs, Price savings)
   ========================================================================== */

/* --- Hide shipping tax text on PDP --- */
.product__tax {
  display: none !important;
}

/* --- Share button: icon-only, top-right of product info --- */
.product__info-container {
  position: relative !important;
}

.share-button {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 2;
}

.share-button__button {
  padding: 6px !important;
  gap: 0 !important;
  font-size: 0 !important;
  color: var(--tria-negro-onix, #1D1D1D) !important;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

.share-button__button:hover {
  opacity: 1;
}

.share-button__button .svg-wrapper {
  width: 20px !important;
  height: 20px !important;
}

/* Hide the "Compartir" text label */
.share-button__button {
  font-size: 0 !important;
  line-height: 0 !important;
}

.share-button__fallback {
  right: 0 !important;
  left: auto !important;
}

/* --- After buy button: payment icons --- */
.tria-pdp__after-buy {
  margin-top: 1.2rem;
}

.tria-pdp__payment-icons {
  padding: 0.8rem 1rem;
  background: rgba(242, 240, 239, 0.5);
  border-radius: 4px;
}

.tria-pdp__payment-icons .list-payment {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tria-pdp__payment-icons .list-payment__item {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tria-pdp__payment-icons .icon {
  width: 38px;
  height: 24px;
  display: block;
}

/* --- Price savings --- */
.tria-price__savings {
  font-family: var(--tria-font-body, 'EB Garamond', serif);
  font-size: 15px;
  color: #2e7d32;
  font-weight: 600;
  margin-left: 0.4rem;
  white-space: nowrap;
}

/* Reorder price__sale to show sale price first, then compare */
.price--on-sale .price__sale {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
}

/* --- SKU inline --- */
.product__sku {
  font-family: var(--tria-font-body, 'EB Garamond', serif) !important;
  font-size: 13px !important;
  opacity: 0.5;
  letter-spacing: 0.05em;
  margin-bottom: 0.3rem !important;
}

/* --- Description full-width below grid --- */
.tria-pdp__description-full {
  margin-top: 3rem;
}

.tria-pdp__desc-header {
  border-bottom: 2px solid rgba(77, 15, 52, 0.08);
  margin-bottom: 1.5rem;
}

.tria-pdp__desc-tab {
  display: inline-block;
  font-family: var(--tria-font-body, 'EB Garamond', serif);
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 1rem 1.8rem;
  margin-bottom: -2px;
  border-bottom: 2px solid var(--tria-vino-tinto, #4D0F34);
  color: var(--tria-vino-tinto, #4D0F34);
  font-weight: 600;
}

.tria-pdp__description-full .product__description {
  font-size: 16px !important;
  line-height: 1.75 !important;
  max-width: 100%;
}

/* --- Mobile PDP enhancements --- */
@media (max-width: 749px) {
  .tria-pdp__social-proof {
    font-size: 12px;
  }

  .tria-pdp__payment-icons {
    padding: 0.6rem 0.8rem;
  }

  .tria-pdp__payment-icons .icon {
    width: 32px;
    height: 20px;
  }

  .tria-price__savings {
    font-size: 12px;
    display: block;
    margin-left: 0;
    margin-top: 0.2rem;
  }

  .tria-pdp__tab-btn {
    font-size: 13px;
    padding: 0.8rem 1.2rem;
  }

  .tria-pdp__tab-content .product__description {
    font-size: 14px !important;
  }

  .product__sku {
    font-size: 11px !important;
  }

  .share-button {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
  }

  .tria-pdp__description-full {
    margin-top: 2rem;
  }

  .tria-pdp__desc-tab {
    font-size: 13px;
    padding: 0.8rem 1.2rem;
  }

  .tria-pdp__description-full .product__description {
    font-size: 14px !important;
  }
}