/** Shopify CDN: Minification failed

Line 801:40 Unexpected "\\nhtml"

**/
/* Vipejar Site V2 — shared visual system, draft 2026-08-05 */
:root {
  --vps-ink: #201b18;
  --vps-ink-soft: #4f4741;
  --vps-paper: #f7f2e9;
  --vps-surface: #fffdf9;
  --vps-cream: #eee5d8;
  --vps-wine: #6f1828;
  --vps-gold: #b78a43;
  --vps-gold-text: #78551f;
  --vps-gold-on-dark: #d8b56b;
  --vps-line: rgba(32, 27, 24, 0.16);
  --vps-display: Georgia, "Times New Roman", serif;
  --vps-radius: 2px;
}

html {
  background: var(--vps-paper);
}

body {
  background: var(--vps-paper);
  color: var(--vps-ink);
}

body.template-collection main,
body.template-search main,
body.template-product main,
body.template-cart main,
body.template-page main,
body.template-article main,
body.template-blog main,
body.template-customers-login main,
body.template-customers-register main,
body.template-customers-account main {
  background: var(--vps-paper) !important;
}

/* One header on every customer-facing page. */
#shopify-section-header {
  position: relative;
  z-index: 60;
  background: rgba(247, 242, 233, 0.98) !important;
  box-shadow: 0 1px 0 var(--vps-line) !important;
}

#shopify-section-header .header__line-additional {
  display: none !important;
}

#shopify-section-header .header__line-top {
  min-height: 76px !important;
}

#shopify-section-header .header__line-bottom {
  min-height: 44px !important;
  border-top: 1px solid rgba(32, 27, 24, 0.08);
}

#shopify-section-header .header__logo {
  min-width: 138px;
}

#shopify-section-header .header__logo img,
#shopify-section-header .header__logo svg {
  width: auto !important;
  max-width: 146px !important;
  max-height: 58px !important;
  object-fit: contain;
}

#shopify-section-header .menu:not(.menu--vertical) .menu__panel > .menu__item > a {
  padding: 13px 10px !important;
  color: var(--vps-ink) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}

#shopify-section-header input,
#shopify-section-header button,
#shopify-section-header .btn {
  border-radius: var(--vps-radius) !important;
}

/* Shared editorial scale. */
body.template-collection main h1,
body.template-search main h1,
body.template-product main h1,
body.template-cart main h1,
body.template-page main h1,
body.template-article main h1,
body.template-blog main h1,
body.template-page main h2,
body.template-article main h2,
body.template-cart main h2 {
  color: var(--vps-ink);
  letter-spacing: -0.025em !important;
}

body.template-collection main h1,
body.template-search main h1,
body.template-product .product-page-info h1,
body.template-cart main h1,
.vm-hero h1,
.vf-hero h1,
.ve-hero h1,
.vp-restauracion-page h1,
.vp-restauracion-page h2,
.vf-faqs h1 {
  font-family: var(--vps-display) !important;
  font-weight: 400 !important;
}

.vm-hero h1,
.vf-hero h1,
.ve-hero h1,
.vp-restauracion-page h2,
.vf-faqs h1 {
  font-size: clamp(42px, 5.2vw, 68px) !important;
  line-height: 0.98 !important;
}

/* Remove legacy page titles when the custom page already owns its H1. */
body#faqs #MainContent > .container > h1.h3:first-child {
  display: none !important;
}

/* Contact and utility pages belong to the same editorial family. */
body#contacto #MainContent .rte h1,
body.template-page:has(#contact_form) #MainContent .rte h1,
body.template-404 #MainContent h1 {
  font-family: var(--vps-display) !important;
  font-size: clamp(40px, 4.8vw, 62px) !important;
  font-weight: 400 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.025em !important;
}

body#contacto #MainContent .rte h2,
body.template-page:has(#contact_form) #MainContent .rte h2 {
  font-family: var(--vps-display) !important;
  font-weight: 400 !important;
  letter-spacing: -0.015em !important;
}

