/* VAVIN Summerbox mobile hero fix 2026-06-17 */
@media (max-width: 767px) {
  .page-id-1007029 .elementor-element-2133efb3 .elementor-swiper,
  .page-id-1007029 .elementor-element-2133efb3 .elementor-slides-wrapper,
  .page-id-1007029 .elementor-element-2133efb3 .swiper,
  .page-id-1007029 .elementor-element-2133efb3 .swiper-wrapper,
  .page-id-1007029 .elementor-element-2133efb3 .swiper-slide {
    height: 180px !important;
  }
  .page-id-1007029 .elementor-element-2133efb3 .swiper-slide-bg {
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-1007029 .elementor-element-2133efb3 .elementor-swiper,
  .page-id-1007029 .elementor-element-2133efb3 .elementor-slides-wrapper,
  .page-id-1007029 .elementor-element-2133efb3 .swiper,
  .page-id-1007029 .elementor-element-2133efb3 .swiper-wrapper,
  .page-id-1007029 .elementor-element-2133efb3 .swiper-slide {
    height: 360px !important;
  }
  .page-id-1007029 .elementor-element-2133efb3 .swiper-slide-bg {
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
  }
}

/* VAVIN Summerbox mobile copy fix 2026-06-17 */
@media (max-width: 767px) {
  .page-id-1007029 .elementor-element-3a544149 h1 {
    font-size: 34px !important;
    line-height: 1.12 !important;
    text-align: left !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
  }
}

/* VAVIN Wineries Elementor */

/* VAVIN Wineries faithful Elementor version.
   This mirrors the live /wineries/ plugin styles and is intended for one Elementor HTML widget. */

.vwp-page {
  --vwp-red: #bd0926;
  --vwp-ink: #252525;
  --vwp-white: #fff;
  --vwp-paper: #f7f4ee;
  --vwp-line: #e2ddd3;
  --vwp-muted: #6c665e;
  --vwp-green: #253c36;
  --vwp-gold: #b89b61;
  color: var(--vwp-ink);
  background: var(--vwp-white);
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}

body:has(.vwp-page) #sub-header.elementor-page-title,
body:has(.vwp-page) .page-header[data-progressive-animation="page-title"],
#sub-header.elementor-page-title {
  display: none;
}

.vwp-page * {
  box-sizing: border-box;
}

.vwp-page a {
  color: inherit;
  text-decoration: none;
}

.vwp-page h1,
.vwp-page h2,
.vwp-page h3,
.vwp-page p {
  margin-top: 0;
}

.vwp-hero {
  min-height: 84vh;
  position: relative;
  display: flex;
  align-items: flex-end;
  background: #1d1d1d;
  background-position: center;
  background-size: cover;
  isolation: isolate;
}

.vwp-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .32) 58%, rgba(0, 0, 0, .08)),
    linear-gradient(0deg, rgba(0, 0, 0, .62), rgba(0, 0, 0, 0) 54%);
}

.vwp-hero__inner,
.vwp-section,
.vwp-wineries {
  width: min(1180px, calc(100% - 40px));
  margin-right: auto;
  margin-left: auto;
}

.vwp-hero__inner {
  padding: 96px 0 84px;
  color: var(--vwp-white);
}

.vwp-kicker,
.vwp-card__eyebrow {
  margin-bottom: 14px;
  color: var(--vwp-red);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.vwp-hero h1,
.vwp-section h2,
.vwp-wineries h2 {
  margin-bottom: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: 0;
}

.vwp-hero h1 {
  max-width: 780px;
  color: var(--vwp-white) !important;
  font-size: clamp(3.4rem, 8vw, 8rem);
}

.vwp-hero__copy {
  max-width: 700px;
  margin: 28px 0 0;
  color: var(--vwp-white) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-style: italic;
  line-height: 1.55;
}

.vwp-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.vwp-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  border: 1px solid currentColor;
  border-radius: 0;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.vwp-button--primary {
  border-color: var(--vwp-red);
  background: var(--vwp-red);
  color: var(--vwp-white);
}

.vwp-button--primary:hover,
.vwp-button--primary:focus-visible {
  border-color: var(--vwp-ink);
  background: var(--vwp-ink);
  color: var(--vwp-white);
}

.vwp-button--outline {
  color: var(--vwp-ink);
}

.vwp-button--outline:hover,
.vwp-button--outline:focus-visible {
  border-color: var(--vwp-red);
  background: var(--vwp-red);
  color: var(--vwp-white);
}

.vwp-wineries {
  padding: clamp(62px, 8vw, 104px) 0 clamp(74px, 9vw, 122px);
}

.vwp-wineries__heading {
  max-width: 760px;
  margin-bottom: 40px;
}

.vwp-wineries__heading h2 + p {
  margin-top: 24px;
}

.vwp-section h2,
.vwp-wineries h2 {
  color: var(--vwp-ink);
  font-size: clamp(2rem, 4vw, 4rem);
}

.vwp-section h2 {
  margin-bottom: 28px;
}

.vwp-section p,
.vwp-wineries__heading p {
  color: var(--vwp-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.06rem;
  font-style: italic;
  line-height: 1.75;
}

.vwp-domain-list {
  display: grid;
  gap: clamp(44px, 7vw, 86px);
}

.vwp-domain-row {
  display: grid;
  grid-template-columns: minmax(280px, 540px) minmax(0, 1fr);
  gap: clamp(28px, 6vw, 78px);
  align-items: center;
}

.vwp-domain-row--reverse {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 540px);
}

.vwp-domain-row--reverse .vwp-domain-row__image {
  order: 2;
}

.vwp-domain-row__image {
  display: block;
  min-height: 520px;
  position: relative;
  overflow: hidden;
  background: var(--vwp-paper);
  opacity: 1;
  transform: translateY(0) scale(1);
}

.vwp-domain-row__image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .24) 42%, rgba(255, 255, 255, 0) 72%);
  opacity: 0;
  transform: translateX(-110%);
  transition: opacity .35s ease, transform .7s ease;
}

.vwp-domain-row__image img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  display: block;
  object-fit: cover;
  transform: scale(1.045);
  transition: transform .85s cubic-bezier(.2, .72, .2, 1), filter .85s ease;
}

.vwp-domain-row:hover .vwp-domain-row__image img {
  filter: saturate(1.08) contrast(1.03);
  transform: scale(1.09);
}

.vwp-domain-row:hover .vwp-domain-row__image::after {
  opacity: 1;
  transform: translateX(110%);
}

.vwp-domain-row__content {
  max-width: 610px;
}

.vwp-domain-row__logo {
  width: min(220px, 70%);
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(12px, 2vw, 20px);
  margin-bottom: 26px;
}

.vwp-domain-row__logo img {
  width: auto;
  max-width: 100%;
  max-height: 86px;
  display: block;
  object-fit: contain;
}

.vwp-domain-row__logo--yves-cuilleron {
  width: min(360px, 82%);
}

.vwp-domain-row__logo--yves-cuilleron .vwp-domain-row__logo-mark {
  width: clamp(44px, 5vw, 70px);
  max-height: none;
  flex: 0 0 auto;
}

.vwp-domain-row__logo--yves-cuilleron .vwp-domain-row__logo-wordmark {
  width: min(280px, 70%);
  max-height: none;
}

.vwp-domain-row__logo--chateau-maligny {
  width: min(260px, 72%);
  min-height: 96px;
}

.vwp-domain-row__logo--chateau-maligny img {
  max-height: 96px;
}

.vwp-domain-row__logo--marquis-de-pomereuil {
  width: min(320px, 78%);
  min-height: 112px;
  margin-bottom: 16px;
}

.vwp-domain-row__logo--marquis-de-pomereuil img {
  width: 100%;
  max-height: 112px;
}

.vwp-domain-row__content h3 {
  margin: 0 0 18px;
  color: var(--vwp-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: 0;
}

.vwp-domain-row__content p {
  color: var(--vwp-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.06rem;
  font-style: italic;
  line-height: 1.75;
}

.vwp-domain-row__region {
  margin-bottom: 22px;
  color: var(--vwp-gold) !important;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif !important;
  font-size: .78rem !important;
  font-style: normal !important;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.4 !important;
  text-transform: uppercase;
}

.vwp-domain-row__content .vwp-button {
  margin-top: 18px;
}

.vwp-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  gap: clamp(34px, 6vw, 82px);
  align-items: center;
  padding: clamp(72px, 9vw, 126px) 0;
}

.vwp-section--reverse {
  grid-template-columns: minmax(320px, 520px) minmax(0, 1fr);
}

.vwp-section__media {
  min-height: 560px;
  background: var(--vwp-paper);
  background-position: center;
  background-size: cover;
}

.vwp-section__media--portrait {
  min-height: 620px;
}

@media (max-width: 980px) {
  .vwp-section,
  .vwp-section--reverse,
  .vwp-domain-row,
  .vwp-domain-row--reverse {
    grid-template-columns: 1fr;
  }

  .vwp-domain-row--reverse .vwp-domain-row__image {
    order: 0;
  }

  .vwp-section__media,
  .vwp-section__media--portrait {
    min-height: 430px;
  }
}

@media (max-width: 640px) {
  .vwp-hero {
    min-height: 78vh;
  }

  .vwp-hero__inner,
  .vwp-section,
  .vwp-wineries {
    width: min(100% - 28px, 1180px);
  }

  .vwp-hero__inner {
    padding: 84px 0 54px;
  }

  .vwp-hero h1 {
    font-size: 3.35rem;
  }

  .vwp-button {
    width: 100%;
  }

  .vwp-section {
    padding: 58px 0;
  }

  .vwp-section__media,
  .vwp-section__media--portrait,
  .vwp-domain-row__image,
  .vwp-domain-row__image img {
    min-height: 330px;
  }

  .vwp-domain-row__logo {
    width: min(190px, 82%);
    min-height: 58px;
    margin-bottom: 20px;
  }

  .vwp-domain-row__logo img {
    max-height: 72px;
  }

  .vwp-domain-row__logo--yves-cuilleron {
    width: min(320px, 92%);
  }

  .vwp-domain-row__logo--yves-cuilleron .vwp-domain-row__logo-mark {
    width: 48px;
  }

  .vwp-domain-row__logo--yves-cuilleron .vwp-domain-row__logo-wordmark {
    width: min(220px, 72%);
  }

  .vwp-domain-row__logo--chateau-maligny {
    width: min(230px, 86%);
    min-height: 82px;
  }

  .vwp-domain-row__logo--chateau-maligny img {
    max-height: 82px;
  }

  .vwp-domain-row__logo--marquis-de-pomereuil {
    width: min(260px, 88%);
    min-height: 92px;
  }

  .vwp-domain-row__logo--marquis-de-pomereuil img {
    max-height: 92px;
  }
}

/* VAVIN July Summer Promotion - Elementor Custom CSS */

body:has(.vsummer) #sub-header.elementor-page-title,
body:has(.vsummer) .page-header[data-progressive-animation="page-title"] {
  display: none !important;
}

.vsummer {
  --vsummer-ink: #26221e;
  --vsummer-muted: #3c342d;
  --vsummer-line: #e6ded1;
  --vsummer-paper: #f8f2e8;
  --vsummer-panel: #fffdf8;
  --vsummer-red: #b20b24;
  --vsummer-red-dark: #850719;
  --vsummer-gold: #c29b50;
  --vsummer-green: #2f4a3b;
  --vsummer-rose: #d87573;
  --vsummer-shadow: 0 20px 46px rgba(38, 34, 30, 0.14);
  color: var(--vsummer-ink);
  background: #fff;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}

.vsummer *,
.vsummer *::before,
.vsummer *::after {
  box-sizing: border-box;
}

.vsummer a {
  color: inherit;
  text-decoration: none;
}

.vsummer h1,
.vsummer h2,
.vsummer h3,
.vsummer p {
  margin-top: 0;
}

.vsummer-inner {
  width: min(1160px, 100%);
  margin: 0 auto;
}

.vsummer-hero {
  min-height: min(780px, 92vh);
  display: flex;
  align-items: end;
  position: relative;
  isolation: isolate;
  padding: clamp(100px, 12vw, 152px) clamp(20px, 5vw, 72px) clamp(44px, 7vw, 90px);
  background:
    linear-gradient(90deg, rgba(25, 18, 14, 0.78), rgba(25, 18, 14, 0.48) 50%, rgba(25, 18, 14, 0.12)),
    var(--vsummer-hero-image) center / cover no-repeat;
}

.vsummer-hero__content {
  width: min(790px, 100%);
  color: #fff;
}

.vsummer-eyebrow,
.vsummer-kicker {
  margin-bottom: 14px;
  color: var(--vsummer-red);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.vsummer-hero .vsummer-eyebrow {
  color: #f4d68a;
}

.vsummer-hero h1,
.vsummer h2,
.vsummer-card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: 0;
}

.vsummer-hero h1 {
  max-width: 820px;
  margin-bottom: 18px;
  color: #fff !important;
  font-size: clamp(3.4rem, 8vw, 8rem);
  line-height: 1.02;
}

.vsummer-lede {
  max-width: 710px;
  margin-bottom: 30px;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.12rem, 2vw, 1.55rem);
  font-style: italic;
  line-height: 1.55;
}

.vsummer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.vsummer-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: var(--vsummer-red);
  color: #fff !important;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.vsummer-button:hover {
  transform: translateY(-1px);
  background: var(--vsummer-red-dark);
  color: #fff !important;
}

.vsummer-button--secondary,
.vsummer-button--light {
  border-color: rgba(255, 255, 255, 0.62);
  background: rgba(255, 255, 255, 0.1);
}

.vsummer-button--light {
  border-color: var(--vsummer-line);
  background: #fff;
  color: var(--vsummer-ink) !important;
}

.vsummer-button--light:hover {
  border-color: var(--vsummer-red);
  background: #fff;
  color: var(--vsummer-red) !important;
}

.vsummer-trust {
  padding: 0 clamp(20px, 5vw, 72px);
  background: #fff;
  border-bottom: 1px solid var(--vsummer-line);
}

.vsummer-trust .vsummer-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--vsummer-line);
}

.vsummer-trust-item {
  min-height: 112px;
  padding: 24px;
  background: #fff;
}

.vsummer-trust-item strong {
  display: block;
  margin-bottom: 8px;
  color: var(--vsummer-red);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.vsummer-trust-item span {
  display: block;
  color: var(--vsummer-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.02rem;
  font-style: italic;
  line-height: 1.55;
}

.vsummer-featured,
.vsummer-products,
.vsummer-finale {
  padding: clamp(50px, 7vw, 88px) clamp(20px, 5vw, 72px);
}

.vsummer-featured {
  background: var(--vsummer-paper);
}

.vsummer-featured-grid,
.vsummer-finale-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}

.vsummer-finale-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
}

.vsummer-media {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 4px;
  object-fit: cover;
  box-shadow: var(--vsummer-shadow);
}

.vsummer-featured-card {
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid var(--vsummer-line);
  border-radius: 4px;
  background: #fff;
  box-shadow: var(--vsummer-shadow);
}

.vsummer h2 {
  margin-bottom: 18px;
  color: var(--vsummer-ink);
  font-size: clamp(2.25rem, 4.8vw, 4.5rem);
  line-height: 1.04;
}

.vsummer-copy,
.vsummer-section-head > p {
  color: var(--vsummer-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.12rem;
  font-style: italic;
  line-height: 1.72;
}

.vsummer-products {
  background: #fff;
}

.vsummer-section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: end;
  margin-bottom: clamp(30px, 4vw, 48px);
}

.vsummer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.vsummer-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid var(--vsummer-line);
  border-radius: 4px;
  background: var(--vsummer-panel);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.vsummer-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--vsummer-shadow);
}

.vsummer-card__image {
  display: grid;
  min-height: 258px;
  place-items: center;
  padding: 22px 16px 12px;
  background:
    linear-gradient(180deg, rgba(248, 242, 232, 0.92), rgba(255, 255, 255, 0.96)),
    radial-gradient(circle at 50% 10%, rgba(194, 155, 80, 0.18), transparent 48%);
}

.vsummer-card__image img {
  display: block;
  width: auto;
  max-width: 82%;
  height: 232px;
  object-fit: contain;
  filter: drop-shadow(0 16px 20px rgba(38, 34, 30, 0.14));
}

.vsummer-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
}

.vsummer-chip {
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}

.vsummer-chip--red {
  background: rgba(178, 11, 36, 0.1);
  color: var(--vsummer-red);
}

.vsummer-chip--white {
  background: rgba(194, 155, 80, 0.16);
  color: #8a6424;
}

.vsummer-chip--rose {
  background: rgba(216, 117, 115, 0.16);
  color: #a84d4b;
}

.vsummer-card h3 {
  margin-bottom: 0;
  color: var(--vsummer-ink);
  font-size: clamp(1.32rem, 1.8vw, 1.78rem);
  line-height: 1.08;
}

.vsummer-card h3 a:hover {
  color: var(--vsummer-red);
}