.vm-visual-story h2,
.vm-booking h2,
.vf-page h2,
.ve-page h2,
.vp-restauracion-page h2,
.vf-faqs h2 {
  font-family: var(--vps-display) !important;
  font-size: clamp(30px, 3.3vw, 44px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
}

/* Buttons and controls share the same proportions. */
body:not(.template-index) main .btn,
body:not(.template-index) main button[type="submit"],
body:not(.template-index) main input[type="submit"],
.vm-actions a,
.vf-actions a,
.ve-actions a,
.vp-restauracion-button {
  min-height: 48px;
  border-radius: var(--vps-radius) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase;
}

body:not(.template-index) main .btn--secondary,
body:not(.template-index) main button[name="add"],
body:not(.template-index) main button[name="checkout"] {
  border-color: var(--vps-ink) !important;
  background: var(--vps-ink) !important;
  color: #fff !important;
}

body:not(.template-index) main .btn:hover,
body:not(.template-index) main .btn:focus-visible,
body:not(.template-index) main button[type="submit"]:hover,
body:not(.template-index) main button[type="submit"]:focus-visible {
  border-color: var(--vps-wine) !important;
  background: var(--vps-wine) !important;
  color: #fff !important;
}

/* Catalogue: quieter hero and product cards that match the Home. */
body.template-collection .vt-shop-head,
body.template-search .vt-shop-head,
body.template-collection .collection-head,
body.template-search .collection-head {
  background: linear-gradient(108deg, #211a17 0%, #4b3c38 100%) !important;
}

body.template-collection .vt-shop-head__title,
body.template-search .vt-shop-head__title {
  font-family: var(--vps-display) !important;
  font-size: clamp(42px, 5vw, 66px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

/* The legacy fallback intro is injected outside <main>; keep all of its copy
   on the dark catalogue surface. */
html body.template-collection .vp-collection-fallback-intro > span {
  display: block;
  max-width: 590px;
  color: rgba(255, 255, 255, 0.82) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.82) !important;
  font-size: 16px;
  line-height: 1.6;
}

.vp-winter-sort {
  padding-top: 22px !important;
}

.vp-winter-sort select {
  border-color: var(--vps-line) !important;
  border-radius: var(--vps-radius) !important;
  background: var(--vps-surface) !important;
}

html body.template-collection.template-collection [data-js-product].product-collection,
html body.template-search.template-search [data-js-product].product-collection {
  border: 1px solid var(--vps-line) !important;
  border-radius: var(--vps-radius) !important;
  background: var(--vps-surface) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition: border-color 180ms ease, transform 180ms ease !important;
}

html body.template-collection.template-collection [data-js-product].product-collection:hover,
html body.template-search.template-search [data-js-product].product-collection:hover {
  border-color: rgba(32, 27, 24, 0.34) !important;
  transform: translateY(-2px);
}

html body.template-collection.template-collection [data-js-product] .product-collection__image,
html body.template-collection.template-collection [data-js-product] .product-collection__image-wrapper,
html body.template-collection.template-collection [data-js-product] .rimage,
html body.template-search.template-search [data-js-product] .product-collection__image,
html body.template-search.template-search [data-js-product] .product-collection__image-wrapper,
html body.template-search.template-search [data-js-product] .rimage {
  background: var(--vps-cream) !important;
}

html body.template-collection.template-collection [data-js-product] .product-collection__content,
html body.template-search.template-search [data-js-product] .product-collection__content {
  background: var(--vps-surface) !important;
}

html body.template-collection.template-collection [data-js-product] .product-collection__title,
html body.template-collection.template-collection [data-js-product] h2,
html body.template-collection.template-collection [data-js-product] h3,
html body.template-search.template-search [data-js-product] .product-collection__title,
html body.template-search.template-search [data-js-product] h2,
html body.template-search.template-search [data-js-product] h3 {
  color: var(--vps-ink) !important;
  font-family: inherit !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

/* Product: editorial title, warm image plane and fewer floating cards. */
body.template-product .product-page-gallery,
body.template-product .product-page-info {
  border: 1px solid var(--vps-line) !important;
  border-radius: var(--vps-radius) !important;
  box-shadow: none !important;
}

body.template-product .product-page-gallery {
  background: var(--vps-cream) !important;
}

body.template-product .product-page-info {
  background: var(--vps-surface) !important;
}

body.template-product .product-page-info__title h1,
body.template-product .product-page-info h1 {
  font-size: clamp(36px, 3.8vw, 54px) !important;
  line-height: 1.02 !important;
}

body.template-product .product-page-info__price,
body.template-product .product-page-info__price [class*="price"] {
  color: var(--vps-wine) !important;
  font-family: var(--vps-display) !important;
}

body.template-product .vp-product-guidance,
body.template-product .vp-winter-buy-confidence,
body.template-product .vp-product-recommendations__card {
  border-color: var(--vps-line) !important;
  border-radius: var(--vps-radius) !important;
  background: var(--vps-surface) !important;
  box-shadow: none !important;
}

.vp-product-recommendations__link {
  font-size: 0 !important;
}

.vp-product-recommendations__link::before {
  content: "Ver vino";
  font-size: 11px;
}

html[lang^="en"] .vp-product-recommendations__link::before {
  content: "View wine";
}

.vp-product-recommendations__link::after,
.vm-reel-link::after,
.vp-empty-cart-suggestions__links a::after {
  content: "" !important;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 9px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
}

.vp-empty-cart-suggestions__links a strong::after {
  content: none !important;
  display: none !important;
}

.vp-winter-buy-confidence span::before,
.vp-winter-cart-confidence span::before {
  content: "" !important;
  display: inline-block;
  width: 5px;
  height: 9px;
  margin: 0 8px 1px 2px;
  border-right: 1.5px solid var(--vps-gold);
  border-bottom: 1.5px solid var(--vps-gold);
  transform: rotate(42deg);
}

/* Cart and information pages use the same quiet surfaces. */
body.template-cart .cart,
body.template-cart .vp-empty-cart-suggestions {
  border-color: var(--vps-line) !important;
  border-radius: var(--vps-radius) !important;
  background: var(--vps-surface) !important;
  box-shadow: none !important;
}

body.template-cart main h1 {
  font-size: clamp(38px, 4.5vw, 56px) !important;
}

.vp-empty-cart-suggestions h2 {
  font-family: var(--vps-display) !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
}

.vp-empty-cart-suggestions__links a {
  position: relative;
  border-color: var(--vps-line) !important;
  border-radius: var(--vps-radius) !important;
  background: transparent !important;
}

.vp-empty-cart-suggestions__links a::after {
  position: absolute;
  top: 26px;
  right: 24px;
}

.vm-card,
.vm-story-card,
.vm-booking-grid > section,
.vf-card,
.vf-mini-card,
.ve-card,
.ve-sector-card,
.ve-mini-card,
.vp-restauracion-card,
.vp-restauracion-needed,
.vp-restauracion-benefits article,
.vp-restauracion-process,
.vf-faqs__item {
  border-color: var(--vps-line) !important;
  border-radius: var(--vps-radius) !important;
  box-shadow: none !important;
}

.vf-footer {
  background: var(--vps-ink) !important;
}

.vf-footer h2 {
  font-family: var(--vps-display) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
}

@media (max-width: 767px) {
  /* Legacy mobile rules cap editorial sections at viewport - 36px.
     Keep that breathing room balanced instead of leaving it all on the right. */
  html body#maridaje.template-page .vm > section:not(.vm-hero),
  html body#sabores.template-page .vf > section:not(.vf-hero) {
    width: calc(100vw - 36px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body.template-page.template-page main section:not([class*="hero"]):not(.vm-hero):not(.vn-hero):not(.vf-hero):not(.vr-hero):not(.ve-hero),
  html body.template-article.template-article#cata-de-vinos-en-cartagena-sala-de-catas-vipejar .vm > section:not(.vm-hero) {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #shopify-section-header,
  #shopify-section-header #header,
  #shopify-section-header .header__content,
  #shopify-section-header .header__line-top {
    height: 68px !important;
    min-height: 68px !important;
  }

  #shopify-section-header .header__line-bottom {
    min-height: 0 !important;
  }

  #shopify-section-header .header__logo {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 68px !important;
    flex: 0 0 112px !important;
  }

  #shopify-section-header .header__logo img,
  #shopify-section-header .header__logo svg {
    width: 112px !important;
    max-width: 112px !important;
    max-height: 56px !important;
  }

  #shopify-section-header .header__sidebar > .ml-25 {
    margin-left: 16px !important;
  }

  body.template-collection .vt-shop-head,
  body.template-search .vt-shop-head {
    padding-top: 72px !important;
    padding-bottom: 68px !important;
  }

  body.template-collection .vt-shop-head__title,
  body.template-search .vt-shop-head__title {
    font-size: 42px !important;
    line-height: 1.02 !important;
  }

  html body.template-collection.template-collection [data-js-product].product-collection,
  html body.template-search.template-search [data-js-product].product-collection {
    border-radius: var(--vps-radius) !important;
    box-shadow: none !important;
  }

  body.template-product .product-page-gallery,
  body.template-product .product-page-info {
    border-radius: var(--vps-radius) !important;
    box-shadow: none !important;
  }

  body.template-product .product-page-info__title h1,
  body.template-product .product-page-info h1 {
    font-size: 34px !important;
    line-height: 1.04 !important;
  }

  body.template-cart main h1 {
    font-size: 38px !important;
  }

  .vm-hero h1,
  .vf-hero h1,
  .ve-hero h1,
  .vp-restauracion-page h2,
  .vf-faqs h1 {
    font-size: 40px !important;
    line-height: 1.02 !important;
  }

  .vm-visual-story h2,
  .vm-booking h2,
  .vf-page h2,
  .ve-page h2,
  .vp-restauracion-page h2,
  .vf-faqs h2 {
    font-size: 31px !important;
  }

  .vp-empty-cart-suggestions h2 {
    font-size: 31px !important;
  }

  body#contacto #MainContent .rte h1,
  body.template-page:has(#contact_form) #MainContent .rte h1,
  body.template-404 #MainContent h1 {
    font-size: 40px !important;
  }

  .vf-footer h2 {
    font-size: 29px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Contrast pass — preserve the warm palette while keeping small copy legible. */
html body.template-collection .vt-shop-head .vt-shop-head__eyebrow,
html body.template-search .vt-shop-head .vt-shop-head__eyebrow {
  color: var(--vps-gold-on-dark) !important;
  -webkit-text-fill-color: var(--vps-gold-on-dark) !important;
}

html body.template-collection [data-js-product] .btn .btn__text,
html body.template-collection [data-js-product] button .btn__text,
html body.template-search [data-js-product] .btn .btn__text,
html body.template-search [data-js-product] button .btn__text {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html body[class*="template-"] .vm-card > p:first-child,
html body[class*="template-"] .vm-mini-card > p:first-child,
html body[class*="template-"] .vf-card > p:first-child,
html body[class*="template-"] .vf-mini-card > p:first-child,
html body[class*="template-"] .vf-flavour-visual > div > p:first-child,
html body[class*="template-"] .ve-card > p:first-child,
html body[class*="template-"] .ve-mini-card > p:first-child,
html body[class*="template-"] .ve-process-grid > div > p:first-child,
html body.template-cart .vp-empty-cart-suggestions__eyebrow {
  color: var(--vps-gold-text) !important;
  -webkit-text-fill-color: var(--vps-gold-text) !important;
}

html body[class*="template-"] .vm-card[style*="background:#2f2722"] > p:first-child,
html body[class*="template-"] .vf-card[style*="background:#2f2722"] > p:first-child,
html body[class*="template-"] .vf-flavour-visual > div[style*="background:#2f2722"] > p:first-child,
html body[class*="template-"] .ve-card[style*="background:#2f2722"] > p:first-child,
html body[class*="template-"] .ve-process-grid > div[style*="background:#2f2722"] > p:first-child {
  color: var(--vps-gold-on-dark) !important;
  -webkit-text-fill-color: var(--vps-gold-on-dark) !important;
}

.vf-faqs__intro h1 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.template-product .tabs__content.rte,
body.template-product .tabs__content.rte p,
body.template-product .product-page-info__payments label {
  color: var(--vps-ink-soft) !important;
  -webkit-text-fill-color: var(--vps-ink-soft) !important;
}

body#contacto #MainContent .rte p,
body.template-page:has(#contact_form) #MainContent .rte p,
body.template-blog main p.mb-0.font-italic,
body.template-blog main time {
  color: var(--vps-ink-soft) !important;
  -webkit-text-fill-color: var(--vps-ink-soft) !important;
}

.vf-footer__grid a[href^="mailto:"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.vf-footer__grid a[href^="mailto:"][style*="background"] {
  color: #241b16 !important;
  -webkit-text-fill-color: #241b16 !important;
}

.vf-footer p {
  color: #f1ebe4 !important;
  -webkit-text-fill-color: #f1ebe4 !important;
}

html body#contacto #MainContent p.fs-lg {
  color: var(--vps-ink-soft) !important;
  -webkit-text-fill-color: var(--vps-ink-soft) !important;
}

html body#contacto #MainContent .rte [style*="background:#2f2722"] > p:first-child {
  color: var(--vps-gold-on-dark) !important;
  -webkit-text-fill-color: var(--vps-gold-on-dark) !important;
}

html body#contacto #MainContent .rte [style*="background:#2f2722"] > p:not(:first-child) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Final legibility pass — solid text colors instead of translucent copy. */
:root {
  --vps-ink-soft: #403833;
  --vps-copy-on-dark: #f7f2e9;
}

/* Dark photographic heroes: keep supporting copy as crisp as the headings. */
html body.template-collection .vt-shop-head__copy,
html body#maridaje .vm-hero p:not(:first-child),
html body.template-article#cata-de-vinos-en-cartagena-sala-de-catas-vipejar .vm-hero p:not(:first-child),
html body#restauracion .vp-restauracion-panel .vp-restauracion-lead,
html body#restauracion .vp-restauracion-panel li,
html body.template-index .vp2-hero__lead,
html body.template-index .vp2-hero__scroll,
html body.template-index .vp2-paths__intro p:last-child,
html body.template-index .vp2-path__copy,
html body.template-index .vp2-editorial__copy {
  color: #f7f2e9 !important;
  -webkit-text-fill-color: #f7f2e9 !important;
  opacity: 1 !important;
}

/* Text inside the dark editorial cards was technically compliant but too
   subdued on real screens. Make it fully opaque and consistently warm-white. */
html body[class*="template-"] [style*="#2f2722"] p:not(:first-child),
html body[class*="template-"] [style*="#2f2722"] li,
html body[class*="template-"] [style*="#2f2722"] small,
html body[class*="template-"] [style*="#2f2722"] span:not([class*="badge"]),
html body[class*="template-"] .vm-card[style*="#2f2722"] p:not(:first-child),
html body[class*="template-"] .vf-card[style*="#2f2722"] p:not(:first-child),
html body[class*="template-"] .ve-card[style*="#2f2722"] p:not(:first-child) {
  color: #f7f2e9 !important;
  -webkit-text-fill-color: #f7f2e9 !important;
  opacity: 1 !important;
}

/* Secondary copy on light editorial surfaces should read as text, not as a
   decorative grey. Dark-card overrides above intentionally come afterwards. */
html body#maridaje .vm > section:not(.vm-hero) p,
html body#sabores .vf > section:not(.vf-hero) p,
html body#regalos-de-vino-para-empresas-y-eventos-vipejar .ve > section:not(.ve-hero) p,
html body#restauracion .vp-restauracion-process p,
html body#restauracion .vp-restauracion-note p,
html body#restauracion .vp-restauracion-benefits p,
html body#restauracion .vp-restauracion-needed p,
html body#restauracion .vp-restauracion-card p,
html body#restauracion .vp-restauracion-entry p,
html body.template-product .tabs__content.rte,
html body.template-product .tabs__content.rte p,
html body.template-cart .vp-empty-cart-suggestions p,
html body.template-blog main p,
html body#contacto #MainContent .rte p {
  color: var(--vps-ink-soft) !important;
  -webkit-text-fill-color: var(--vps-ink-soft) !important;
  opacity: 1 !important;
}

/* Reassert dark-card copy after the light-section rule above. */
html body#maridaje .vm [style*="#2f2722"] p:not(:first-child),
html body#sabores .vf [style*="#2f2722"] p:not(:first-child),
html body#regalos-de-vino-para-empresas-y-eventos-vipejar .ve [style*="#2f2722"] p:not(:first-child) {
  color: #f7f2e9 !important;
  -webkit-text-fill-color: #f7f2e9 !important;
}

/* Product-card metadata and Home utility copy use a darker neutral. */
html body.template-collection [data-js-product] .product-collection__category,
html body.template-collection [data-js-product] .product-collection__vendor,
html body.template-search [data-js-product] .product-collection__category,
html body.template-search [data-js-product] .product-collection__vendor,
html body.template-index .vp2-footnote__item span,
html body.template-index .vp2-products__intro {
  color: var(--vps-ink-soft) !important;
  -webkit-text-fill-color: var(--vps-ink-soft) !important;
  opacity: 1 !important;
}

/* Footer links were the weakest repeated text across the site. */
html body .vf-footer p,
html body .vf-footer li,
html body .vf-footer small,
html body .vf-footer span,
html body .vf-footer a:not([style*="background"]) {
  color: #eee7df !important;
  -webkit-text-fill-color: #eee7df !important;
  opacity: 1 !important;
}

html body .vf-footer h2,
html body .vf-footer h3,
html body .vf-footer h4,
html body .vf-footer strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}

html body .vf-footer a[style*="background"],
html body .vf-footer a[href^="mailto:"][style*="background"] {
  color: #241b16 !important;
  -webkit-text-fill-color: #241b16 !important;
}

/* Newsletter component contrast guard — the global page heading/link rules
   are intentionally stronger than legacy page content, so reassert the
   component's dark-surface palette with equally explicit selectors. */
html body.template-page .vn .vn-hero h1,
html body.template-page .vn .vn-feature h2 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}

html body.template-page .vn .vn-hero .vn-lead,
html body.template-page .vn .vn-card.dark span,
html body.template-page .vn .vn-feature-copy p {
  color: var(--vps-copy-on-dark) !important;
  -webkit-text-fill-color: var(--vps-copy-on-dark) !important;
  opacity: 1 !important;
}

html body.template-page .vn .vn-hero .vn-btn-secondary,
html body.template-page .vn .vn-hero .vn-btn-secondary:link,
html body.template-page .vn .vn-hero .vn-btn-secondary:visited,
html body.template-page .vn .vn-feature-copy .vn-btn,
html body.template-page .vn .vn-feature-copy .vn-btn:link,
html body.template-page .vn .vn-feature-copy .vn-btn:visited,
html body.template-page .vn .vn-card.dark,
html body.template-page .vn .vn-card.dark:link,
html body.template-page .vn .vn-card.dark:visited,
html body.template-page .vn .vn-card.dark strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}