.vsummer-card p {
  color: var(--vsummer-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.98rem;
  font-style: italic;
  line-height: 1.58;
}

.vsummer-card .vsummer-text-link {
  margin-top: auto;
}

.vsummer-text-link {
  color: var(--vsummer-red);
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.vsummer-text-link:hover {
  color: var(--vsummer-red-dark);
  text-decoration: underline;
}

.vsummer-finale {
  background: linear-gradient(180deg, #fff, var(--vsummer-paper));
}

@media (max-width: 1180px) {
  .vsummer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .vsummer-trust .vsummer-inner,
  .vsummer-featured-grid,
  .vsummer-finale-grid,
  .vsummer-section-head {
    grid-template-columns: 1fr;
  }

  .vsummer-hero {
    min-height: 680px;
  }

  .vsummer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .vsummer-hero {
    min-height: 650px;
    padding-top: 88px;
  }

  .vsummer-hero h1 {
    font-size: clamp(2.85rem, 15vw, 4.5rem);
  }

  .vsummer-grid {
    grid-template-columns: 1fr;
  }

  .vsummer-actions,
  .vsummer-button {
    width: 100%;
  }

  .vsummer-card__image {
    min-height: 300px;
  }

  .vsummer-card__image img {
    height: 270px;
  }
}
/* VAVIN Promo Page - Elementor Custom CSS */

body:has(.vpromo) #sub-header.elementor-page-title,
body:has(.vpromo) .page-header[data-progressive-animation="page-title"] {
  display: none !important;
}

body:has(.vpromo) .vamtam-sticky-header,
body:has(.vpromo) header.elementor-section.vamtam-sticky-header {
  color: #fff !important;
}

body:has(.vpromo) .vamtam-sticky-header .elementor-heading-title,
body:has(.vpromo) .vamtam-sticky-header .elementor-nav-menu a,
body:has(.vpromo) .vamtam-sticky-header .elementor-icon,
body:has(.vpromo) .vamtam-sticky-header svg {
  color: #fff !important;
  fill: #fff !important;
}

.vpromo {
  --vpromo-ink: #252525;
  --vpromo-muted: #342d29;
  --vpromo-line: #e2ddd3;
  --vpromo-paper: #f7f4ee;
  --vpromo-panel: #ffffff;
  --vpromo-wine: #bd0926;
  --vpromo-wine-dark: #8f071d;
  --vpromo-gold: #b89b61;
  --vpromo-green: #253c36;
  --vpromo-shadow: 0 18px 44px rgba(37, 37, 37, 0.12);
  color: var(--vpromo-ink);
  background: #fff;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}

.vpromo *,
.vpromo *::before,
.vpromo *::after {
  box-sizing: border-box;
}

.vpromo a {
  color: inherit;
  text-decoration: none;
}

.vpromo h1,
.vpromo h2,
.vpromo h3,
.vpromo p {
  margin-top: 0;
}

.vpromo-hero {
  min-height: min(760px, 92vh);
  display: flex;
  align-items: end;
  position: relative;
  isolation: isolate;
  padding: clamp(96px, 12vw, 148px) clamp(20px, 5vw, 72px) clamp(42px, 7vw, 88px);
  background:
    linear-gradient(90deg, rgba(18, 15, 14, 0.82), rgba(18, 15, 14, 0.48) 58%, rgba(18, 15, 14, 0.18)),
    var(--vpromo-hero-image, url("https://vavin.tw/wp-content/uploads/2025/06/Entree-resize-768x432.jpg")) center / cover no-repeat;
}

.vpromo-hero__content {
  width: min(780px, 100%);
  color: #fff;
}

.vpromo-eyebrow,
.vpromo-kicker {
  margin-bottom: 14px;
  color: var(--vpromo-wine);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.vpromo-hero .vpromo-eyebrow {
  color: #f0d497;
}

.vpromo-hero h1,
.vpromo h2,
.vpromo-card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: 0;
}

.vpromo-hero h1 {
  max-width: 780px;
  margin-bottom: 20px;
  color: #fff !important;
  font-size: clamp(3.4rem, 8vw, 8rem);
  line-height: 1.04;
}

.vpromo-hero p {
  max-width: 700px;
  margin-bottom: 32px;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-style: italic;
  line-height: 1.55;
}

.vpromo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.vpromo-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: var(--vpromo-wine);
  color: #fff !important;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.vpromo-button:hover {
  transform: translateY(-1px);
  background: var(--vpromo-wine-dark);
  color: #fff !important;
}

.vpromo-button--secondary {
  border-color: rgba(255, 255, 255, 0.58);
  background: rgba(255, 255, 255, 0.08);
  color: #fff !important;
}

.vpromo-button--secondary:hover {
  border-color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.16);
}

.vpromo-section {
  padding: clamp(48px, 7.2vw, 86px) clamp(20px, 5vw, 72px);
  background: var(--vpromo-paper);
}

.vpromo-inner {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.vpromo-trust {
  padding-top: clamp(39px, 5.85vw, 69px);
  padding-bottom: clamp(39px, 5.85vw, 69px);
  background: #fff;
  border-bottom: 1px solid var(--vpromo-line);
}

.vpromo-trust .vpromo-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--vpromo-line);
}

.vpromo-trust-item {
  min-height: 87px;
  padding: 20px;
  background: #fff;
}

.vpromo-trust-item strong {
  display: block;
  margin-bottom: 8px;
  color: var(--vpromo-wine);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.vpromo-trust-item span {
  display: block;
  color: var(--vpromo-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.02rem;
  font-style: italic;
  line-height: 1.55;
}

.vpromo-featured {
  background: var(--vpromo-paper);
}

.vpromo-featured-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}

.vpromo-media {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 4px;
  object-fit: cover;
  box-shadow: var(--vpromo-shadow);
}

.vpromo-featured-card {
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid var(--vpromo-line);
  border-radius: 4px;
  background: #fff;
  box-shadow: var(--vpromo-shadow);
}

.vpromo h2 {
  margin-bottom: 18px;
  color: var(--vpromo-ink);
  font-size: clamp(2.25rem, 4.6vw, 4.4rem);
  line-height: 1.04;
}

.vpromo-featured-card h2 {
  font-size: clamp(2.1rem, 4vw, 4rem);
}

.vpromo-copy {
  color: var(--vpromo-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.12rem;
  font-style: italic;
  line-height: 1.72;
}

.vpromo-grid-section {
  background: #fff;
}

.vpromo-section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: end;
  margin-bottom: clamp(30px, 4vw, 48px);
}

.vpromo-section-head p {
  color: var(--vpromo-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.12rem;
  font-style: italic;
  line-height: 1.7;
}

.vpromo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.vpromo-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid var(--vpromo-line);
  border-radius: 4px;
  background: #fff;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.vpromo-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--vpromo-shadow);
}

.vpromo-card img,
.vpromo-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: #f0ebe4;
}

.vpromo-card__image {
  position: relative;
  overflow: hidden;
  background: #e8e4dc;
}

.vpromo-card__image--soldout img {
  filter: grayscale(100%) contrast(0.86) brightness(0.82);
  opacity: 0.62;
}

.vpromo-card--soldout img {
  filter: grayscale(100%) contrast(0.86) brightness(0.82);
  opacity: 0.62;
}

.vpromo-card__image--soldout::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(37, 37, 37, 0.28);
  pointer-events: none;
}

.vpromo-card__image--soldout span {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%) rotate(-8deg);
  padding: 10px 18px;
  border: 2px solid rgba(255, 255, 255, 0.88);
  border-radius: 3px;
  background: rgba(37, 37, 37, 0.78);
  color: #fff;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(0.9rem, 1.8vw, 1.35rem);
  font-weight: 900;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
}

.vpromo-card--soldout .elementor-widget-image,
.vpromo-card--soldout > .elementor-widget-image {
  position: relative;
}

.vpromo-card--soldout .elementor-widget-image::before,
.vpromo-card--soldout > .elementor-widget-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(37, 37, 37, 0.28);
  pointer-events: none;
}

.vpromo-card--soldout .elementor-widget-image::after,
.vpromo-card--soldout > .elementor-widget-image::after {
  content: "Sold out";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%) rotate(-8deg);
  padding: 10px 18px;
  border: 2px solid rgba(255, 255, 255, 0.88);
  border-radius: 3px;
  background: rgba(37, 37, 37, 0.78);
  color: #fff;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(0.9rem, 1.8vw, 1.35rem);
  font-weight: 900;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
  pointer-events: none;
}

.vpromo-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
}

.vpromo-card h3 {
  margin-bottom: 0;
  color: var(--vpromo-ink);
  font-size: clamp(1.7rem, 2.6vw, 2.45rem);
  line-height: 1.08;
}

.vpromo-card p {
  color: var(--vpromo-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.02rem;
  font-style: italic;
  line-height: 1.68;
}

.vpromo-card .vpromo-text-link {
  margin-top: auto;
}

.vpromo-text-link {
  color: var(--vpromo-wine);
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

.vpromo-text-link:hover {
  color: var(--vpromo-wine-dark);
  text-decoration: underline;
}

.vpromo-status {
  margin-top: auto;
  color: #7c776f;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}

body:has(.vpromo) #main-footer .elementor-element-d0bf9ae {
  min-height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body:has(.vpromo) #main-footer .elementor-element-eb4a87b > .elementor-widget-wrap {
  padding-top: 36px !important;
  padding-bottom: 32px !important;
}

body:has(.vpromo) #main-footer .elementor-widget-theme-site-logo img {
  max-width: 230px !important;
}

body:has(.vpromo) #main-footer .elementor-social-icons-wrapper {
  margin-top: 18px;
  margin-bottom: 16px;
}

body:has(.vpromo) #main-footer .elementor-heading-title {
  color: #fff !important;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.45 !important;
  text-transform: uppercase !important;
}

body:has(.vpromo) .elementor-element-7c2f0615 {
  min-height: auto !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

body:has(.vpromo) .elementor-element-7c2f0615 img {
  max-width: min(980px, 92vw) !important;
  height: auto !important;
}

@media (max-width: 900px) {
  .vpromo-trust .vpromo-inner,
  .vpromo-grid,
  .vpromo-section-head,
  .vpromo-featured-grid {
    grid-template-columns: 1fr;
  }

  .vpromo-hero {
    min-height: 680px;
  }
}

@media (max-width: 620px) {
  .vpromo-hero {
    min-height: 620px;
    padding-top: 88px;
  }

  .vpromo-hero h1 {
    font-size: clamp(2.85rem, 15vw, 4.5rem);
  }

  .vpromo-actions,
  .vpromo-button {
    width: 100%;
  }
}
/* VAVIN x Le Comptoir Cheese Brunch - Elementor Custom CSS */

@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&family=Noto+Sans+TC:wght@400;500;700;800&display=swap");

body:has(.vcheese) #sub-header.elementor-page-title,
body:has(.vcheese) .page-header[data-progressive-animation="page-title"] {
  display: none !important;
}

.vcheese {
  --vcheese-ink: #241f1a;
  --vcheese-muted: #5c5148;
  --vcheese-paper: #f7f0e5;
  --vcheese-panel: #fffdf8;
  --vcheese-line: #e7dccb;
  --vcheese-wine: #8f1028;
  --vcheese-wine-dark: #68091c;
  --vcheese-gold: #c49a45;
  --vcheese-green: #31483b;
  --vcheese-shadow: 0 22px 50px rgba(36, 31, 26, 0.16);
  color: var(--vcheese-ink);
  background: #fffdf8;
  font-family: Montserrat, "Noto Sans TC", "Microsoft JhengHei", "PingFang TC", "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}

.vcheese *,
.vcheese *::before,
.vcheese *::after {
  box-sizing: border-box;
}

.vcheese a {
  color: inherit;
  text-decoration: none;
}

.vcheese h1,
.vcheese h2,
.vcheese h3,
.vcheese p {
  margin-top: 0;
}

.vcheese-inner {
  width: min(1160px, 100%);
  margin: 0 auto;
}

.vcheese-hero {
  min-height: min(760px, 92vh);
  display: flex;
  align-items: end;
  position: relative;
  isolation: isolate;
  padding: clamp(96px, 11vw, 150px) clamp(20px, 5vw, 72px) clamp(42px, 6vw, 86px);
  background:
    linear-gradient(90deg, rgba(28, 19, 15, 0.82), rgba(28, 19, 15, 0.52) 54%, rgba(28, 19, 15, 0.2)),
    var(--vcheese-hero-image) 62% 47% / cover no-repeat;
}

.vcheese-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 34%;
  z-index: -1;
  background: linear-gradient(0deg, rgba(28, 19, 15, 0.46), rgba(28, 19, 15, 0));
}

.vcheese-hero__content {
  width: min(840px, 100%);
  color: #fff;
}

.vcheese-eyebrow,
.vcheese-kicker {
  margin-bottom: 14px;
  color: var(--vcheese-wine);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.4;
  text-transform: uppercase;
}

.vcheese-hero .vcheese-eyebrow {
  color: #f0d28a;
}

.vcheese-hero h1,
.vcheese h2,
.vcheese-card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: 0;
}

.vcheese-hero h1 {
  max-width: 860px;
  margin-bottom: 18px;
  color: #fff !important;
  font-size: clamp(3rem, 7.2vw, 7.4rem);
  line-height: 1.02;
}

.vcheese-lede {
  max-width: 760px;
  margin-bottom: 30px;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-style: italic;
  line-height: 1.55;
}

.vcheese-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.vcheese-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: var(--vcheese-wine);
  color: #fff !important;
  font-family: Montserrat, "Noto Sans TC", "Microsoft JhengHei", "PingFang TC", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.vcheese-button:hover {
  transform: translateY(-1px);
  background: var(--vcheese-wine-dark);
  color: #fff !important;
}

.vcheese-button--secondary {
  border-color: rgba(255, 255, 255, 0.62);
  background: rgba(255, 255, 255, 0.1);
}

.vcheese-button--light {
  border-color: var(--vcheese-line);
  background: #fff;
  color: var(--vcheese-ink) !important;
}

.vcheese-button--light:hover {
  border-color: var(--vcheese-wine);
  background: #fff;
  color: var(--vcheese-wine) !important;
}

.vcheese-facts {
  padding: 0 clamp(20px, 5vw, 72px);
  background: #fff;
  border-bottom: 1px solid var(--vcheese-line);
}

.vcheese-facts .vcheese-inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--vcheese-line);
}

.vcheese-fact {
  min-height: 114px;
  padding: 24px;
  background: #fff;
}

.vcheese-fact strong {
  display: block;
  margin-bottom: 8px;
  color: var(--vcheese-wine);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.vcheese-fact span {
  display: block;
  color: var(--vcheese-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.02rem;
  font-style: italic;
  line-height: 1.5;
}

.vcheese-intro,
.vcheese-program,
.vcheese-finale {
  padding: clamp(52px, 7vw, 90px) clamp(20px, 5vw, 72px);
}

.vcheese-intro {
  background: var(--vcheese-paper);
}

.vcheese-intro-grid,
.vcheese-finale-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(26px, 5vw, 70px);
  align-items: center;
}

.vcheese-media {
  width: 100%;
  min-height: 380px;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: var(--vcheese-shadow);
}

.vcheese-panel {
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid var(--vcheese-line);
  background: var(--vcheese-panel);
}

.vcheese-panel h2,
.vcheese-section-head h2,
.vcheese-finale h2 {
  margin-bottom: 18px;
  color: var(--vcheese-ink);
  font-size: clamp(2rem, 4vw, 4.15rem);
  line-height: 1.06;
}

.vcheese-copy,
.vcheese-section-head p,
.vcheese-card p,
.vcheese-note,
.vcheese-list li {
  color: var(--vcheese-muted);
  font-size: 1rem;
  line-height: 1.75;
}

.vcheese-copy {
  margin-bottom: 22px;
}

.vcheese-list {
  display: grid;
  gap: 13px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.vcheese-list li {
  position: relative;
  padding-left: 24px;
}

.vcheese-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vcheese-gold);
}

.vcheese-program {
  background: #fffdf8;
}

.vcheese-section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(260px, 0.58fr);
  gap: clamp(22px, 5vw, 62px);
  align-items: end;
  margin-bottom: 34px;
}

.vcheese-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.vcheese-card {
  min-height: 100%;
  padding: 28px;
  border: 1px solid var(--vcheese-line);
  background: #fff;
}

.vcheese-card strong {
  display: inline-flex;
  margin-bottom: 18px;
  color: var(--vcheese-gold);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.vcheese-card h3 {
  margin-bottom: 12px;
  color: var(--vcheese-ink);
  font-size: 1.55rem;
  line-height: 1.18;
}

.vcheese-ribbon {
  padding: 24px clamp(20px, 5vw, 72px);
  background: var(--vcheese-green);
  color: #fff;
}

.vcheese-ribbon .vcheese-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 28px;
  align-items: center;
  justify-content: space-between;
}

.vcheese-ribbon strong {
  color: #f5d88c;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.vcheese-ribbon span {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-style: italic;
  line-height: 1.45;
}

.vcheese-finale {
  background: var(--vcheese-paper);
}

.vcheese-note {
  margin: 18px 0 0;
  font-size: 0.92rem;
}

@media (max-width: 900px) {
  .vcheese-facts .vcheese-inner,
  .vcheese-grid,
  .vcheese-intro-grid,
  .vcheese-finale-grid,
  .vcheese-section-head {
    grid-template-columns: 1fr;
  }

  .vcheese-media {
    min-height: 300px;
  }
}

@media (max-width: 640px) {
  .vcheese-hero {
    min-height: 700px;
    padding-top: 88px;
    background:
      linear-gradient(90deg, rgba(28, 19, 15, 0.84), rgba(28, 19, 15, 0.52) 58%, rgba(28, 19, 15, 0.14)),
      var(--vcheese-hero-image) 54% 42% / cover no-repeat;
  }

  .vcheese-hero h1 {
    font-size: clamp(2.65rem, 16vw, 4.25rem);
  }

  .vcheese-actions,
  .vcheese-ribbon .vcheese-inner {
    align-items: stretch;
    flex-direction: column;
  }

  .vcheese-button {
    width: 100%;
  }

  .vcheese-fact,
  .vcheese-card,
  .vcheese-panel {
    padding: 22px;
  }
}
/* VAVIN Event Page Preview - Elementor Custom CSS */

body:has(.vevent) #sub-header.elementor-page-title,
body:has(.vevent) .page-header[data-progressive-animation="page-title"] {
  display: none !important;
}

.vevent {
  --vevent-ink: #252525;
  --vevent-line: #e2ddd3;
  --vevent-paper: #f7f4ee;
  --vevent-wine: #bd0926;
  --vevent-wine-dark: #8f071d;
  --vevent-gold: #b89b61;
  --vevent-green: #253c36;
  --vevent-shadow: 0 18px 44px rgba(37, 37, 37, 0.12);
  color: var(--vevent-ink);
  background: #fff;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}

.vevent *,
.vevent *::before,
.vevent *::after {
  box-sizing: border-box;
}

.vevent a {
  color: inherit;
  text-decoration: none;
}

.vevent h1,
.vevent h2,
.vevent h3,
.vevent p {
  margin-top: 0;
}

.vevent-hero {
  min-height: min(760px, 92vh);
  display: flex;
  align-items: end;
  position: relative;
  isolation: isolate;
  padding: clamp(96px, 12vw, 148px) clamp(20px, 5vw, 72px) clamp(42px, 7vw, 88px);
  background:
    linear-gradient(90deg, rgba(18, 15, 14, 0.84), rgba(18, 15, 14, 0.52) 58%, rgba(18, 15, 14, 0.16)),
    var(--vevent-hero-image) center / cover no-repeat;
}

.vevent-hero__content {
  width: min(820px, 100%);
  color: #fff;
}

.vevent-eyebrow,
.vevent-kicker {
  margin-bottom: 14px;
  color: var(--vevent-wine);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.vevent-hero .vevent-eyebrow {
  color: #f0d497;
}

.vevent-hero h1,
.vevent h2,
.vevent-card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: 0;
}

.vevent-hero h1 {
  max-width: 820px;
  margin-bottom: 20px;
  color: #fff !important;
  font-size: clamp(3.2rem, 7.6vw, 7.2rem);
  line-height: 1.04;
}

.vevent-hero p {
  max-width: 700px;
  margin-bottom: 32px;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-style: italic;
  line-height: 1.55;
}

.vevent-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.vevent-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: var(--vevent-wine);
  color: #fff !important;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.vevent-button:hover {
  transform: translateY(-1px);
  background: var(--vevent-wine-dark);
  color: #fff !important;
}

.vevent-button--secondary {
  border-color: rgba(255, 255, 255, 0.58);
  background: rgba(255, 255, 255, 0.08);
}

.vevent-section {
  padding: clamp(48px, 7.2vw, 86px) clamp(20px, 5vw, 72px);
  background: var(--vevent-paper);
}

.vevent-inner {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.vevent-trust {
  padding-top: clamp(39px, 5.85vw, 69px);
  padding-bottom: clamp(39px, 5.85vw, 69px);
  background: #fff;
  border-bottom: 1px solid var(--vevent-line);
}

.vevent-trust .vevent-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--vevent-line);
}

.vevent-trust-item {
  min-height: 87px;
  padding: 20px;
  background: #fff;
}

.vevent-trust-item strong {
  display: block;
  margin-bottom: 8px;
  color: var(--vevent-wine);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.vevent-trust-item span {
  display: block;
  color: var(--vevent-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.02rem;
  font-style: italic;
  line-height: 1.55;
}

.vevent-featured-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}

.vevent-media {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 4px;
  object-fit: cover;
  box-shadow: var(--vevent-shadow);
}

.vevent-featured-card {
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid var(--vevent-line);
  border-radius: 4px;
  background: #fff;
  box-shadow: var(--vevent-shadow);
}

.vevent h2 {
  margin-bottom: 18px;
  color: var(--vevent-ink);
  font-size: clamp(2.25rem, 4.6vw, 4.4rem);
  line-height: 1.04;
}

.vevent-featured-card h2 {
  font-size: clamp(2.1rem, 4vw, 4rem);
}

.vevent-meta {
  margin-bottom: 16px;
  color: var(--vevent-wine);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.vevent-copy {
  color: var(--vevent-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.12rem;
  font-style: italic;
  line-height: 1.72;
}

.vevent-grid-section {
  background: #fff;
}

.vevent-section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: end;
  margin-bottom: clamp(28px, 5vw, 48px);
}

.vevent-section-head p:last-child {
  margin-bottom: 8px;
  color: var(--vevent-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  font-style: italic;
  line-height: 1.65;
}

.vevent-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(250px, 1fr));
  gap: 22px;
}

.vevent-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  border: 1px solid var(--vevent-line);
  border-radius: 4px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(37, 37, 37, 0.08);
}

.vevent-card__image {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--vevent-paper);
}

.vevent-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 220ms ease;
}

.vevent-card:hover .vevent-card__image img {
  transform: scale(1.025);
}

.vevent-card__image span {
  position: absolute;
  left: 14px;
  bottom: 14px;
  display: inline-flex;
  min-height: 31px;
  align-items: center;
  padding: 7px 10px;
  border-radius: 3px;
  background: rgba(189, 9, 38, 0.92);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vevent-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}