/* Contrast correction 2026-08-11 — reassert labels and contact copy after
   the broad light-surface paragraph rules above. */
html body#maridaje .vm [style*="#2f2722"] > p:first-child,
html body#sabores .vf [style*="#2f2722"] > p:first-child,
html body#regalos-de-vino-para-empresas-y-eventos-vipejar .ve [style*="#2f2722"] > p:first-child {
  color: var(--vps-gold-on-dark) !important;
  -webkit-text-fill-color: var(--vps-gold-on-dark) !important;
  opacity: 1 !important;
}

html body.template-page:has(#contact_form) #MainContent .rte [style*="background:#2f2722"] > p:first-child {
  color: var(--vps-gold-on-dark) !important;
  -webkit-text-fill-color: var(--vps-gold-on-dark) !important;
  opacity: 1 !important;
}

html body.template-page:has(#contact_form) #MainContent .rte [style*="background:#2f2722"] > p:not(:first-child) {
  color: var(--vps-copy-on-dark) !important;
  -webkit-text-fill-color: var(--vps-copy-on-dark) !important;
  opacity: 1 !important;
}

html body.template-page:has(#contact_form) #MainContent p.fs-lg {
  color: var(--vps-ink-soft) !important;
  -webkit-text-fill-color: var(--vps-ink-soft) !important;
  opacity: 1 !important;
}

html body.template-product .tabs__btn {
  color: var(--vps-ink-soft) !important;
  -webkit-text-fill-color: var(--vps-ink-soft) !important;
  opacity: 1 !important;
}
\n/* vpx-own-booking-restore-20260923 */\nhtml body.template-article form[data-futureblink-appointment="true"] .futureblink-booking-button{display:none!important;visibility:hidden!important}html body.template-article #vm-form button[type="submit"]{display:inline-block!important;visibility:visible!important}html body.template-article .pf-46_{display:none!important;visibility:hidden!important}html body.template-article .vm-booking-grid{display:grid!important}html body .vp-chatbot__button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}

/* Vipejar Design System · draft 2026-10-08
   Shared visual language for storefront, editorial content and commerce.
   This block is loaded only by the unpublished review theme. */

:root {
  --vds-ink: #211b18;
  --vds-ink-soft: #514740;
  --vds-paper: #f7f2e9;
  --vds-paper-deep: #eee4d5;
  --vds-surface: #fffdf9;
  --vds-wine: #612536;
  --vds-wine-dark: #431923;
  --vds-gold: #b8893f;
  --vds-gold-light: #d8b56b;
  --vds-line: rgba(33, 27, 24, .16);
  --vds-line-strong: rgba(33, 27, 24, .28);
  --vds-shadow: 0 18px 50px rgba(33, 27, 24, .10);
  --vds-font-display: Georgia, "Times New Roman", serif;
  --vds-font-body: Arimo, Arial, sans-serif;
  --vds-container: 1240px;
  --vds-reading: 760px;
  --vds-radius-sm: 8px;
  --vds-radius-md: 16px;
  --vds-radius-lg: 24px;
  --vds-space-1: 8px;
  --vds-space-2: 16px;
  --vds-space-3: 24px;
  --vds-space-4: 32px;
  --vds-space-5: 48px;
  --vds-space-6: 72px;
  --vds-space-7: 104px;

  /* Compatibility bridge for the previous global system. Keeping these
     variables aligned prevents its high-specificity rules from creating a
     second visual language. */
  --vps-ink: var(--vds-ink);
  --vps-ink-soft: var(--vds-ink-soft);
  --vps-paper: var(--vds-paper);
  --vps-surface: var(--vds-surface);
  --vps-cream: var(--vds-paper-deep);
  --vps-wine: var(--vds-wine);
  --vps-gold: var(--vds-gold);
  --vps-gold-on-dark: var(--vds-gold-light);
  --vps-line: var(--vds-line);
  --vps-display: var(--vds-font-display);
  --vps-radius: var(--vds-radius-md);
}