.vevent-card__type {
  margin-bottom: 10px;
  color: var(--vevent-wine);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.vevent-card h3 {
  margin-bottom: 12px;
  color: var(--vevent-ink);
  font-size: clamp(1.45rem, 2.3vw, 2rem);
  line-height: 1.12;
}

.vevent-card p {
  color: var(--vevent-ink);
  font-size: 0.95rem;
  line-height: 1.65;
}

.vevent-link {
  display: inline-flex;
  margin-top: auto;
  color: var(--vevent-wine) !important;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}






@media (max-width: 860px) {
  .vevent-hero {
    min-height: 700px;
    padding-top: 110px;
    background-position: center;
  }

  .vevent-hero h1 {
    font-size: clamp(3rem, 15vw, 4.8rem);
  }

  .vevent-trust .vevent-inner,
  .vevent-featured-grid,
  .vevent-section-head,
  .vevent-grid {
    grid-template-columns: 1fr;
  }

  .vevent-featured-grid {
    gap: 26px;
  }

  .vevent-section-head {
    align-items: start;
  }

  .vevent-media {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 520px) {
  .vevent-hero {
    min-height: 680px;
    padding-left: 18px;
    padding-right: 18px;
  }

  .vevent-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .vevent-button {
    width: 100%;
  }

  .vevent-section {
    padding-left: 18px;
    padding-right: 18px;
  }

  .vevent-card__body,
  .vevent-featured-card {
    padding: 20px;
  }
}

.vevent-card--closed {
  background: #f3f1ed;
  box-shadow: none;
}

.vevent-card--closed .vevent-card__image img {
  filter: grayscale(1) contrast(0.9) brightness(0.82);
}

.vevent-card--closed .vevent-card__body {
  color: #4d4a45;
}

.vevent-card--closed .vevent-card__type,
.vevent-card--closed .vevent-link {
  color: #6c6861 !important;
}

.vevent-card__image--closed span,
.vevent-status {
  background: rgba(79, 76, 71, 0.94);
  color: #fff;
}

.vevent-status {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  margin-top: auto;
  margin-bottom: 12px;
  padding: 6px 10px;
  border-radius: 3px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

/* VAVIN Wine Fair Summer-format CSS START */
/* VAVIN Wine Fair - Elementor page, aligned with the Summer Promotion format */

body:has(.vwfair) #sub-header.elementor-page-title,
body:has(.vwfair) .page-header[data-progressive-animation="page-title"] {
  display: none !important;
}

.vwfair {
  --vwfair-ink: #26221e;
  --vwfair-line: #e6ded1;
  --vwfair-paper: #f8f2e8;
  --vwfair-panel: #fffdf8;
  --vwfair-wine: #7b3d56;
  --vwfair-wine-dark: #54283c;
  --vwfair-button: #b20b24;
  --vwfair-button-hover: #850719;
  --vwfair-gold: #c29b50;
  --vwfair-green: #2f4a3b;
  --vwfair-shadow: 0 20px 46px rgba(38, 34, 30, 0.14);
  color: var(--vwfair-ink);
  background: #fff;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}

.vwfair *, .vwfair *::before, .vwfair *::after { box-sizing: border-box; }
.vwfair a { color: inherit; text-decoration: none; }
.vwfair h1, .vwfair h2, .vwfair h3, .vwfair p { margin-top: 0; }
.vwfair-inner { width: min(1160px, 100%); margin: 0 auto; }

.vwfair-hero {
  min-height: min(780px, 92vh);
  display: flex;
  align-items: end;
  position: relative;
  isolation: isolate;
  padding: clamp(100px, 12vw, 152px) clamp(20px, 5vw, 72px) clamp(44px, 7vw, 90px);
  background:
    linear-gradient(90deg, rgba(2, 20, 22, 0.96), rgba(2, 20, 22, 0.72) 43%, rgba(2, 20, 22, 0.08) 72%),
    var(--vwfair-hero-image) center / cover no-repeat;
}

.vwfair-hero__content { width: min(790px, 100%); color: #fff; }
.vwfair-eyebrow, .vwfair-kicker {
  margin-bottom: 14px;
  color: var(--vwfair-wine);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}
.vwfair-hero .vwfair-eyebrow { color: #f4d68a; }
.vwfair-hero h1, .vwfair h2, .vwfair-card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: 0;
}
.vwfair-hero h1 {
  max-width: 820px;
  margin-bottom: 18px;
  color: #fff !important;
  font-size: clamp(3.4rem, 8vw, 8rem);
  line-height: 1.02;
}
.vwfair-hero h1 span { color: #fff; font-style: normal; }
.vwfair-hero h1 em { color: #f4d68a; font-weight: 400; }
.vwfair-lede {
  max-width: 710px;
  margin-bottom: 14px;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.12rem, 2vw, 1.55rem);
  font-style: italic;
  line-height: 1.55;
}
.vwfair-date {
  margin: 0 0 30px;
  color: #f4d68a !important;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.vwfair-notice {
  display: block;
  margin: 0;
  padding-top: 28px;
  color: rgba(255,255,255,.74) !important;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.vwfair-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.vwfair-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: var(--vwfair-button);
  color: #fff !important;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}
.vwfair-button:hover { transform: translateY(-1px); background: var(--vwfair-button-hover); color: #fff !important; }
.vwfair-button--secondary, .vwfair-button--light { border-color: rgba(255,255,255,.62); background: rgba(255,255,255,.1); }
.vwfair-button--light { border-color: var(--vwfair-line); background: #fff; color: var(--vwfair-ink) !important; }
.vwfair-button--light:hover { border-color: var(--vwfair-button); background: #fff; color: var(--vwfair-button) !important; }

.vwfair-featured, .vwfair-offers, .vwfair-finale { padding: clamp(50px, 7vw, 88px) clamp(20px, 5vw, 72px); }
.vwfair-featured { background: var(--vwfair-paper); }
.vwfair-featured-grid, .vwfair-finale-grid { display: grid; grid-template-columns: minmax(280px, .92fr) minmax(0, 1.08fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.vwfair-finale-grid { grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); }
.vwfair-media { display: block; width: 100%; aspect-ratio: 1 / 1; border-radius: 4px; object-fit: contain; padding: 34px; background: linear-gradient(145deg,#f7f1e8,#eadcca); box-shadow: var(--vwfair-shadow); }
.vwfair-media--campaign { object-fit: cover; object-position: right center; padding: 0; background: #031819; }
.vwfair-featured-card { padding: clamp(28px, 4vw, 46px); border: 1px solid var(--vwfair-line); border-radius: 4px; background: #fff; box-shadow: var(--vwfair-shadow); }
.vwfair h2 { margin-bottom: 18px; color: var(--vwfair-ink); font-size: clamp(2.25rem, 4.8vw, 4.5rem); line-height: 1.04; }
.vwfair-copy, .vwfair-section-head > p { color: var(--vwfair-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; font-style: italic; line-height: 1.72; }

.vwfair-offers { background: #fff; }
.vwfair-section-head { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 28px; align-items: end; margin-bottom: clamp(30px, 4vw, 48px); }
.vwfair-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.vwfair-card { display: grid; grid-template-rows: auto 1fr; min-height: 100%; overflow: hidden; border: 1px solid var(--vwfair-line); border-radius: 4px; background: var(--vwfair-panel); transition: transform 180ms ease, box-shadow 180ms ease; }
.vwfair-card:hover { transform: translateY(-3px); box-shadow: var(--vwfair-shadow); }
.vwfair-card__image { display: grid; min-height: 330px; place-items: center; padding: 28px 18px 16px; background: linear-gradient(180deg, rgba(248,242,232,.92), rgba(255,255,255,.96)), radial-gradient(circle at 50% 10%, rgba(194,155,80,.18), transparent 48%); }
.vwfair-card__image img { display: block; width: auto; max-width: 82%; height: 292px; object-fit: contain; filter: drop-shadow(0 16px 20px rgba(38,34,30,.14)); }
.vwfair-card__body { display: flex; flex-direction: column; gap: 12px; padding: 20px; }
.vwfair-chip { width: fit-content; padding: 6px 9px; border-radius: 999px; background: rgba(123,61,86,.11); color: var(--vwfair-wine); font-size: .66rem; font-weight: 800; letter-spacing: .1em; line-height: 1; text-transform: uppercase; }
.vwfair-chip--gold { background: rgba(194,155,80,.16); color: #8a6424; }
.vwfair-chip--green { background: rgba(47,74,59,.12); color: var(--vwfair-green); }
.vwfair-card h3 { margin-bottom: 0; color: var(--vwfair-ink); font-size: clamp(1.32rem, 1.8vw, 1.78rem); line-height: 1.08; }
.vwfair-card h3 a:hover { color: var(--vwfair-wine); }
.vwfair-card p { color: var(--vwfair-ink); font-family: Georgia, "Times New Roman", serif; font-size: .98rem; font-style: italic; line-height: 1.58; }
.vwfair-card .vwfair-text-link { margin-top: auto; }
.vwfair-text-link { color: var(--vwfair-wine); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.vwfair-text-link:hover { color: var(--vwfair-wine-dark); text-decoration: underline; }
.vwfair-finale { background: linear-gradient(180deg, #fff, var(--vwfair-paper)); }

@media (max-width: 900px) {
  .vwfair-featured-grid, .vwfair-finale-grid, .vwfair-section-head { grid-template-columns: 1fr; }
  .vwfair-hero { min-height: 680px; background-position: 64% center; }
  .vwfair-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .vwfair-hero { min-height: 650px; padding-top: 88px; background-position: 71% center; }
  .vwfair-hero h1 { font-size: clamp(2.85rem, 15vw, 4.5rem); }
  .vwfair-grid { grid-template-columns: 1fr; }
  .vwfair-actions, .vwfair-button { width: 100%; }
  .vwfair-card__image { min-height: 300px; }
  .vwfair-card__image img { height: 270px; }
}
/* VAVIN Wine Fair Summer-format CSS END */

/* VAVIN BBQ Events mobile title proportions START */
@media (max-width: 520px) {
  .vevent-featured-card h2 {
    max-width: 100%;
    font-size: 1.85rem;
    line-height: 1.04;
    overflow-wrap: anywhere;
  }

  .vevent-card h3 {
    max-width: 100%;
    font-size: 1.3rem;
    line-height: 1.12;
    overflow-wrap: anywhere;
  }
}
/* VAVIN BBQ Events mobile title proportions END */

/* VAVIN Events card action alignment START */
.vevent-card__body > .vevent-card__cta,
.vevent-card__body > .vevent-status {
  min-height: 42px;
  align-self: flex-start;
  margin-top: auto;
  margin-bottom: 0;
}

.vevent-card__body > .vevent-card__cta {
  width: auto;
  padding: 10px 18px;
}

.vevent-card__body > .vevent-status {
  padding: 10px 14px;
}

@media (max-width: 520px) {
  .vevent-card__body > .vevent-card__cta {
    width: 100%;
  }
}
/* VAVIN Events card action alignment END */


/* VAVIN Site Modernization migrated from plugin */
/* VAVIN 2026 shared modernization layer. */
.vmodern,
.vpromo-modern,
.vmodern-404,
body.single-product,
body.tax-product_cat,
body.tax-product_tag,
body.tax-product_brand {
  --vm-wine: #7b3d56;
  --vm-wine-dark: #54283c;
  --vm-gold: #b89b61;
  --vm-ink: #252525;
  --vm-muted: #625b55;
  --vm-paper: #f7f2e8;
  --vm-paper-light: #fffdf9;
  --vm-white: #fff;
  --vm-line: #e2dacf;
  color: var(--vm-ink);
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
}

.vmodern *, .vmodern *::before, .vmodern *::after,
.vpromo-modern *, .vpromo-modern *::before, .vpromo-modern *::after,
.vmodern-404 *, .vmodern-404 *::before, .vmodern-404 *::after { box-sizing: border-box; }
.vmodern img, .vpromo-modern img { display: block; max-width: 100%; }
.vmodern h1, .vmodern h2, .vmodern h3,
.vpromo-modern h1, .vpromo-modern h2, .vpromo-modern h3,
.vmodern-404 h1 { font-family: Georgia, "Times New Roman", serif !important; font-weight: 400 !important; letter-spacing: -.025em !important; }
.vmodern-inner { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.vmodern-eyebrow, .vmodern-kicker { margin: 0 0 16px; color: var(--vm-gold) !important; font-size: .75rem !important; font-weight: 800; letter-spacing: .17em; line-height: 1.4; text-transform: uppercase; }
.vmodern-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.vmodern-button { min-height: 49px; display: inline-flex; align-items: center; justify-content: center; padding: 14px 22px; border: 1px solid transparent; border-radius: 2px; font-size: .76rem; font-weight: 800; letter-spacing: .1em; line-height: 1.2; text-decoration: none !important; text-transform: uppercase; transition: transform .18s ease, color .18s ease, background .18s ease, border-color .18s ease; }
.vmodern-button:hover, .vmodern-button:focus-visible { transform: translateY(-2px); }
.vmodern-button--light { background: #fff; color: var(--vm-wine-dark) !important; }
.vmodern-button--ghost { border-color: rgba(255,255,255,.72); background: rgba(0,0,0,.14); color: #fff !important; }
.vmodern-button--ghost:hover { background: #fff; color: var(--vm-ink) !important; }
.vmodern-button--wine { background: var(--vm-wine); color: #fff !important; }
.vmodern-button--wine:hover { background: var(--vm-wine-dark); }
.vmodern-button--outline { border-color: var(--vm-wine); color: var(--vm-wine) !important; }
.vmodern-button--outline:hover { background: var(--vm-wine); color: #fff !important; }

body:has(.vmodern) #sub-header.elementor-page-title,
body:has(.vpromo-modern) #sub-header.elementor-page-title { display: none !important; }
body:has(.vmodern) #main-content,
body:has(.vmodern) .vamtam-main,
body:has(.vpromo-modern) #main-content,
body:has(.vpromo-modern) .vamtam-main { padding-top: 0 !important; }

.vmodern { overflow: hidden; background: var(--vm-paper-light); }
.vmodern-hero { min-height: min(690px, 82vh); position: relative; display: flex; align-items: end; isolation: isolate; background: #171513 var(--vmodern-hero-image) center / cover no-repeat; }
.vmodern-hero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,6,5,.91), rgba(8,6,5,.58) 48%, rgba(8,6,5,.08) 78%), linear-gradient(0deg, rgba(8,6,5,.58), transparent 55%); }
.vmodern-hero__content { padding: clamp(124px, 14vw, 190px) 0 clamp(64px, 8vw, 104px); color: #fff; }
.vmodern-hero h1 { max-width: 890px; margin: 0 0 22px; color: #fff !important; font-size: clamp(3.8rem, 7.4vw, 7.5rem) !important; line-height: .94 !important; }
.vmodern-hero__lede { max-width: 700px; margin: 0 0 32px; color: #fff !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.15rem, 2vw, 1.5rem) !important; font-style: italic; line-height: 1.55; }
.vmodern-hero--compact { min-height: 390px; align-items: center; background: linear-gradient(125deg, var(--vm-wine-dark), var(--vm-wine)); }
.vmodern-hero--compact .vmodern-hero__shade { background: radial-gradient(circle at 82% 20%, rgba(255,255,255,.13), transparent 32%); }
.vmodern-hero--compact .vmodern-hero__content { padding: 110px 0 70px; }
.vmodern-hero--compact h1 { font-size: clamp(3rem, 5.4vw, 5.5rem) !important; }
.vmodern-content { background: var(--vm-paper-light); }

/* Retire old hero sliders; the saved Elementor content remains available for rollback. */
body.page-id-996709 .elementor > .elementor-element-c02f44d,
body.page-id-996709 .elementor > .elementor-element-710614d,
body.page-id-1000432 .elementor > .elementor-element-3c6fe4f,
body.page-id-1000432 .elementor > .elementor-element-944c0e2,
body.page-id-364 .elementor > .elementor-element-113c9bd,
body.page-id-364 .elementor > .elementor-element-763ff58,
body.page-id-364 .elementor > .elementor-element-1138eab,
body.page-id-364 .elementor > .elementor-element-f69ae10,
body.page-id-1002680 .elementor > .elementor-element-ce626a4,
body.page-id-1002680 .elementor > .elementor-element-98e7099,
body.page-id-1002680 .elementor > .elementor-element-7bb0eeb,
body.page-id-1002680 .elementor > .elementor-element-4daabd4,
body.page-id-1002680 .elementor > .elementor-element-d39342c,
body.page-id-995760 .elementor > .elementor-element-4d26f61,
body.page-id-995760 .elementor > .elementor-element-e7cc68e,
body.page-id-995760 .elementor > .elementor-element-397a134 { display: none !important; }

/* Private events */
body.page-id-996709 .elementor-element-dde6c11 { width: min(1180px, calc(100% - 40px)); display: grid !important; grid-template-columns: 1.05fr .95fr; gap: clamp(38px, 6vw, 82px); align-items: center; margin: 0 auto; padding: clamp(78px, 9vw, 124px) 0; }
body.page-id-996709 .elementor-element-dde6c11 > .e-con-inner { display: contents !important; }
body.page-id-996709 .elementor-element-582f050,
body.page-id-996709 .elementor-element-c5d2236 { width: auto !important; }
body.page-id-996709 .elementor-element-c5d2236 { padding: 38px !important; border-left: 3px solid var(--vm-wine); background: #fff; }
body.page-id-996709 .elementor-element-c5d2236 h2,
body.page-id-996709 .elementor-element-c5d2236 h3 { color: var(--vm-ink) !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(2rem, 3vw, 3rem) !important; }
body.page-id-996709 .elementor-element-c5d2236 p,
body.page-id-996709 .elementor-element-c5d2236 li { color: var(--vm-muted) !important; font-size: 1rem; line-height: 1.65; }
body.page-id-996709 .elementor-element-8d7b21a,
body.page-id-996709 .elementor-element-8ed1b55,
body.page-id-996709 .elementor-element-27615be,
body.page-id-996709 .elementor-element-b3fd211,
body.page-id-996709 .elementor-element-d9f1a25,
body.page-id-996709 .elementor-element-6a3d07a { width: min(1180px, calc(100% - 40px)); margin-inline: auto; padding-block: clamp(52px, 7vw, 92px); }
body.page-id-996709 .elementor-element-8d7b21a h2,
body.page-id-996709 .elementor-element-8ed1b55 h2,
body.page-id-996709 .elementor-element-27615be h2,
body.page-id-996709 .elementor-element-d9f1a25 h2 { color: var(--vm-ink) !important; font-size: clamp(2.4rem, 5vw, 4.8rem) !important; }
body.page-id-996709 .elementor-element-b3fd211 { padding: clamp(36px, 5vw, 70px) !important; background: var(--vm-paper); }
body.page-id-996709 .elementor-element-6a3d07a { max-width: 820px; }
body.page-id-996709 .elementor-form input,
body.page-id-996709 .elementor-form textarea,
body.page-id-996709 .elementor-form select { border: 1px solid var(--vm-line) !important; border-radius: 0 !important; background: #fff !important; }

/* Gourmet catalogue */
body.page-id-1000432 .elementor-element-f8675e6 { padding: clamp(72px, 8vw, 110px) 20px !important; background: var(--vm-paper); }
body.page-id-1000432 .elementor-element-f8675e6 h2 { color: var(--vm-ink) !important; font-size: clamp(2.5rem, 5vw, 5rem) !important; }
body.page-id-1000432 .elementor-element-f8675e6 p { max-width: 720px; margin-inline: auto; color: var(--vm-muted) !important; font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; font-style: italic; line-height: 1.7; }
body.page-id-1000432 .elementor-element-ce140e2 { width: min(1240px, calc(100% - 40px)); margin-inline: auto; padding: clamp(70px, 8vw, 110px) 0 !important; }
body.page-id-1000432 .elementor-element-ce140e2 > .elementor-container { gap: clamp(28px, 4vw, 52px); align-items: flex-start; }
body.page-id-1000432 .elementor-element-fbdab85 { width: 245px !important; flex: 0 0 245px; position: sticky; top: 118px; padding: 25px !important; border: 1px solid var(--vm-line); background: #fff; }
body.page-id-1000432 .elementor-element-876b09a { width: auto !important; min-width: 0; flex: 1; }
body.page-id-1000432 .jet-search-filter__input { min-height: 48px; border: 1px solid var(--vm-line) !important; border-radius: 0 !important; background: #fff !important; }
body.page-id-1000432 .jet-range__slider__track__range { background: var(--vm-wine) !important; }
body.page-id-1000432 ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important; }
body.page-id-1000432 ul.products li.product { width: auto !important; margin: 0 !important; border: 1px solid var(--vm-line); background: #fff; }
body.page-id-1000432 ul.products li.product img { height: 300px !important; object-fit: contain; background: #f7f3ed; }
body.page-id-1000432 .vamtam-product-content { padding: 20px !important; }
body.page-id-1000432 .woocommerce-loop-product__title { color: var(--vm-ink) !important; font-size: 1.2rem !important; }

/* Club */
body.page-id-364 .elementor-element-47c9403,
body.page-id-364 .elementor-element-28997f6,
body.page-id-364 .elementor-element-58a3177,
body.page-id-364 .elementor-element-293a1ba { width: min(1120px, calc(100% - 40px)); margin-inline: auto; padding-block: clamp(68px, 8vw, 112px); }
body.page-id-364 .elementor-element-47c9403 { display: flex; justify-content: center; padding-block: clamp(56px, 7vw, 88px); }
body.page-id-364 .elementor-element-47c9403 > .elementor-container { width: 100%; display: flex; justify-content: center; }
body.page-id-364 .elementor-element-32e88c0,
body.page-id-364 .elementor-element-ad238e1 { display: none !important; }
body.page-id-364 .elementor-element-df2ef58 { width: min(100%, 760px) !important; max-width: 760px; flex: 0 1 760px !important; }
body.page-id-364 .elementor-element-6aeff79 { width: 100%; margin: 0 !important; }
body.page-id-364 .elementor-price-table { width: 100%; overflow: hidden; border: 1px solid var(--vm-line); border-radius: 0 !important; background: #fff; box-shadow: 0 22px 54px rgba(42,31,25,.1); }
body.page-id-364 .elementor-price-table__header { padding: 20px 28px !important; background: var(--vm-wine-dark) !important; }
body.page-id-364 .elementor-price-table__heading { margin: 0 !important; color: #fff !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(1.75rem, 3vw, 2.25rem) !important; font-weight: 400 !important; line-height: 1.1 !important; }
body.page-id-364 .elementor-price-table__price { padding: 28px 24px 22px !important; }
body.page-id-364 .elementor-price-table__integer-part { font-size: clamp(4rem, 7vw, 5.5rem) !important; line-height: .9 !important; }
body.page-id-364 .elementor-price-table__currency { font-size: 1.1rem !important; }
body.page-id-364 .elementor-price-table__period { font-size: .9rem !important; }
body.page-id-364 .elementor-price-table__features-list { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 24px 30px !important; border-top: 1px solid var(--vm-line); border-bottom: 1px solid var(--vm-line); }
body.page-id-364 .elementor-price-table__features-list li { min-height: 48px; display: flex; align-items: center; justify-content: center; margin: 0 !important; padding: 10px 20px !important; border-right: 1px solid var(--vm-line); border-bottom: 0; line-height: 1.45 !important; text-align: center !important; }
body.page-id-364 .elementor-price-table__features-list li::before { display: none !important; }
body.page-id-364 .elementor-price-table__features-list li:last-child { border-right: 0; }
body.page-id-364 .elementor-price-table__features-list li:nth-child(3) br { display: none !important; }
body.page-id-364 .elementor-price-table__footer { padding: 30px 38px 34px !important; text-align: center; }
body.page-id-364 .elementor-price-table__button { width: min(100%, 320px); margin: 0 auto 24px !important; padding: 15px 22px !important; border-radius: 2px !important; background: var(--vm-wine) !important; font-size: .76rem !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; }
body.page-id-364 .elementor-price-table__additional_info { max-width: 620px; margin: 0 auto !important; color: var(--vm-muted) !important; font-size: .78rem !important; line-height: 1.65 !important; text-align: center; }
body.page-id-364 .elementor-element-28997f6 { border-top: 1px solid var(--vm-line); }
body.page-id-364 .elementor-image-box-title,
body.page-id-364 .elementor-element-9c7a413 .elementor-heading-title { color: var(--vm-ink) !important; font-family: Georgia, "Times New Roman", serif !important; }
body.page-id-364 .elementor-element-293a1ba { max-width: 900px; }
body.page-id-364 .elementor-accordion-item { border-color: var(--vm-line) !important; }

/* What's New */
body.page-id-1002680 .elementor-element-8b00d5d,
body.page-id-1002680 .elementor-element-3485b1e { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
body.page-id-1002680 .elementor-element-8b00d5d { padding: clamp(70px, 8vw, 106px) 0 38px; }
body.page-id-1002680 .elementor-element-8b00d5d .elementor-heading-title { color: var(--vm-ink) !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(2.8rem, 5vw, 5rem) !important; font-weight: 400 !important; text-transform: none !important; }
body.page-id-1002680 .elementor-element-3485b1e { padding-bottom: clamp(76px, 9vw, 126px); }
body.page-id-1002680 .elementor-posts-container { gap: 26px !important; }
body.page-id-1002680 article.elementor-post { overflow: hidden; border: 1px solid var(--vm-line); background: #fff; }
body.page-id-1002680 .elementor-post__thumbnail__link { margin-bottom: 0 !important; }
body.page-id-1002680 .elementor-post__text { padding: 24px !important; }
body.page-id-1002680 .elementor-post__title { font-family: Georgia, "Times New Roman", serif !important; font-size: 1.5rem !important; font-weight: 400 !important; line-height: 1.2; }

/* About */
body.page-id-995760 .elementor-element-d615f38,
body.page-id-995760 .elementor-element-76e3c53,
body.page-id-995760 .elementor-element-9a7ba63,
body.page-id-995760 .elementor-element-39ebb9f { padding-top: clamp(70px, 8vw, 112px) !important; padding-bottom: clamp(70px, 8vw, 112px) !important; }
body.page-id-995760 .elementor-heading-title { color: var(--vm-ink) !important; }
body.page-id-995760 .elementor-widget-text-editor,
body.page-id-995760 .elementor-widget-text-editor p { color: var(--vm-muted) !important; font-size: 1rem; line-height: 1.7; }
body.page-id-995760 .elementor-element-76e3c53 { background: var(--vm-paper); }

/* Account, cart and checkout */
body.page-id-2947 .vmodern-content,
body.page-id-2943 .vmodern-content,
body.page-id-2945 .vmodern-content { padding: clamp(60px, 8vw, 104px) 0 clamp(100px, 12vw, 160px); }
body.page-id-2947 .vmodern-content > *,
body.page-id-2943 .vmodern-content > *,
body.page-id-2945 .vmodern-content > * { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.vmodern .woocommerce form.login,
.vmodern .woocommerce form.register,
.vmodern .woocommerce form.checkout_coupon,
.vmodern .woocommerce .cart_totals,
.vmodern .woocommerce-checkout-review-order { padding: 28px !important; border: 1px solid var(--vm-line) !important; border-radius: 0 !important; background: #fff; }
.vmodern .woocommerce form .form-row input.input-text,
.vmodern .woocommerce form .form-row textarea,
.vmodern .select2-container--default .select2-selection--single { min-height: 48px; border: 1px solid #bfb5ac !important; border-radius: 0 !important; background: #fff !important; }
.vmodern .woocommerce button.button,
.vmodern .woocommerce a.button,
.vmodern .woocommerce input.button { min-height: 48px; border-radius: 0 !important; background: var(--vm-wine) !important; color: #fff !important; }
.vmodern .woocommerce button.button:hover,
.vmodern .woocommerce a.button:hover { background: var(--vm-wine-dark) !important; }
.vmodern .cart-empty.woocommerce-info { padding: 30px !important; border-top-color: var(--vm-wine) !important; background: #fff; color: var(--vm-muted); text-align: center; }
.vmodern .return-to-shop { text-align: center; }

/* Legal pages: presentation only; saved legal wording is not altered. */
body.page-id-989402 .vmodern-content,
body.page-id-989393 .vmodern-content { padding: clamp(64px, 8vw, 108px) 0 clamp(100px, 12vw, 160px); }
body.page-id-989402 .vmodern-content > .elementor,
body.page-id-989393 .vmodern-content > .elementor { width: min(940px, calc(100% - 40px)); margin-inline: auto; padding: clamp(34px, 5vw, 64px) !important; border: 1px solid var(--vm-line); background: #fff; }
body.page-id-989402 .elementor-widget-text-editor,
body.page-id-989402 .elementor-widget-text-editor p,
body.page-id-989402 .elementor-widget-text-editor li,
body.page-id-989393 .elementor-widget-text-editor,
body.page-id-989393 .elementor-widget-text-editor p,
body.page-id-989393 .elementor-widget-text-editor li { color: var(--vm-ink) !important; font-family: Montserrat, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif !important; font-size: .94rem !important; line-height: 1.75 !important; }
body.page-id-989402 .elementor-widget-text-editor strong,
body.page-id-989393 .elementor-widget-text-editor strong { color: var(--vm-wine-dark); }

/* Promotion replacement */
.vpromo-modern { overflow: hidden; background: var(--vm-paper-light); }
.vpromo-modern__hero { min-height: min(700px, 83vh); position: relative; display: flex; align-items: end; isolation: isolate; background: #171513 var(--vpromo-modern-image) center / cover no-repeat; }
.vpromo-modern__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,6,5,.92), rgba(8,6,5,.62) 52%, rgba(8,6,5,.12) 80%), linear-gradient(0deg, rgba(8,6,5,.58), transparent 55%); }
.vpromo-modern__hero-content { padding: clamp(124px, 14vw, 190px) 0 clamp(66px, 8vw, 106px); color: #fff; }
.vpromo-modern__hero h1 { max-width: 850px; margin: 0 0 24px; color: #fff !important; font-size: clamp(4rem, 7.6vw, 7.6rem) !important; line-height: .94; }
.vpromo-modern__hero p:not(.vmodern-eyebrow) { max-width: 670px; margin: 0 0 32px; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.14rem, 2vw, 1.5rem); font-style: italic; line-height: 1.55; }
.vpromo-modern__current { padding: clamp(76px, 9vw, 124px) 0; background: var(--vm-paper); }
.vpromo-modern__split { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .78fr); gap: clamp(42px, 7vw, 92px); align-items: center; }
.vpromo-modern__art { display: block; overflow: hidden; box-shadow: 0 24px 54px rgba(42,31,25,.14); }
.vpromo-modern__art img { width: 100%; }
.vpromo-modern h2 { margin: 0 0 22px; color: var(--vm-ink); font-size: clamp(2.7rem, 5vw, 5.2rem); line-height: 1; }
.vpromo-modern__split > div > p:not(.vmodern-kicker) { margin: 0 0 30px; color: var(--vm-muted); font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; font-style: italic; line-height: 1.7; }
.vpromo-modern__ended { grid-column: 1 / -1; max-width: 780px; padding: clamp(38px, 6vw, 74px); background: #fff; }
.vpromo-modern__paths { padding: clamp(76px, 9vw, 124px) 0; }
.vpromo-modern__paths > .vmodern-inner > h2 { max-width: 760px; }
.vpromo-modern__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 44px; }
.vpromo-modern__grid > a { min-height: 420px; position: relative; isolation: isolate; display: flex; align-items: end; overflow: hidden; padding: 34px 30px; border: 0; background: #251f1c center / cover no-repeat; background-image: linear-gradient(0deg, rgba(18,12,10,.9) 0%, rgba(18,12,10,.48) 56%, rgba(18,12,10,.12) 100%), var(--vpromo-card-image); color: #fff; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.vpromo-modern__grid > a::before { content: ""; position: absolute; inset: 0; z-index: -1; border: 1px solid rgba(255,255,255,.2); pointer-events: none; }
.vpromo-modern__grid > a:hover { transform: translateY(-5px); box-shadow: 0 24px 50px rgba(42,31,25,.2); }
.vpromo-modern__grid > a:hover::before { border-color: rgba(255,255,255,.52); }
.vpromo-modern__grid > a > div { width: 100%; display: grid; grid-template-rows: minmax(2.7rem, auto) minmax(3.25rem, auto) auto; align-items: end; }
.vpromo-modern__grid h3 { align-self: end; margin: 0 0 12px; color: #fff; font-size: clamp(2rem, 3vw, 2.7rem); line-height: 1; }
.vpromo-modern__grid p { align-self: start; max-width: 330px; margin: 0; color: rgba(255,255,255,.88); line-height: 1.6; }
.vpromo-modern__card-link { margin-top: 24px; }
.vpromo-modern__card-link { display: inline-flex; align-items: center; gap: 10px; color: #fff !important; font-size: .7rem !important; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.vpromo-modern__card-link span { color: var(--vm-gold); font-size: 1.1rem; line-height: 1; transition: transform .2s ease; }
.vpromo-modern__grid > a:hover .vpromo-modern__card-link span { transform: translateX(4px); }

/* Shared product template */
body.single-product #sub-header.elementor-page-title { display: none !important; }
body.single-product .elementor-location-single { background: var(--vm-paper-light); }
body.single-product .elementor-element-459c919 { width: min(1180px, calc(100% - 40px)); margin-inline: auto; padding: clamp(68px, 8vw, 112px) 0 !important; gap: clamp(42px, 7vw, 90px); align-items: flex-start; }
body.single-product .elementor-element-201eeaa,
body.single-product .elementor-element-a62b281 { width: calc(50% - 30px) !important; }
body.single-product .woocommerce-product-gallery { padding: 34px; border: 1px solid var(--vm-line); background: #fff; }
body.single-product .woocommerce-product-gallery img { max-height: 650px; object-fit: contain; }
body.single-product .woocommerce-breadcrumb { color: var(--vm-gold) !important; font-size: .68rem !important; font-weight: 800; letter-spacing: .12em; line-height: 1.6; text-transform: uppercase; }
body.single-product .elementor-element-619cec3 .elementor-heading-title { color: var(--vm-ink) !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(2.35rem, 3.2vw, 4rem) !important; font-weight: 400 !important; letter-spacing: -.02em !important; line-height: 1.04 !important; text-wrap: balance; }
body.single-product .price { color: var(--vm-wine) !important; font-size: 1.45rem !important; font-weight: 800; }
body.single-product .elementor-element-a939755,
body.single-product .elementor-element-a939755 p,
body.single-product .elementor-element-a939755 li { color: var(--vm-muted) !important; font-size: 1rem; line-height: 1.65; }
body.single-product .elementor-element-a939755 strong { color: var(--vm-ink); }
body.single-product .elementor-element-05a79b0 { padding: clamp(60px, 7vw, 96px) 0 !important; background: var(--vm-paper); }
body.single-product .related.products > h2 { color: var(--vm-ink) !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(2.4rem, 4vw, 4rem) !important; font-weight: 400 !important; }

/* Shared product taxonomies */
body.tax-product_cat .elementor-element-4bfd79b,
body.tax-product_tag .elementor-element-4bfd79b,
body.tax-product_brand .elementor-element-4bfd79b { min-height: 390px !important; display: flex; align-items: center; background: linear-gradient(125deg, var(--vm-wine-dark), var(--vm-wine)) !important; }
body.tax-product_cat .elementor-element-4bfd79b::before,
body.tax-product_tag .elementor-element-4bfd79b::before,
body.tax-product_brand .elementor-element-4bfd79b::before { content: "VAVIN CELLAR"; position: absolute; top: 32%; left: 50%; transform: translateX(-50%); color: var(--vm-gold); font-size: .72rem; font-weight: 800; letter-spacing: .17em; }
body.tax-product_cat .elementor-element-4a13be2 .elementor-heading-title,
body.tax-product_tag .elementor-element-4a13be2 .elementor-heading-title,
body.tax-product_brand .elementor-element-4a13be2 .elementor-heading-title { color: #fff !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(3.4rem, 7vw, 7rem) !important; font-weight: 400 !important; letter-spacing: -.025em !important; }
body.tax-product_cat .elementor-element-514aab3,
body.tax-product_tag .elementor-element-514aab3,
body.tax-product_brand .elementor-element-514aab3 { display: none !important; }
body.tax-product_cat .elementor-element-c7cbbb3,
body.tax-product_tag .elementor-element-c7cbbb3,
body.tax-product_brand .elementor-element-c7cbbb3 { padding: clamp(72px, 8vw, 116px) 0 !important; background: var(--vm-paper-light); }
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.tax-product_brand ul.products { gap: 22px !important; }
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product,
body.tax-product_brand ul.products li.product { border: 1px solid var(--vm-line); background: #fff; }

/* 404 */
.vmodern-404 { min-height: 72vh; display: flex; align-items: center; background: var(--vm-paper); }
.vmodern-404__inner { padding: 120px 0; }
.vmodern-404 h1 { max-width: 860px; margin: 0 0 22px; color: var(--vm-ink); font-size: clamp(3.8rem, 7vw, 7rem); line-height: .96; }
.vmodern-404__inner > p:not(.vmodern-eyebrow) { max-width: 600px; margin: 0 0 32px; color: var(--vm-muted); font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; font-style: italic; line-height: 1.6; }

@media (max-width: 1024px) {
  body.page-id-996709 .elementor-element-dde6c11 { grid-template-columns: 1fr; }
  body.page-id-1000432 .elementor-element-ce140e2 > .elementor-container { display: block !important; }
  body.page-id-1000432 .elementor-element-fbdab85 { width: 100% !important; position: static; margin-bottom: 34px; }
  .vpromo-modern__split { grid-template-columns: 1fr; }
  .vpromo-modern__grid { grid-template-columns: 1fr 1fr; }
  body.single-product .elementor-element-459c919 { display: block !important; }
  body.single-product .elementor-element-201eeaa,
  body.single-product .elementor-element-a62b281 { width: 100% !important; }
  body.single-product .elementor-element-201eeaa { margin-bottom: 44px; }
}

@media (max-width: 767px) {
  .vmodern-inner { width: min(100% - 28px, 1180px); }
  .vmodern-hero { min-height: 620px; background-position: 58% center; }
  .vmodern-hero__shade { background: linear-gradient(90deg, rgba(8,6,5,.91), rgba(8,6,5,.49)), linear-gradient(0deg, rgba(8,6,5,.7), transparent 58%); }
  .vmodern-hero__content { padding: 138px 0 56px; }
  .vmodern-hero h1 { font-size: clamp(3.35rem, 16vw, 5.2rem) !important; }
  .vmodern-hero--compact { min-height: 350px; }
  .vmodern-hero--compact .vmodern-hero__content { padding: 110px 0 58px; }
  .vmodern-actions .vmodern-button { width: 100%; }
  body.page-id-996709 .elementor-element-dde6c11,
  body.page-id-996709 .elementor-element-8d7b21a,
  body.page-id-996709 .elementor-element-8ed1b55,
  body.page-id-996709 .elementor-element-27615be,
  body.page-id-996709 .elementor-element-b3fd211,
  body.page-id-996709 .elementor-element-d9f1a25,
  body.page-id-996709 .elementor-element-6a3d07a,
  body.page-id-1000432 .elementor-element-ce140e2,
  body.page-id-364 .elementor-element-47c9403,
  body.page-id-364 .elementor-element-28997f6,
  body.page-id-364 .elementor-element-58a3177,
  body.page-id-364 .elementor-element-293a1ba,
  body.page-id-1002680 .elementor-element-8b00d5d,
  body.page-id-1002680 .elementor-element-3485b1e { width: min(100% - 28px, 1180px); }
  body.page-id-996709 .elementor-element-c5d2236 { padding: 28px 22px !important; }
  body.page-id-1000432 ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  body.page-id-1000432 ul.products li.product img { height: 220px !important; }
  body.page-id-1000432 .vamtam-product-content { padding: 14px !important; }
  body.page-id-1000432 .woocommerce-loop-product__title { font-size: 1rem !important; }
  body.page-id-364 .elementor-element-47c9403 { padding-block: 44px; }
  body.page-id-364 .elementor-element-df2ef58 { max-width: 100%; }
  body.page-id-364 .elementor-price-table__header { padding: 17px 20px !important; }
  body.page-id-364 .elementor-price-table__price { padding: 24px 18px 18px !important; }
  body.page-id-364 .elementor-price-table__integer-part { font-size: 3.8rem !important; }
  body.page-id-364 .elementor-price-table__features-list { grid-template-columns: 1fr; padding: 14px 22px !important; }
  body.page-id-364 .elementor-price-table__features-list li { min-height: 0; padding: 11px 0 !important; border-right: 0; border-bottom: 1px solid var(--vm-line); }
  body.page-id-364 .elementor-price-table__features-list li:last-child { border-bottom: 0; }
  body.page-id-364 .elementor-price-table__footer { padding: 22px 22px 24px !important; }
  body.page-id-989402 .vmodern-content > .elementor,
  body.page-id-989393 .vmodern-content > .elementor { width: min(100% - 28px, 940px); padding: 24px 18px !important; }
  .vpromo-modern__hero { min-height: 650px; background-position: 62% center; }
  .vpromo-modern__hero-content { padding: 138px 0 56px; }
  .vpromo-modern__hero h1 { font-size: clamp(3.45rem, 16vw, 5.3rem) !important; }
  .vpromo-modern__grid { grid-template-columns: 1fr; }
  .vpromo-modern__grid > a { min-height: 360px; padding: 28px 24px; }
  .vpromo-modern__grid > a > div { display: block; }
  .vpromo-modern__grid p { margin-bottom: 0; }
  body.single-product .elementor-element-459c919 { width: min(100% - 28px, 1180px); }
  body.single-product .woocommerce-product-gallery { padding: 20px; }
  body.single-product .elementor-element-619cec3 .elementor-heading-title { font-size: clamp(2rem, 8.5vw, 2.75rem) !important; letter-spacing: -.02em !important; line-height: 1.08 !important; }
  body.tax-product_cat .elementor-element-4bfd79b,
  body.tax-product_tag .elementor-element-4bfd79b,
  body.tax-product_brand .elementor-element-4bfd79b { min-height: 320px !important; }
  .vmodern-404__inner { padding: 90px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .vmodern *, .vmodern *::before, .vmodern *::after,
  .vpromo-modern *, .vpromo-modern *::before, .vpromo-modern *::after { transition: none !important; }
}
/* Native Elementor bridge for the former modernization plugin pages. */
body.page-id-996709, body.page-id-1000432, body.page-id-364, body.page-id-1002680,
body.page-id-995760, body.page-id-2947, body.page-id-2943, body.page-id-2945,
body.page-id-989402, body.page-id-989393 {
  --vm-wine: #7b3d56; --vm-wine-dark: #54283c; --vm-gold: #b89b61;
  --vm-ink: #252525; --vm-muted: #625b55; --vm-paper: #f7f2e8;
  --vm-paper-light: #fffdf9; --vm-white: #fff; --vm-line: #e2dacf;
  color: var(--vm-ink); font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
}
.elementor-element.vmodern-native-hero,
.elementor-element.vpromo-modern-native { --container-max-width: 100%; width: 100% !important; max-width: none !important; padding: 0 !important; }
.vmodern-native-hero > .e-con-inner,
.vpromo-modern-native > .e-con-inner,
.vmodern-native-hero .elementor-widget-html,
.vpromo-modern-native .elementor-widget-html,
.vmodern-native-hero .elementor-widget-container,
.vpromo-modern-native .elementor-widget-container { width: 100% !important; max-width: none !important; padding: 0 !important; }

/* VAVIN Gourmet aligned with Cellar — 2026-09-03 */
body.page-id-1000432 .vmodern-inner { width: min(1240px, calc(100% - 40px)); }
body.page-id-1000432 .vmodern-hero h1 { max-width: 760px; font-size: clamp(4.2rem, 8vw, 8rem) !important; line-height: .92 !important; }

body.page-id-1000432 .vgourmet-intro-native,
body.page-id-1000432 .vgourmet-intro-native > .e-con-inner,
body.page-id-1000432 .vgourmet-intro-native .elementor-widget-html,
body.page-id-1000432 .vgourmet-intro-native .elementor-widget-container { width: 100% !important; max-width: none !important; padding: 0 !important; }
body.page-id-1000432 .vgourmet-intro { background: var(--vm-paper); }
body.page-id-1000432 .vgourmet-intro__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 470px); gap: clamp(40px, 7vw, 90px); align-items: end; padding-block: clamp(70px, 8vw, 112px); }
body.page-id-1000432 .vgourmet-intro h2 { max-width: 670px; margin: 0; color: var(--vm-ink) !important; font-size: clamp(2.7rem, 5vw, 5.2rem) !important; line-height: 1 !important; }
body.page-id-1000432 .vgourmet-intro__copy { padding: 2px 0 3px clamp(22px, 3vw, 42px); border-left: 2px solid var(--vm-gold); }
body.page-id-1000432 .vgourmet-intro__copy p { margin: 0; color: var(--vm-muted) !important; font-family: Montserrat, "Helvetica Neue", Arial, sans-serif; font-size: .96rem; font-style: normal; line-height: 1.75; text-align: left; }
body.page-id-1000432 .vgourmet-intro__copy .vgourmet-intro__statement { margin-bottom: 15px; color: var(--vm-wine-dark) !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.18rem, 1.7vw, 1.42rem); font-style: italic; line-height: 1.5; }

body.page-id-1000432 .vgourmet-catalog { width: min(1240px, calc(100% - 40px)); margin-inline: auto; padding: clamp(70px, 8vw, 110px) 0 !important; }
body.page-id-1000432 .vgourmet-catalog > .elementor-container { width: 100% !important; max-width: none !important; gap: clamp(28px, 4vw, 58px); align-items: flex-start; }
body.page-id-1000432 .elementor-element-fbdab85 { width: 245px !important; flex: 0 0 245px; position: sticky; top: 118px; padding: 26px 24px 28px !important; border: 1px solid var(--vm-line); background: #fff; }
body.page-id-1000432 .elementor-element-876b09a { width: auto !important; min-width: 0; flex: 1 1 auto; }
body.page-id-1000432 .elementor-widget-jet-smart-filters-search,
body.page-id-1000432 .elementor-widget-jet-smart-filters-range { margin-bottom: 30px; }
body.page-id-1000432 .elementor-widget-jet-smart-filters-search::before,
body.page-id-1000432 .elementor-widget-jet-smart-filters-range::before,
body.page-id-1000432 .elementor-widget-jet-smart-filters-checkboxes::before { display: block; margin-bottom: 11px; color: var(--vm-ink); font-size: .7rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
body.page-id-1000432 .elementor-widget-jet-smart-filters-search::before { content: "Search"; }
body.page-id-1000432 .elementor-widget-jet-smart-filters-range::before { content: "Price"; }
body.page-id-1000432 .elementor-widget-jet-smart-filters-checkboxes::before { content: "Selection"; }
body.page-id-1000432 .jet-search-filter__input { min-height: 48px; padding: 11px 13px !important; border: 1px solid var(--vm-line) !important; border-radius: 0 !important; background: #fff !important; color: var(--vm-ink) !important; font-family: inherit; font-size: .85rem; box-shadow: none !important; }
body.page-id-1000432 .jet-search-filter__input:focus { border-color: var(--vm-wine) !important; outline: 2px solid rgba(123,61,86,.12); outline-offset: 0; }
body.page-id-1000432 .jet-range__slider { margin: 8px 0 15px; }
body.page-id-1000432 .jet-range__slider__track { height: 3px; background: var(--vm-line); }
body.page-id-1000432 .jet-range__slider__track__range { background: var(--vm-wine) !important; }
body.page-id-1000432 .jet-range__values { color: var(--vm-muted); font-size: .76rem; font-weight: 600; }
body.page-id-1000432 .jet-checkboxes-list-wrapper { display: grid; gap: 4px; }
body.page-id-1000432 .jet-checkboxes-list__button { min-height: 35px; display: flex; align-items: center; padding: 5px 0; color: var(--vm-muted); font-size: .82rem; }
body.page-id-1000432 .jet-checkboxes-list__item:hover .jet-checkboxes-list__button { color: var(--vm-wine); }
body.page-id-1000432 .jet-checkboxes-list__decorator { width: 16px !important; height: 16px !important; margin-right: 9px !important; border: 1px solid #bdb3aa !important; border-radius: 0 !important; background: #fff !important; }
body.page-id-1000432 .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__decorator { border-color: var(--vm-wine) !important; background: var(--vm-wine) !important; }

body.page-id-1000432 ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 22px !important; margin: 0 !important; }
body.page-id-1000432 ul.products li.product { width: auto !important; min-width: 0; display: flex !important; flex-direction: column; margin: 0 !important; border: 1px solid var(--vm-line); background: #fff; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
body.page-id-1000432 ul.products li.product:hover { transform: translateY(-4px); border-color: #d2c3b6; box-shadow: 0 18px 40px rgba(42,31,25,.1); }
body.page-id-1000432 ul.products li.product > a:first-child { display: block; padding: 24px 20px 0; background: #f7f3ed; }
body.page-id-1000432 ul.products li.product img { width: 100% !important; height: 330px !important; margin: 0 !important; object-fit: contain; transition: transform .35s ease; }
body.page-id-1000432 ul.products li.product:hover img { transform: scale(1.025); }
body.page-id-1000432 .vamtam-product-content { flex: 1 1 auto; display: flex; flex-direction: column; padding: 22px 20px 24px !important; }
body.page-id-1000432 .woocommerce-loop-product__title { min-height: 0 !important; margin: 0 0 10px !important; color: var(--vm-ink) !important; font-size: clamp(1.12rem, 1.5vw, 1.38rem) !important; line-height: 1.22 !important; }
body.page-id-1000432 .vamtam-product-cats { margin-bottom: 18px; color: var(--vm-muted); font-size: .68rem; font-weight: 700; letter-spacing: .05em; line-height: 1.5; text-transform: uppercase; }
body.page-id-1000432 .vamtam-product-cats a { color: var(--vm-muted) !important; }
body.page-id-1000432 .price { margin-top: auto; color: var(--vm-wine) !important; font-size: 1rem !important; font-weight: 800 !important; letter-spacing: .02em; }
body.page-id-1000432 .vamtam-add-to-cart-wrap { display: none !important; }

@media (max-width: 1024px) {
  body.page-id-1000432 .vgourmet-intro__inner { grid-template-columns: 1fr; gap: 28px; align-items: start; }
  body.page-id-1000432 .vgourmet-intro__copy { max-width: 720px; }
  body.page-id-1000432 .vgourmet-catalog > .elementor-container { display: block !important; }
  body.page-id-1000432 .elementor-element-fbdab85 { width: 100% !important; position: static; margin-bottom: 34px; }
}

@media (max-width: 767px) {
  body.page-id-1000432 .vmodern-inner,
  body.page-id-1000432 .vgourmet-catalog { width: min(100% - 28px, 1240px); }
  body.page-id-1000432 .vmodern-hero h1 { font-size: clamp(3.7rem, 18vw, 5.5rem) !important; }
  body.page-id-1000432 .vgourmet-intro__inner { padding-block: 62px; }
  body.page-id-1000432 .vgourmet-intro__copy { padding-left: 20px; }
  body.page-id-1000432 ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  body.page-id-1000432 ul.products li.product > a:first-child { padding: 14px 10px 0; }
  body.page-id-1000432 ul.products li.product img { height: 225px !important; }
  body.page-id-1000432 .vamtam-product-content { padding: 16px 13px 18px !important; }
  body.page-id-1000432 .woocommerce-loop-product__title { font-size: 1rem !important; line-height: 1.25 !important; }
  body.page-id-1000432 .vamtam-product-cats { margin-bottom: 13px; font-size: .6rem; }
  body.page-id-1000432 .price { font-size: .9rem !important; }
}

@media (max-width: 390px) {
  body.page-id-1000432 ul.products li.product img { height: 200px !important; }
  body.page-id-1000432 .vamtam-product-content { padding-inline: 11px !important; }
}

/* VAVIN Gourmet Le Comptoir feature — 2026-09-03 */
body.page-id-1000432 .vgourmet-partner { display: grid; grid-template-columns: minmax(260px, .78fr) minmax(320px, 1.22fr); gap: clamp(36px, 7vw, 96px); align-items: center; margin-bottom: clamp(70px, 8vw, 112px); padding: clamp(38px, 5vw, 64px); background: var(--vm-wine-dark); color: #fff; }
body.page-id-1000432 .vgourmet-partner__identity { padding-right: clamp(24px, 4vw, 54px); border-right: 1px solid rgba(255,255,255,.25); }
body.page-id-1000432 .vgourmet-partner__kicker { margin: 0 0 16px; color: #dcc99f !important; font-family: Montserrat, "Helvetica Neue", Arial, sans-serif; font-size: .7rem; font-weight: 800; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; }
body.page-id-1000432 .vgourmet-partner h3 { margin: 0; color: #fff !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.5rem, 4.8vw, 4.8rem) !important; font-weight: 400; line-height: .98 !important; letter-spacing: -.035em; }
body.page-id-1000432 .vgourmet-partner__copy p { max-width: 650px; margin: 0 0 24px; color: rgba(255,255,255,.82) !important; font-family: Montserrat, "Helvetica Neue", Arial, sans-serif; font-size: .95rem; line-height: 1.75; }
body.page-id-1000432 .vgourmet-partner__copy strong { color: #fff; font-weight: 700; }
body.page-id-1000432 .vgourmet-partner__link { display: inline-flex; gap: 10px; align-items: center; padding-bottom: 7px; border-bottom: 1px solid #dcc99f; color: #fff !important; font-family: Montserrat, "Helvetica Neue", Arial, sans-serif; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-decoration: none !important; text-transform: uppercase; transition: color .2s ease, border-color .2s ease; }
body.page-id-1000432 .vgourmet-partner__link:hover { border-color: #fff; color: #dcc99f !important; }

@media (max-width: 767px) {
  body.page-id-1000432 .vgourmet-partner { grid-template-columns: 1fr; gap: 28px; padding: 34px 26px 38px; }
  body.page-id-1000432 .vgourmet-partner__identity { padding: 0 0 28px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.25); }
  body.page-id-1000432 .vgourmet-partner h3 { font-size: clamp(2.65rem, 13vw, 4rem) !important; }
}

/* VAVIN Gourmet Le Comptoir copy refinement — 2026-09-03 */
body.page-id-1000432 .vgourmet-partner__kicker,
body.page-id-1000432 .vgourmet-partner__copy p { font-style: normal; }

/* VAVIN Gourmet Le Comptoir illustrated feature — 2026-09-03 */
body.page-id-1000432 .vgourmet-partner { display: grid; grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr); gap: 0; align-items: stretch; padding: 0; overflow: hidden; border: 1px solid rgba(184,155,97,.72); background: var(--vm-wine-dark); box-shadow: 0 28px 65px rgba(42,31,25,.14); }
body.page-id-1000432 .vgourmet-partner__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(46px, 6vw, 78px); }
body.page-id-1000432 .vgourmet-partner__kicker { color: #dcc99f !important; }
body.page-id-1000432 .vgourmet-partner h3 { max-width: 590px; margin-bottom: 28px; font-size: clamp(2.55rem, 4.2vw, 4.35rem) !important; line-height: 1.01 !important; }
body.page-id-1000432 .vgourmet-partner__copy p { max-width: 560px; }
body.page-id-1000432 .vgourmet-partner__gallery { min-height: 530px; display: grid; grid-template-columns: 1.12fr .88fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 28px; background: linear-gradient(145deg, #eadfce 0%, #f7f1e8 62%, #dfcfb9 100%); }
body.page-id-1000432 .vgourmet-partner__cheese { min-width: 0; position: relative; display: flex; align-items: center; justify-content: center; margin: 0; overflow: hidden; border: 1px solid rgba(84,40,60,.13); background: rgba(255,255,255,.7); }
body.page-id-1000432 .vgourmet-partner__cheese--hero { grid-row: 1 / 3; }
body.page-id-1000432 .vgourmet-partner__cheese::before { content: ""; position: absolute; inset: 13px; border: 1px solid rgba(184,155,97,.42); pointer-events: none; }
body.page-id-1000432 .vgourmet-partner__cheese img { width: 88%; height: 82%; object-fit: contain; filter: drop-shadow(0 18px 18px rgba(69,45,31,.18)); transition: transform .4s ease; }
body.page-id-1000432 .vgourmet-partner__cheese--hero img { width: 100%; height: 76%; }
body.page-id-1000432 .vgourmet-partner__cheese:hover img { transform: translateY(-3px) scale(1.025); }
body.page-id-1000432 .vgourmet-partner__cheese figcaption { position: absolute; right: 18px; bottom: 16px; left: 18px; color: var(--vm-wine-dark); font-family: Montserrat, "Helvetica Neue", Arial, sans-serif; font-size: .62rem; font-style: normal; font-weight: 800; letter-spacing: .11em; line-height: 1.3; text-align: center; text-transform: uppercase; }

@media (max-width: 1024px) {
  body.page-id-1000432 .vgourmet-partner { grid-template-columns: 1fr; }
  body.page-id-1000432 .vgourmet-partner__gallery { min-height: 470px; }
}

@media (max-width: 767px) {
  body.page-id-1000432 .vgourmet-partner { padding: 0; }
  body.page-id-1000432 .vgourmet-partner__content { padding: 38px 26px 42px; }
  body.page-id-1000432 .vgourmet-partner h3 { margin-bottom: 23px; font-size: clamp(2.45rem, 12vw, 3.5rem) !important; }
  body.page-id-1000432 .vgourmet-partner__gallery { min-height: 390px; gap: 8px; padding: 12px; }
  body.page-id-1000432 .vgourmet-partner__cheese::before { inset: 7px; }
  body.page-id-1000432 .vgourmet-partner__cheese figcaption { right: 8px; bottom: 9px; left: 8px; font-size: .52rem; }
}

/* VAVIN Gourmet Le Comptoir caption refinement — 2026-09-03 */
body.page-id-1000432 .vgourmet-partner__kicker { opacity: 1; }
body.page-id-1000432 .vgourmet-partner__cheese figcaption { right: 0; bottom: 0; left: 0; padding: 12px 8px 11px; background: rgba(251,248,242,.93); }
@media (max-width: 767px) {
  body.page-id-1000432 .vgourmet-partner__cheese figcaption { padding: 9px 4px 8px; }
}

/* VAVIN Gourmet Le Comptoir logo and internal cheese link — 2026-09-03 */
body.page-id-1000432 .vgourmet-partner__brand { display: flex; gap: 17px; align-items: center; margin-bottom: 25px; color: #dcc99f; font-family: Montserrat, "Helvetica Neue", Arial, sans-serif; font-size: .72rem; font-weight: 800; letter-spacing: .14em; line-height: 1; text-transform: uppercase; }
body.page-id-1000432 .vgourmet-partner__brand span { display: inline-flex; gap: 12px; align-items: center; }
body.page-id-1000432 .vgourmet-partner__brand b { color: rgba(255,255,255,.62); font-size: 1.1rem; font-weight: 400; }
body.page-id-1000432 .vgourmet-partner__brand img { width: 82px; height: 82px; flex: 0 0 82px; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(0,0,0,.2)); }

@media (max-width: 767px) {
  body.page-id-1000432 .vgourmet-partner__brand { gap: 13px; margin-bottom: 23px; }
  body.page-id-1000432 .vgourmet-partner__brand img { width: 70px; height: 70px; flex-basis: 70px; }
}

/* VAVIN Gourmet balanced logos and partnership copy — 2026-09-03 */
body.page-id-1000432 .vgourmet-partner__brand { gap: 18px; margin-bottom: 28px; }
body.page-id-1000432 .vgourmet-partner__brand .vgourmet-partner__brand-logo { object-fit: contain; }
body.page-id-1000432 .vgourmet-partner__brand .vgourmet-partner__brand-logo--vavin { width: 132px; height: 58px; flex: 0 0 132px; filter: none; }
body.page-id-1000432 .vgourmet-partner__brand .vgourmet-partner__brand-logo--le-comptoir { width: 72px; height: 72px; flex: 0 0 72px; filter: drop-shadow(0 8px 14px rgba(0,0,0,.2)); }
body.page-id-1000432 .vgourmet-partner__brand-cross { color: rgba(255,255,255,.68); font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; font-style: normal; font-weight: 400; line-height: 1; }

@media (max-width: 767px) {
  body.page-id-1000432 .vgourmet-partner__brand { gap: 13px; margin-bottom: 25px; }
  body.page-id-1000432 .vgourmet-partner__brand .vgourmet-partner__brand-logo--vavin { width: 110px; height: 48px; flex-basis: 110px; }
  body.page-id-1000432 .vgourmet-partner__brand .vgourmet-partner__brand-logo--le-comptoir { width: 62px; height: 62px; flex-basis: 62px; }
  body.page-id-1000432 .vgourmet-partner__brand-cross { font-size: 1.35rem; }
}

/* VAVIN Gourmet white Le Comptoir logo and Brie fit — 2026-09-03 */
body.page-id-1000432 .vgourmet-partner__brand .vgourmet-partner__brand-logo--le-comptoir { width: 134px; height: 68px; flex: 0 0 134px; filter: none; }
body.page-id-1000432 .vgourmet-partner__cheese--hero img { width: 78%; height: 66%; }

@media (max-width: 767px) {
  body.page-id-1000432 .vgourmet-partner__brand .vgourmet-partner__brand-logo--le-comptoir { width: 112px; height: 57px; flex-basis: 112px; }
  body.page-id-1000432 .vgourmet-partner__cheese--hero img { width: 76%; height: 62%; }
}

/* VAVIN Gourmet Breeze Xinyi shop image — 2026-09-03 */
body.page-id-1000432 .vgourmet-partner__gallery { display: flex; flex-direction: column; gap: 14px; min-height: 0; padding: 22px; }
body.page-id-1000432 .vgourmet-partner__shop { position: relative; flex: 0 0 clamp(170px, 14vw, 210px); min-height: 0; margin: 0; overflow: hidden; border: 1px solid rgba(84,40,60,.13); background: #d8cbbb; }
body.page-id-1000432 .vgourmet-partner__shop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(42,20,30,.58) 100%); pointer-events: none; }
body.page-id-1000432 .vgourmet-partner__shop img { width: 100%; height: 100%; object-fit: cover; object-position: center 36%; transform: scale(1.01); }
body.page-id-1000432 .vgourmet-partner__shop figcaption { position: absolute; z-index: 1; right: 18px; bottom: 15px; left: 18px; color: #fff; font-family: Montserrat, "Helvetica Neue", Arial, sans-serif; font-size: .62rem; font-style: normal; font-weight: 800; letter-spacing: .11em; line-height: 1.3; text-transform: uppercase; }
body.page-id-1000432 .vgourmet-partner__cheese-grid { display: grid; flex: 1 1 auto; grid-template-columns: 1.12fr .88fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 14px; min-height: 330px; }

@media (max-width: 767px) {
  body.page-id-1000432 .vgourmet-partner__gallery { gap: 8px; padding: 12px; }
  body.page-id-1000432 .vgourmet-partner__shop { flex-basis: 155px; }
  body.page-id-1000432 .vgourmet-partner__shop figcaption { right: 12px; bottom: 11px; left: 12px; font-size: .54rem; }
  body.page-id-1000432 .vgourmet-partner__cheese-grid { gap: 8px; min-height: 360px; }
}

/* VAVIN Private Events redesign 1.0.0 */
body.page-id-996709 {
  --vpe-wine:#7b3d56; --vpe-wine-dark:#54283c; --vpe-gold:#b89b61;
  --vpe-ink:#252525; --vpe-muted:#625b55; --vpe-paper:#f7f2e8;
  --vpe-paper-light:#fffdf9; --vpe-line:#e2dacf;
}
body.page-id-996709 .elementor-element.vpe-body,
body.page-id-996709 .vpe-body > .e-con-inner,
body.page-id-996709 .vpe-body .elementor-widget-html,
body.page-id-996709 .vpe-body .elementor-widget-container {
  width:100%!important; max-width:none!important; padding:0!important;
}
body.page-id-996709 .vpe-page,
body.page-id-996709 .vpe-page * { box-sizing:border-box; }
body.page-id-996709 .vpe-page {
  overflow:hidden; color:var(--vpe-ink); background:var(--vpe-paper-light);
  font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;
}
body.page-id-996709 .vpe-inner { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
body.page-id-996709 .vpe-section { padding:clamp(72px,8vw,118px) 0; }
body.page-id-996709 .vpe-eyebrow {
  margin:0 0 15px; color:var(--vpe-gold); font-size:.76rem; font-weight:800;
  letter-spacing:.17em; line-height:1.4; text-transform:uppercase;
}
body.page-id-996709 .vpe-page h2,
body.page-id-996709 .vpe-page h3,
body.page-id-996709 .vpe-inquiry-shell h2 {
  margin-top:0; color:var(--vpe-ink); font-family:Georgia,"Times New Roman",serif;
  font-weight:400; letter-spacing:-.025em;
}
body.page-id-996709 .vpe-page h2,
body.page-id-996709 .vpe-inquiry-shell h2 {
  margin-bottom:22px; font-size:clamp(2.65rem,5.3vw,5.25rem); line-height:.98;
}
body.page-id-996709 .vpe-lede {
  max-width:730px; margin:0; color:var(--vpe-muted); font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.12rem,1.7vw,1.38rem); font-style:italic; line-height:1.62;
}
body.page-id-996709 .vpe-intro { background:var(--vpe-paper-light); }
body.page-id-996709 .vpe-intro__grid {
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(42px,6vw,88px); align-items:center;
}
body.page-id-996709 .vpe-video {
  overflow:hidden; position:relative; background:#16110f; box-shadow:0 24px 70px rgba(61,42,37,.15);
}
body.page-id-996709 .vpe-video::before {
  content:""; display:block; height:4px; background:linear-gradient(90deg,var(--vpe-wine),var(--vpe-gold));
}
body.page-id-996709 .vpe-video video { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
body.page-id-996709 .vpe-intro__copy > p:not(.vpe-eyebrow),
body.page-id-996709 .vpe-intro__copy li { color:var(--vpe-muted); font-size:1rem; line-height:1.72; }
body.page-id-996709 .vpe-intro__copy > p:not(.vpe-eyebrow) { margin:0 0 18px; }
body.page-id-996709 .vpe-feature-list { display:grid; gap:13px; margin:28px 0 0; padding:0; list-style:none; }
body.page-id-996709 .vpe-feature-list li {
  display:grid; grid-template-columns:30px 1fr; gap:13px; align-items:start; margin:0;
}
body.page-id-996709 .vpe-gallery { background:var(--vpe-paper); }
body.page-id-996709 .vpe-gallery__head {
  display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:42px;
}
body.page-id-996709 .vpe-gallery__head h2 { max-width:700px; margin-bottom:0; }
body.page-id-996709 .vpe-gallery__head p:last-child { max-width:330px; margin:0 0 6px; color:var(--vpe-muted); line-height:1.65; }
body.page-id-996709 .vpe-gallery__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
body.page-id-996709 .vpe-gallery__item { overflow:hidden; position:relative; aspect-ratio:4/3; background:#dfd6ca; }
body.page-id-996709 .vpe-gallery__item:nth-child(1),
body.page-id-996709 .vpe-gallery__item:nth-child(6),
body.page-id-996709 .vpe-gallery__item:nth-child(7),
body.page-id-996709 .vpe-gallery__item:nth-child(8) { grid-column:span 2; }
body.page-id-996709 .vpe-gallery__item img {
  display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease,filter .45s ease;
}
body.page-id-996709 .vpe-gallery__item:hover img,
body.page-id-996709 .vpe-gallery__item:focus-visible img { transform:scale(1.035); filter:brightness(.82); }
body.page-id-996709 .vpe-pricing { background:var(--vpe-paper-light); }
body.page-id-996709 .vpe-pricing__head { max-width:800px; margin-bottom:46px; }
body.page-id-996709 .vpe-pricing__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
body.page-id-996709 .vpe-rate {
  min-height:300px; display:flex; flex-direction:column; padding:28px 24px;
  border:1px solid var(--vpe-line); background:#fff;
}
body.page-id-996709 .vpe-rate--featured { border-top:4px solid var(--vpe-wine); padding-top:25px; }
body.page-id-996709 .vpe-rate__day {
  min-height:48px; margin:0 0 14px; color:var(--vpe-wine-dark); font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem; line-height:1.1;
}
body.page-id-996709 .vpe-rate__time { margin:0 0 28px; color:var(--vpe-gold); font-size:.75rem; font-weight:800; letter-spacing:.12em; }
body.page-id-996709 .vpe-rate__option { margin-top:auto; padding-top:15px; border-top:1px solid var(--vpe-line); color:var(--vpe-muted); font-size:.78rem; line-height:1.45; }
body.page-id-996709 .vpe-rate__option + .vpe-rate__option { margin-top:14px; }
body.page-id-996709 .vpe-rate__option strong { display:block; color:var(--vpe-ink); font-size:1.13rem; }
body.page-id-996709 .vpe-pricing__note {
  margin:28px 0 0; padding:18px 22px; border-left:3px solid var(--vpe-gold);
  color:var(--vpe-muted); background:var(--vpe-paper); font-size:.92rem; line-height:1.6;
}
body.page-id-996709 .vpe-planning { color:#fff; background:var(--vpe-wine-dark); }
body.page-id-996709 .vpe-planning .vpe-eyebrow { color:#d8bf87; }
body.page-id-996709 .vpe-planning h2 { max-width:800px; color:#fff; }
body.page-id-996709 .vpe-planning .vpe-lede { color:#f0e7e1; }
body.page-id-996709 .vpe-details { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:46px; }
body.page-id-996709 .vpe-details details { border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.055); }
body.page-id-996709 .vpe-details summary {
  position:relative; padding:22px 54px 22px 24px; cursor:pointer; color:#fff;
  font-family:Georgia,"Times New Roman",serif; font-size:1.2rem; list-style:none;
}
body.page-id-996709 .vpe-details summary::-webkit-details-marker { display:none; }
body.page-id-996709 .vpe-details summary::after {
  content:"+"; position:absolute; right:24px; top:50%; translate:0 -50%; color:#d8bf87;
  font-family:Montserrat,sans-serif; font-size:1.35rem;
}
body.page-id-996709 .vpe-details details[open] summary::after { content:"−"; }
body.page-id-996709 .vpe-details details div { padding:0 24px 24px; color:#efe8e3; font-size:.92rem; line-height:1.68; }
body.page-id-996709 .vpe-details details div p { margin:0; }
body.page-id-996709 .vpe-button {
  min-height:49px; display:inline-flex; align-items:center; justify-content:center; margin-top:30px;
  padding:14px 22px; border:1px solid var(--vpe-wine); color:#fff!important; background:var(--vpe-wine);
  font-size:.76rem; font-weight:800; letter-spacing:.1em; text-decoration:none!important; text-transform:uppercase;
}
body.page-id-996709 .vpe-button:hover,
body.page-id-996709 .vpe-button:focus-visible { background:var(--vpe-wine-dark); }
body.page-id-996709 .vpe-inquiry-shell {
  width:100%!important; max-width:none!important; margin:0!important; padding:clamp(72px,8vw,118px) 20px!important;
  background:var(--vpe-paper);
}
body.page-id-996709 .vpe-inquiry-shell > .e-con-inner {
  width:min(1180px,100%)!important; max-width:1180px!important; display:grid!important;
  grid-template-columns:minmax(280px,.72fr) minmax(420px,1.28fr); gap:clamp(42px,7vw,100px); align-items:start;
}
body.page-id-996709 .vpe-inquiry-shell .vpe-inquiry__intro { padding-top:18px; }
body.page-id-996709 .vpe-inquiry-shell .vpe-eyebrow { margin:0 0 15px; color:var(--vpe-gold); font-size:.76rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
body.page-id-996709 .vpe-inquiry-shell h2 { margin-bottom:22px; }
body.page-id-996709 .vpe-inquiry-shell .vpe-inquiry__intro > p:not(.vpe-eyebrow) { color:var(--vpe-muted); font-size:1rem; line-height:1.72; }
body.page-id-996709 .vpe-inquiry-shell .vpe-inquiry__meta { margin-top:26px!important; padding-top:22px; border-top:1px solid var(--vpe-line); }
body.page-id-996709 .vpe-inquiry-shell .vpe-inquiry__meta a { color:var(--vpe-wine); font-weight:700; }
body.page-id-996709 .vpe-inquiry-shell .elementor-element-b90428b {
  width:100%!important; padding:clamp(28px,4vw,46px)!important; border-top:4px solid var(--vpe-wine);
  background:#fff; box-shadow:0 22px 65px rgba(61,42,37,.10);
}
body.page-id-996709 .vpe-inquiry-shell .elementor-field-group { margin-bottom:17px!important; }
body.page-id-996709 .vpe-inquiry-shell .elementor-field-label {
  margin-bottom:7px!important; color:var(--vpe-ink)!important; font-size:.74rem!important;
  font-weight:800!important; letter-spacing:.08em; text-transform:uppercase;
}
body.page-id-996709 .vpe-inquiry-shell input,
body.page-id-996709 .vpe-inquiry-shell textarea,
body.page-id-996709 .vpe-inquiry-shell select {
  min-height:50px; padding:12px 14px!important; border:1px solid var(--vpe-line)!important;
  border-radius:0!important; color:var(--vpe-ink)!important; background:#fffdf9!important; font-size:1rem!important;
}
body.page-id-996709 .vpe-inquiry-shell textarea { min-height:150px; resize:vertical; }
body.page-id-996709 .vpe-inquiry-shell input:focus,
body.page-id-996709 .vpe-inquiry-shell textarea:focus,
body.page-id-996709 .vpe-inquiry-shell select:focus { border-color:var(--vpe-wine)!important; box-shadow:0 0 0 2px rgba(123,61,86,.12)!important; }
body.page-id-996709 .vpe-inquiry-shell .elementor-button {
  min-height:52px; border:1px solid var(--vpe-wine)!important; border-radius:0!important;
  color:#fff!important; background:var(--vpe-wine)!important; font-size:.78rem!important;
  font-weight:800!important; letter-spacing:.11em; text-transform:uppercase;
}
body.page-id-996709 .vpe-inquiry-shell .elementor-button:hover { background:var(--vpe-wine-dark)!important; }
@media (max-width:1024px) {
  body.page-id-996709 .vpe-intro__grid { grid-template-columns:1fr; }
  body.page-id-996709 .vpe-intro__copy { max-width:760px; }
  body.page-id-996709 .vpe-pricing__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.page-id-996709 .vpe-rate:last-child { grid-column:1/-1; min-height:0; }
  body.page-id-996709 .vpe-inquiry-shell > .e-con-inner { grid-template-columns:1fr; }
  body.page-id-996709 .vpe-inquiry-shell .vpe-inquiry__intro { max-width:760px; }
}
@media (max-width:767px) {
  body.page-id-996709 .vpe-inner { width:min(100% - 28px,1180px); }
  body.page-id-996709 .vpe-section { padding:64px 0; }
  body.page-id-996709 .vpe-page h2,
  body.page-id-996709 .vpe-inquiry-shell h2 { font-size:clamp(2.45rem,12vw,3.45rem); line-height:1.02; }
  body.page-id-996709 .vpe-gallery__head { display:block; margin-bottom:30px; }
  body.page-id-996709 .vpe-gallery__head p:last-child { margin-top:18px; }
  body.page-id-996709 .vpe-gallery__grid { grid-template-columns:1fr 1fr; gap:7px; }
  body.page-id-996709 .vpe-gallery__item:nth-child(1),
  body.page-id-996709 .vpe-gallery__item:nth-child(6) { grid-column:span 2; aspect-ratio:16/9; }
  body.page-id-996709 .vpe-gallery__item:nth-child(7),
  body.page-id-996709 .vpe-gallery__item:nth-child(8) { grid-column:auto; }
  body.page-id-996709 .vpe-pricing__grid { grid-template-columns:1fr; }
  body.page-id-996709 .vpe-rate,
  body.page-id-996709 .vpe-rate:last-child { min-height:0; grid-column:auto; }
  body.page-id-996709 .vpe-rate__day { min-height:0; }
  body.page-id-996709 .vpe-details { grid-template-columns:1fr; }
  body.page-id-996709 .vpe-inquiry-shell { padding:64px 14px!important; }
  body.page-id-996709 .vpe-inquiry-shell > .e-con-inner { gap:34px; }
  body.page-id-996709 .vpe-inquiry-shell .elementor-element-b90428b { padding:26px 18px!important; }
}
@media (prefers-reduced-motion:reduce) {
  body.page-id-996709 .vpe-gallery__item img { transition:none; }
}

/* VAVIN Private Events carousel and intro harmony 1.0.0 */
body.page-id-996709 .vpe-intro { padding:clamp(54px,5.5vw,82px) 0; }
body.page-id-996709 .vpe-intro__grid {
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
  gap:clamp(38px,5vw,72px); align-items:start;
}
body.page-id-996709 .vpe-intro__copy h2 {
  max-width:560px; margin-bottom:18px; font-size:clamp(3rem,4.4vw,4.55rem); line-height:1;
}
body.page-id-996709 .vpe-intro__copy > p:not(.vpe-eyebrow) { margin:0 0 14px; }
body.page-id-996709 .vpe-intro__copy .vpe-button { margin-top:14px; }
body.page-id-996709 .vpe-feature-list {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0;
  margin:38px 0 0; padding:0; border-top:1px solid var(--vpe-line);
  border-bottom:1px solid var(--vpe-line); list-style:none;
}
body.page-id-996709 .vpe-feature-list li,
body.page-id-996709 .vpe-feature-list li:first-child,
body.page-id-996709 .vpe-feature-list li:nth-child(3),
body.page-id-996709 .vpe-feature-list li:last-child {
  display:block; margin:0; padding:22px 24px; border-top:0;
  border-right:1px solid var(--vpe-line); color:var(--vpe-muted); font-size:.9rem; line-height:1.58;
}
body.page-id-996709 .vpe-feature-list li:first-child { padding-left:0; }
body.page-id-996709 .vpe-feature-list li:last-child { padding-right:0; border-right:0; }
body.page-id-996709 .vpe-gallery__grid {
  display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:76%;
  gap:16px; overflow-x:auto; padding:0 0 20px; scroll-snap-type:x mandatory;
  scroll-padding-inline:0; overscroll-behavior-inline:contain; cursor:grab;
  scrollbar-width:thin; scrollbar-color:var(--vpe-gold) rgba(84,40,60,.13);
}
body.page-id-996709 .vpe-gallery__grid:active { cursor:grabbing; }
body.page-id-996709 .vpe-gallery__grid::-webkit-scrollbar { height:7px; }
body.page-id-996709 .vpe-gallery__grid::-webkit-scrollbar-track { background:rgba(84,40,60,.10); }
body.page-id-996709 .vpe-gallery__grid::-webkit-scrollbar-thumb { background:var(--vpe-gold); }
body.page-id-996709 .vpe-gallery__grid:focus-visible { outline:2px solid var(--vpe-wine); outline-offset:6px; }
body.page-id-996709 .vpe-gallery__item,
body.page-id-996709 .vpe-gallery__item:nth-child(1),
body.page-id-996709 .vpe-gallery__item:nth-child(6),
body.page-id-996709 .vpe-gallery__item:nth-child(7),
body.page-id-996709 .vpe-gallery__item:nth-child(8) {
  grid-column:auto!important; aspect-ratio:16/9; scroll-snap-align:start; scroll-snap-stop:always;
}
@media (max-width:1024px) {
  body.page-id-996709 .vpe-intro__grid { grid-template-columns:1fr; }
  body.page-id-996709 .vpe-feature-list { grid-template-columns:1fr 1fr; }
  body.page-id-996709 .vpe-feature-list li:nth-child(2) { border-right:0; }
  body.page-id-996709 .vpe-feature-list li:nth-child(n+3) { border-top:1px solid var(--vpe-line); }
  body.page-id-996709 .vpe-feature-list li:nth-child(3) { padding-left:0; }
  body.page-id-996709 .vpe-gallery__grid { grid-auto-columns:84%; }
}
@media (max-width:767px) {
  body.page-id-996709 .vpe-intro { padding:50px 0; }
  body.page-id-996709 .vpe-intro__copy h2 { font-size:clamp(2.45rem,12vw,3.35rem); }
  body.page-id-996709 .vpe-feature-list { grid-template-columns:1fr; margin-top:30px; }
  body.page-id-996709 .vpe-feature-list li,
  body.page-id-996709 .vpe-feature-list li:first-child,
  body.page-id-996709 .vpe-feature-list li:nth-child(2),
  body.page-id-996709 .vpe-feature-list li:nth-child(3),
  body.page-id-996709 .vpe-feature-list li:last-child {
    padding:18px 0; border-right:0; border-top:1px solid var(--vpe-line);
  }
  body.page-id-996709 .vpe-feature-list li:first-child { border-top:0; }
  body.page-id-996709 .vpe-gallery__grid {
    grid-template-columns:none; grid-auto-columns:88%; gap:10px; padding-bottom:15px;
  }
  body.page-id-996709 .vpe-gallery__item,
  body.page-id-996709 .vpe-gallery__item:nth-child(1),
  body.page-id-996709 .vpe-gallery__item:nth-child(6),
  body.page-id-996709 .vpe-gallery__item:nth-child(7),
  body.page-id-996709 .vpe-gallery__item:nth-child(8) { grid-column:auto!important; aspect-ratio:4/3; }
}
/* VAVIN What's New editorial grid 1.0.0 — 2026-09-15 */
body.page-id-1002680 .elementor-element-8b00d5d {
  padding:clamp(62px,8vw,104px) 0 40px;
}
body.page-id-1002680 .elementor-element-8b00d5d .elementor-heading-title {
  max-width:780px;
  margin:0;
  font-size:clamp(3rem,5vw,5rem)!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
}
body.page-id-1002680 .elementor-element-3485b1e {
  --width:100%;
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  padding:0 0 clamp(74px,9vw,122px);
}
body.page-id-1002680 .elementor-element-692326e,
body.page-id-1002680 .elementor-element-692326e > .elementor-widget-container {
  width:100%!important;
  max-width:none!important;
}
body.page-id-1002680 .elementor-element-692326e .elementor-posts-container {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(24px,3vw,36px)!important;
}
body.page-id-1002680 article.elementor-post {
  min-width:0;
  height:100%;
  display:flex!important;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--vm-line);
  border-top:3px solid transparent;
  background:#fff;
  box-shadow:0 12px 34px rgba(42,31,25,.055);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
body.page-id-1002680 article.elementor-post:hover {
  transform:translateY(-4px);
  border-top-color:var(--vm-gold);
  box-shadow:0 22px 48px rgba(42,31,25,.11);
}
body.page-id-1002680 .elementor-post__thumbnail__link {
  margin:0!important;
  overflow:hidden;
  background:var(--vm-paper);
}
body.page-id-1002680 .elementor-post__thumbnail {
  padding-bottom:61%!important;
}
body.page-id-1002680 .elementor-post__thumbnail img {
  object-fit:cover;
  transition:transform .4s ease;
}
body.page-id-1002680 article.elementor-post:hover .elementor-post__thumbnail img {
  transform:scale(1.025);
}
body.page-id-1002680 .elementor-post__text {
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  padding:clamp(24px,3vw,32px)!important;
}
body.page-id-1002680 .elementor-post__title {
  margin:0 0 10px!important;
  color:var(--vm-ink)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.55rem,2.2vw,2rem)!important;
  font-weight:400!important;
  line-height:1.16!important;
  letter-spacing:-.018em!important;
}
body.page-id-1002680 .elementor-post__title a {
  color:inherit!important;
  text-decoration:none!important;
}
body.page-id-1002680 .elementor-post__meta-data {
  margin:0 0 17px!important;
  color:var(--vm-gold)!important;
  font-size:.7rem!important;
  font-weight:800;
  letter-spacing:.105em;
  line-height:1.45;
  text-transform:uppercase;
}
body.page-id-1002680 .elementor-post__excerpt,
body.page-id-1002680 .elementor-post__excerpt p {
  margin:0!important;
  color:var(--vm-muted)!important;
  font-size:.95rem!important;
  line-height:1.7!important;
}
body.page-id-1002680 .elementor-post__read-more {
  align-self:flex-start;
  margin-top:22px!important;
  padding-bottom:5px;
  border-bottom:1px solid var(--vm-gold);
  color:var(--vm-wine)!important;
  font-size:.7rem!important;
  font-weight:800!important;
  letter-spacing:.1em;
  line-height:1.4;
  text-decoration:none!important;
  text-transform:uppercase;
}
body.page-id-1002680 .elementor-post__read-more::after {
  content:" →";
}
body.page-id-1002680 .elementor-post__title a:focus-visible,
body.page-id-1002680 .elementor-post__thumbnail__link:focus-visible,
body.page-id-1002680 .elementor-post__read-more:focus-visible {
  outline:2px solid var(--vm-wine);
  outline-offset:4px;
}
@media (max-width:767px) {
  body.page-id-1002680 .elementor-element-8b00d5d .elementor-heading-title {
    font-size:clamp(2.55rem,12vw,3.4rem)!important;
  }
  body.page-id-1002680 .elementor-element-692326e .elementor-posts-container {
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  body.page-id-1002680 .elementor-post__text {
    padding:23px 21px 25px!important;
  }
  body.page-id-1002680 .elementor-post__title {
    font-size:1.48rem!important;
    line-height:1.18!important;
  }
}
@media (max-width:640px) {
  body.page-id-1002680 .elementor-element-8b00d5d,
  body.page-id-1002680 .elementor-element-3485b1e {
    width:min(100% - 28px,1180px)!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  body.page-id-1002680 article.elementor-post,
  body.page-id-1002680 .elementor-post__thumbnail img {
    transition:none!important;
  }
}
/* VAVIN What's New uncropped images 1.0.1 — 2026-09-16 */
body.page-id-1002680 .elementor-post__thumbnail__link {
  background:#fff;
}
body.page-id-1002680 .elementor-post__thumbnail img {
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  transition:none!important;
}
body.page-id-1002680 article.elementor-post:hover .elementor-post__thumbnail img {
  transform:none!important;
}
/* VAVIN What's New uniform image heights 1.0.2 — 2026-09-16 */
body.page-id-1002680 .elementor-post__thumbnail {
  padding-bottom:52.5%!important;
}
/* Maison Le Nid is a wide unbranded photograph: fill the shared frame while
   keeping every branded visual in uncropped contain mode. */
body.page-id-1002680 article.post-1002647 .elementor-post__thumbnail img {
  object-fit:cover!important;
  object-position:center!important;
}

/* VAVIN Private Events hero title spacing 2026-09-23 */
body.page-id-996709 .vmodern-hero h1 {
  line-height: 1.08 !important;
}
/* VAVIN product mobile gallery and related cards 1.0.0 — 2026-09-24 */
@media (max-width: 767px) {
  body.single-product .elementor-element-201eeaa > .elementor-widget-wrap {
    justify-content: center !important;
    padding: 0 !important;
  }
  body.single-product .elementor-element-201eeaa .elementor-element-68dc302 {
    width: min(100%, 330px) !important;
    max-width: 330px !important;
    margin-inline: auto !important;
  }
  body.single-product .elementor-element-201eeaa .elementor-element-68dc302 > .elementor-widget-container {
    width: 100% !important;
  }
  body.single-product .elementor-element-201eeaa .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding: 14px !important;
  }
  body.single-product .elementor-element-201eeaa .woocommerce-product-gallery img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin-inline: auto !important;
    object-fit: contain !important;
  }
  body.single-product .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px 12px !important;
    width: min(100% - 20px, 560px) !important;
    margin-inline: auto !important;
  }
  body.single-product .related.products ul.products > li.product {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  body.single-product .related.products ul.products > li.product > a.woocommerce-loop-product__link {
    display: block !important;
    margin-bottom: 18px !important;
  }
  body.single-product .related.products .vamtam-product-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
  }
  body.single-product .related.products .vamtam-product-content > a {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
  }
  body.single-product .related.products .price {
    margin-top: auto !important;
  }
  body.single-product .related.products .vamtam-add-to-cart-wrap {
    margin-top: auto !important;
  }
}
@media (max-width: 360px) {
  body.single-product .related.products .vamtam-product-content {
    padding-inline: 12px !important;
  }
  body.single-product .related.products .price {
    font-size: 1.15rem !important;
    letter-spacing: .08em !important;
    white-space: nowrap !important;
  }
  body.single-product .related.products .button {
    padding-inline: 10px !important;
    white-space: nowrap !important;
  }
}

/* VAVIN related mobile prices 1.0.1 — 2026-09-24 */
@media (max-width: 480px) {
  body.single-product .related.products .vamtam-product-content {
    padding-inline: 12px !important;
  }
  body.single-product .related.products .price {
    align-self: stretch !important;
    margin-inline: -8px !important;
    font-size: clamp(1rem, 4.5vw, 1.25rem) !important;
    letter-spacing: .03em !important;
    line-height: 1.35 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
}

/* VAVIN related desktop price alignment 1.0.2 — 2026-09-24 */
@media (min-width: 768px) {
  body.single-product .related.products ul.products > li.product .vamtam-product-content {
    display: flex !important;
    flex-direction: column !important;
  }
  body.single-product .related.products ul.products > li.product .vamtam-product-cats {
    margin-top: auto !important;
  }
}

/* VAVIN Discovery product refresh 1.0.0 — 2026-09-25 */
body.postid-990487 .elementor-element-459c919 {
  overflow: hidden;
  padding: clamp(48px, 6vw, 88px) 24px !important;
  background:
    radial-gradient(circle at 10% 10%, rgba(172, 52, 42, .09), transparent 34%),
    linear-gradient(135deg, #f7f2ed 0%, #fbf9f6 58%, #f1e7df 100%) !important;
}

body.postid-990487 .elementor-element-459c919 > .elementor-container {
  align-items: center;
  gap: clamp(34px, 5vw, 72px);
  max-width: 1280px;
}

body.postid-990487 .elementor-element-201eeaa,
body.postid-990487 .elementor-element-a62b281 {
  width: calc(50% - 36px);
}

body.postid-990487 .elementor-element-a62b281 {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

body.postid-990487 .elementor-element-201eeaa > .elementor-widget-wrap {
  justify-content: center;
  padding: 0;
}

body.postid-990487 .elementor-element-68dc302 {
  width: min(100%, 570px) !important;
  max-width: 570px !important;
  margin: 0 auto !important;
}

body.postid-990487 .elementor-element-68dc302 > .elementor-widget-container {
  width: 100%;
}

body.postid-990487 .woocommerce-product-gallery {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid rgba(113, 35, 61, .14);
  border-radius: 4px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 28px 70px rgba(56, 26, 23, .18);
  opacity: 1 !important;
}

body.postid-990487 .woocommerce-product-gallery__image,
body.postid-990487 .woocommerce-product-gallery__image a {
  display: block;
}

body.postid-990487 .woocommerce-product-gallery img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: min(68vh, 760px) !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

body.postid-990487 .elementor-element-a62b281 > .elementor-widget-wrap {
  padding: clamp(32px, 4vw, 56px) !important;
  border: 1px solid rgba(113, 35, 61, .12);
  border-radius: 4px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 24px 65px rgba(56, 26, 23, .12);
}

body.postid-990487 .woocommerce-breadcrumb {
  margin-bottom: 20px;
  color: #8d777c;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.postid-990487 .woocommerce-breadcrumb a {
  color: #71313f;
}

body.postid-990487 .elementor-element-619cec3 h1 {
  margin: 0 0 14px;
  color: #311d21;
  font-size: clamp(42px, 4.5vw, 68px);
  line-height: .98;
  letter-spacing: -.035em;
}

body.postid-990487 .elementor-element-cc3bad4 .price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 26px;
  color: #8f293f;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 700;
  letter-spacing: .01em;
}

body.postid-990487 .elementor-element-cc3bad4 .subscription-details {
  color: #6f5a5e;
  font-size: .58em;
  font-weight: 500;
  letter-spacing: .03em;
}

body.postid-990487 .variations {
  width: 100%;
  margin: 0 0 18px;
}

body.postid-990487 .variations tr,
body.postid-990487 .variations tbody,
body.postid-990487 .variations td {
  display: block;
  width: 100%;
}

body.postid-990487 .variations .label {
  padding: 0 0 8px;
}

body.postid-990487 .variations .label label {
  color: #42282e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.postid-990487 .variations select {
  min-height: 54px;
  border: 1px solid #d9cbc7;
  border-radius: 2px;
  background-color: #fff;
  color: #311d21;
  font-size: 15px;
}

body.postid-990487 .reset_variations {
  display: inline-block;
  margin-top: 8px;
  color: #8f293f;
  font-size: 12px;
}

body.postid-990487 .limited-subscription-notice {
  margin: 0 0 18px;
  padding: 12px 14px;
  border-left: 3px solid #a43c42;
  background: #fbf3f1;
  color: #68494f;
  font-size: 13px;
  line-height: 1.45;
}

body.postid-990487 .single_variation_wrap .woocommerce-variation .price {
  display: block !important;
  margin: 16px 0 18px !important;
  color: #8f293f;
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

body.postid-990487 .single_variation_wrap .woocommerce-variation .price > .amount {
  font-size: 23px;
}

body.postid-990487 .single_variation_wrap .woocommerce-variation .subscription-details {
  color: #6f5a5e;
  font-size: 14px !important;
  font-weight: 500;
  letter-spacing: 0 !important;
}

body.postid-990487 .woocommerce-variation-add-to-cart {
  display: flex;
  align-items: stretch;
  gap: 12px;
}

body.postid-990487 .qib-button-wrapper {
  flex: 0 0 auto;
  margin: 0;
}

body.postid-990487 .single_add_to_cart_button {
  flex: 1 1 auto;
  min-height: 54px;
  border-radius: 2px !important;
  background: #8f293f !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase;
}

body.postid-990487 .single_add_to_cart_button:hover,
body.postid-990487 .single_add_to_cart_button:focus-visible {
  background: #6f1f32 !important;
}

body.postid-990487 .elementor-element-a939755 {
  margin-top: 30px;
  padding-top: 28px;
  border-top: 1px solid #e6dcd8;
}

body.postid-990487 .elementor-element-a939755 .vgblk-rw-wrapper > strong:first-child {
  display: block;
  margin-bottom: 12px;
  color: #311d21;
  font-family: inherit;
  font-size: clamp(18px, 1.55vw, 23px);
  line-height: 1.35;
}

body.postid-990487 .elementor-element-a939755 p {
  margin: 0 0 12px;
  color: #6a565a;
  font-size: 15px;
  line-height: 1.65;
}

body.postid-990487 .elementor-element-a939755 p:empty,
body.postid-990487 .elementor-element-a939755 p:has(> br:only-child) {
  display: none;
}

body.postid-990487 .elementor-element-a939755 ul {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

body.postid-990487 .elementor-element-a939755 li {
  position: relative;
  margin: 0;
  padding: 13px 16px 13px 42px;
  border: 1px solid #eadfdb;
  border-radius: 2px;
  background: #fbf8f5;
  color: #493338;
  font-size: 14px;
  line-height: 1.45;
}

body.postid-990487 .elementor-element-a939755 li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 17px;
  width: 9px;
  height: 9px;
  border: 2px solid #a43c42;
  transform: translateY(-50%) rotate(45deg);
}

@media (max-width: 767px) {
  body.postid-990487 .elementor-element-459c919 {
    padding: 24px 18px 48px !important;
  }

  body.postid-990487 .elementor-element-459c919 > .elementor-container {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  body.postid-990487 .elementor-element-201eeaa,
  body.postid-990487 .elementor-element-a62b281 {
    width: 100% !important;
  }

  body.postid-990487 .elementor-element-68dc302 {
    width: min(100%, 350px) !important;
    max-width: 350px !important;
  }

  body.single-product.postid-990487 .elementor-element-201eeaa .woocommerce-product-gallery {
    padding: 10px !important;
    box-shadow: 0 18px 42px rgba(56, 26, 23, .14);
  }

  body.single-product.postid-990487 .elementor-element-201eeaa .woocommerce-product-gallery img {
    max-height: 560px !important;
  }

  body.postid-990487 .elementor-element-a62b281 > .elementor-widget-wrap {
    padding: 28px 22px 32px !important;
  }

  body.postid-990487 .woocommerce-breadcrumb {
    margin-bottom: 14px;
    font-size: 10px;
  }

  body.postid-990487 .elementor-element-619cec3 h1 {
    font-size: clamp(42px, 15vw, 58px);
  }

  body.postid-990487 .woocommerce-variation-add-to-cart {
    flex-wrap: wrap;
  }

  body.postid-990487 .single_add_to_cart_button {
    min-width: 180px;
  }
}

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

/* VAVIN Discovery desktop alignment 1.0.1 — 2026-09-25 */
@media (min-width: 768px) {
  body.postid-990487 .elementor-element-459c919 > .elementor-container {
    align-items: flex-start !important;
  }

  body.postid-990487 .elementor-element-201eeaa,
  body.postid-990487 .elementor-element-a62b281 {
    align-self: flex-start !important;
  }

  body.postid-990487 .elementor-element-68dc302 {
    margin-top: 0 !important;
  }
}
/* VAVIN What's New card text alignment 1.0.0 — 2026-09-25 */
/* Paired cards share title, date, excerpt and action baselines. */
@media (min-width:768px) {
  body.page-id-1002680 .elementor-element-692326e .elementor-post__title {
    min-height:3.48em!important;
  }
  body.page-id-1002680 .elementor-element-692326e .elementor-post__read-more-wrapper {
    margin-top:auto!important;
  }
}
@media (min-width:768px) and (max-width:1099px) {
  body.page-id-1002680 .elementor-element-692326e .elementor-post__title {
    min-height:5.8em!important;
  }
}
@media (min-width:1100px) and (max-width:1399px) {
  body.page-id-1002680 .elementor-element-692326e .elementor-post__title {
    min-height:4.64em!important;
  }
}