html { scroll-behavior: smooth; }
body {
  color: var(--vds-ink);
  background: var(--vds-paper);
  font-family: var(--vds-font-body);
  font-size: 15px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
main,
body.template-index main,
body.template-collection main,
body.template-product main,
body.template-cart main,
body.template-page main,
body.template-article main { background: var(--vds-paper); }

h1, h2, h3, h4, h5, h6,
.ff-alternative,
.product-page-info__title,
.product-collection__title,
.product-featured__title {
  color: var(--vds-ink);
  font-family: var(--vds-font-display);
  font-weight: 400;
  letter-spacing: -.025em;
}
h1 { font-size: clamp(2.6rem, 5vw, 4.5rem); line-height: 1.02; }
h2 { font-size: clamp(2rem, 3.6vw, 3.35rem); line-height: 1.08; }
h3 { font-size: clamp(1.55rem, 2.4vw, 2.25rem); line-height: 1.15; }
p, li { color: var(--vds-ink-soft); }
a { text-underline-offset: .22em; }

/* Shared interactive language */
.btn,
a.ve-button,
.vt-shop-head__chip,
.product-page-info__button-add-to-cart .btn,
.cart__sidebar input[type="submit"],
main a[class*="button"] {
  min-height: 46px;
  border-radius: 999px;
  font-family: var(--vds-font-body);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .075em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.btn--secondary,
.product-page-info__button-add-to-cart .btn,
.cart__sidebar .btn--secondary,
main .ve-button:not(.ve-button--light) {
  border: 1px solid var(--vds-wine);
  background: var(--vds-wine);
  color: #fff;
}
.btn--secondary:hover,
.product-page-info__button-add-to-cart .btn:hover,
.cart__sidebar .btn--secondary:hover,
main .ve-button:not(.ve-button--light):hover {
  border-color: var(--vds-wine-dark);
  background: var(--vds-wine-dark);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(67, 25, 35, .18);
}
.btn--text {
  min-height: 40px;
  color: var(--vds-wine);
  text-decoration: underline;
  text-decoration-color: rgba(97, 37, 54, .3);
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(184, 137, 63, .45);
  outline-offset: 3px;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select,
textarea {
  min-height: 46px;
  border: 1px solid var(--vds-line-strong);
  border-radius: var(--vds-radius-sm);
  background: var(--vds-surface);
  color: var(--vds-ink);
}

/* One header on every route */
.header.header--type-5 {
  border-bottom: 1px solid var(--vds-line);
  background: rgba(255, 253, 249, .96);
  color: var(--vds-ink);
  box-shadow: none;
  backdrop-filter: blur(14px);
}
.header.header--type-5 .header__content,
.header.header--type-5 .header__content--desktop,
.header.header--type-5 .header__content--mobile { max-width: var(--vds-container); margin-inline: auto; }
.header.header--type-5 nav a,
.header.header--type-5 .header__btn-cart,
.header.header--type-5 .vp-restauracion-header-link {
  color: var(--vds-ink);
  font-family: var(--vds-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .055em;
}
.header.header--type-5 nav a:hover,
.header.header--type-5 .vp-restauracion-header-link:hover { color: var(--vds-wine); }
.header.header--type-5 .btn.px-20 {
  border-color: var(--vds-line-strong);
  background: transparent;
  color: var(--vds-ink);
}

/* One footer on every route */
.vf-footer {
  border-top: 1px solid rgba(216, 181, 107, .28);
  background: var(--vds-ink);
  color: #fffdf9;
}
.vf-footer h2,
.vf-footer h3,
.vf-footer h4,
.vf-footer p,
.vf-footer a { color: #fffdf9; }
.vf-footer a { text-decoration-color: rgba(216, 181, 107, .5); }

/* Shared page surfaces and editorial rhythm */
.container,
.container-fluid > .row,
.product-page__container,
.collections > .container,
.cart > .container { max-width: var(--vds-container); }
.template-page main > .container,
.template-article main > .container,
.template-cart main > .container { padding-top: var(--vds-space-5); padding-bottom: var(--vds-space-6); }
.rte { max-width: var(--vds-reading); }
.rte h2, .rte h3 { margin-top: 1.65em; margin-bottom: .55em; }
.rte p, .rte li { font-size: 1rem; line-height: 1.75; }
.rte img { border-radius: var(--vds-radius-md); }

/* Collection: same editorial shell and same cards */
.vt-shop-head { background: var(--vds-paper); padding: 34px 24px 26px; }
.vt-shop-head__panel {
  max-width: var(--vds-container);
  margin-inline: auto;
  border: 1px solid rgba(216, 181, 107, .35);
  border-radius: var(--vds-radius-lg);
  background: linear-gradient(130deg, var(--vds-wine-dark), var(--vds-wine));
  box-shadow: var(--vds-shadow);
}
.vt-shop-head__title { color: #fffdf9; font-size: clamp(2.5rem, 4.4vw, 3.9rem); }
.vt-shop-head__eyebrow,
.vt-shop-head__copy { color: rgba(255, 253, 249, .82); }
.vt-shop-head__chip {
  min-height: 38px;
  border-color: rgba(255,255,255,.32);
  background: rgba(255,255,255,.08);
  color: #fff;
}
.vt-shop-head__chip:hover { border-color: var(--vds-gold-light); background: var(--vds-gold-light); color: var(--vds-ink); }
.collection-sidebar,
.collection-head,
.cart__sidebar,
.vp-product-decision,
.product-page__tabs {
  border: 1px solid var(--vds-line);
  border-radius: var(--vds-radius-md);
  background: var(--vds-surface);
}
.collection-sidebar { padding: var(--vds-space-3); }
.product-collection {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--vds-line);
  border-radius: var(--vds-radius-md);
  background: var(--vds-surface);
  box-shadow: 0 8px 28px rgba(33,27,24,.055);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
html body.template-collection [data-js-product].product-collection,
html body.template-search [data-js-product].product-collection,
html body.template-product [data-js-product].product-collection {
  border-radius: var(--vds-radius-md) !important;
}
.product-collection:hover {
  border-color: rgba(184,137,63,.55);
  transform: translateY(-3px);
  box-shadow: var(--vds-shadow);
}
.product-collection__image { background: #f2ede5; }
.product-collection__content { padding: 18px 18px 10px; }
.product-collection__title { font-size: 1.18rem; line-height: 1.25; }
.product-collection__more-info {
  color: var(--vds-wine);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.product-collection__price { color: var(--vds-ink); font-size: 1rem; font-weight: 700; }
.product-collection__buttons-section { margin-top: auto; padding: 0 18px 18px; }
.product-collection__buttons-section .btn { width: 100%; }

/* Product detail: quieter gallery, clearer decision and purchase blocks */
.product-page { margin-top: 0; padding: var(--vds-space-6) 24px; }
.product-page__container { margin-inline: auto; }
.product-page-gallery,
.product-page-info {
  border: 1px solid var(--vds-line);
  border-radius: var(--vds-radius-lg);
  background: var(--vds-surface);
}
.product-page-gallery { padding: var(--vds-space-3); }
.product-page-info { padding: clamp(24px, 3.2vw, 48px); }
.product-page-info__title { margin-bottom: 14px; font-size: clamp(2.25rem, 4vw, 3.65rem); line-height: 1.04; }
.product-page-info__details {
  color: var(--vds-wine);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.product-page-info__price .price { color: var(--vds-ink); font-family: var(--vds-font-display); font-size: 1.8rem; }
.vp-product-decision { margin-block: var(--vds-space-3); padding: var(--vds-space-3); }
.vp-product-decision__title { color: var(--vds-wine); font-family: var(--vds-font-body); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.vp-product-decision__item { border-color: var(--vds-line); }
.product-page-info__quantity { max-width: 160px; }
.product-page-info__button-add-to-cart .btn { min-height: 54px; }
.product-page-info__free-shipping .free-shipping {
  overflow: hidden;
  border: 1px solid var(--vds-line);
  border-radius: var(--vds-radius-sm);
  background: var(--vds-paper-deep);
}
.product-page-info__free-shipping .free-shipping__progress { background: rgba(184, 137, 63, .22) !important; }
.product-page-info__free-shipping .free-shipping__text { color: var(--vds-ink); }
.product-page__tabs { padding: clamp(22px, 3vw, 40px); }

/* Cart: commerce surfaces use the same component system */
.template-cart h1 { margin-top: 0; padding-top: var(--vds-space-5); }
.cart__items,
.cart__sidebar {
  border: 1px solid var(--vds-line);
  border-radius: var(--vds-radius-md);
  background: var(--vds-surface);
}
.cart__items { padding: clamp(18px, 3vw, 32px); }
.cart__sidebar { padding: clamp(22px, 3vw, 32px); box-shadow: 0 12px 34px rgba(33,27,24,.07); }
.cart__head { color: var(--vds-wine); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cart__image { overflow: hidden; border-radius: var(--vds-radius-sm); background: #f2ede5; }
html body.template-cart main .cart .cart__sidebar .pt-15 input.btn.btn--full.btn--secondary[type="submit"][name="checkout"],
html body.template-cart main .cart .cart__sidebar input[name="checkout"] {
  border: 1px solid var(--vds-wine) !important;
  border-radius: 999px !important;
  background: var(--vds-wine) !important;
  color: #fff !important;
}

/* Homepage/content-specific classes inherit the same tokens */
.template-index .ve-button--light {
  border: 1px solid #fffdf9;
  background: #fffdf9;
  color: var(--vds-ink);
}
.template-index .ve-button--light:hover { border-color: var(--vds-gold-light); background: var(--vds-gold-light); }
.template-index .ve-link { font-family: var(--vds-font-body); letter-spacing: .07em; }
.template-index [class*="ve-card"],
.template-article article,
.template-page article { border-color: var(--vds-line); }
body.template-article .vm-card,
body.template-page .vm-card {
  border: 1px solid var(--vds-line) !important;
  border-radius: var(--vds-radius-md) !important;
  background: var(--vds-surface) !important;
}
html body.template-article .vm-card.vm-option,
html body.template-page .vm-card.vm-option { border-radius: var(--vds-radius-md) !important; }
body.template-article .vm-card.active,
body.template-page .vm-card.active { border-color: rgba(184, 137, 63, .58) !important; }

@media (max-width: 991px) {
  :root { --vds-space-6: 54px; --vds-space-7: 76px; }
  .header.header--type-5 { min-height: 72px; }
  .product-page { padding-inline: 18px; }
  .product-page-gallery,
  .product-page-info { border-radius: var(--vds-radius-md); }
  .product-page-info { margin-top: 16px; }
}

@media (max-width: 767px) {
  body { font-size: 15px; }
  .vt-shop-head { padding: 18px 14px; }
  .vt-shop-head__panel { border-radius: var(--vds-radius-md); }
  .vt-shop-head__inner { padding: 34px 22px; }
  .vt-shop-head__chips { gap: 8px; }
  .vt-shop-head__chip { min-height: 42px; padding-inline: 12px; }
  .collection-products .product-collection { margin-bottom: 18px; }
  .product-page { padding-block: 28px 48px; }
  .product-page-gallery { padding: 14px; }
  .product-page-info { padding: 24px 20px; text-align: left; }
  .product-page-info__title,
  .product-page-info__details,
  .product-page-info__price { text-align: left !important; }
  .vp-product-decision { padding: 20px; }
  .cart__items { padding: 16px; }
  .template-cart .cart__items a.mr-20 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
  }
  .cart__sidebar { margin-top: 20px; }
  .template-cart h1 { padding-inline: 16px; font-size: 2.6rem; }
}

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