.elementor-kit-40{--e-global-color-primary:#000000;--e-global-color-secondary:#2C4F0D;--e-global-color-text:#555555;--e-global-color-accent:#821B2E;--e-global-color-1be27ac6:#B49265;--e-global-color-e30b836:#B17483;--e-global-color-bac76ec:#699144;--e-global-color-43028d7:#FFFFFF;--e-global-typography-primary-font-family:"Questrial";--e-global-typography-primary-font-size:44px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"Questrial";--e-global-typography-secondary-font-size:34px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:34px;--e-global-typography-secondary-letter-spacing:0.89px;--e-global-typography-text-font-family:"Questrial";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-line-height:22px;--e-global-typography-accent-font-family:"Work Sans";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:10px;--e-global-typography-accent-letter-spacing:0.92px;--e-global-typography-3763d6d-font-family:"Questrial";--e-global-typography-3763d6d-font-size:54px;--e-global-typography-3763d6d-font-weight:400;--e-global-typography-3763d6d-text-transform:uppercase;--e-global-typography-3763d6d-line-height:58px;--e-global-typography-3763d6d-letter-spacing:1.42px;--e-global-typography-ef0874e-font-family:"Questrial";--e-global-typography-ef0874e-font-size:22px;--e-global-typography-ef0874e-font-weight:400;--e-global-typography-ef0874e-text-transform:capitalize;--e-global-typography-ef0874e-font-style:normal;--e-global-typography-ef0874e-line-height:40px;--e-global-typography-0fc766b-font-family:"Questrial";--e-global-typography-0fc766b-font-size:22px;--e-global-typography-0fc766b-font-weight:400;--e-global-typography-0fc766b-text-transform:uppercase;--e-global-typography-0fc766b-font-style:normal;--e-global-typography-0fc766b-line-height:26px;--e-global-typography-7adb779-font-family:"Questrial";--e-global-typography-7adb779-font-size:16px;--e-global-typography-7adb779-font-weight:400;--e-global-typography-7adb779-text-transform:uppercase;--e-global-typography-7adb779-font-style:normal;--e-global-typography-7adb779-line-height:22px;--e-global-typography-548e96c-font-family:"Questrial";--e-global-typography-548e96c-font-size:14px;--e-global-typography-548e96c-font-weight:400;--e-global-typography-548e96c-text-transform:uppercase;--e-global-typography-548e96c-font-style:normal;--e-global-typography-548e96c-letter-spacing:1px;--e-global-typography-323e2a0-font-family:"Work Sans";--e-global-typography-323e2a0-font-size:12px;--e-global-typography-323e2a0-font-weight:500;--e-global-typography-323e2a0-text-transform:uppercase;--e-global-typography-323e2a0-text-decoration:underline;--e-global-typography-323e2a0-line-height:10px;--e-global-typography-323e2a0-letter-spacing:0.92px;--e-global-typography-6ac8465-font-family:"Questrial";--e-global-typography-6ac8465-font-size:16px;--e-global-typography-6ac8465-font-weight:400;--e-global-typography-6ac8465-text-transform:capitalize;--e-global-typography-6ac8465-font-style:normal;--e-global-typography-6ac8465-line-height:22px;background-color:#FFFFFF;color:var( --e-global-color-primary );font-family:"Roboto", Sans-serif;font-size:18px;line-height:27px;}.elementor-kit-40 button,.elementor-kit-40 input[type="button"],.elementor-kit-40 input[type="submit"],.elementor-kit-40 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:300;text-transform:uppercase;line-height:10px;letter-spacing:0.92px;color:var( --e-global-color-43028d7 );box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-1be27ac6 );border-radius:0px 0px 0px 0px;padding:20px 20px 20px 20px;}.elementor-kit-40 button:hover,.elementor-kit-40 button:focus,.elementor-kit-40 input[type="button"]:hover,.elementor-kit-40 input[type="button"]:focus,.elementor-kit-40 input[type="submit"]:hover,.elementor-kit-40 input[type="submit"]:focus,.elementor-kit-40 .elementor-button:hover,.elementor-kit-40 .elementor-button:focus{background-color:var( --e-global-color-e30b836 );color:var( --e-global-color-43028d7 );box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-1be27ac6 );}.elementor-kit-40 e-page-transition{background-color:var( --e-global-color-43028d7 );}.elementor-kit-40 a{color:var( --e-global-color-accent );}.elementor-kit-40 a:hover{color:var( --e-global-color-e30b836 );}.elementor-kit-40 h1{color:var( --e-global-color-primary );font-family:"Lora", Sans-serif;font-size:54px;text-transform:uppercase;line-height:58px;letter-spacing:1.42px;}.elementor-kit-40 h2{color:var( --e-global-color-accent );font-family:"Lora", Sans-serif;font-size:36px;font-weight:400;line-height:36px;}.elementor-kit-40 h4{color:var( --e-global-color-accent );font-family:"Montserrat", Sans-serif;font-size:23.5px;font-weight:400;text-transform:uppercase;}.elementor-kit-40 h5{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:400;text-transform:uppercase;line-height:27px;letter-spacing:0.58px;}.elementor-kit-40 h6{color:var( --e-global-color-accent );font-family:"Montserrat", Sans-serif;font-size:18px;text-transform:uppercase;line-height:11px;}.elementor-kit-40 input:not([type="button"]):not([type="submit"]),.elementor-kit-40 textarea,.elementor-kit-40 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );line-height:var( --e-global-typography-text-line-height );border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-40{--e-global-typography-primary-font-size:38px;--e-global-typography-secondary-font-size:30px;--e-global-typography-secondary-line-height:30px;--e-global-typography-text-font-size:15px;--e-global-typography-text-line-height:21px;--e-global-typography-3763d6d-font-size:46px;--e-global-typography-3763d6d-line-height:50px;--e-global-typography-7adb779-font-size:15px;--e-global-typography-7adb779-line-height:21px;--e-global-typography-6ac8465-font-size:15px;--e-global-typography-6ac8465-line-height:21px;font-size:15px;line-height:21px;}.elementor-kit-40 h1{font-size:46px;line-height:50px;}.elementor-kit-40 h2{font-size:38px;}.elementor-kit-40 h5{font-size:20px;line-height:22px;}.elementor-kit-40 input:not([type="button"]):not([type="submit"]),.elementor-kit-40 textarea,.elementor-kit-40 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-40{--e-global-typography-primary-font-size:30px;--e-global-typography-primary-line-height:40px;--e-global-typography-secondary-font-size:26px;--e-global-typography-secondary-line-height:26px;--e-global-typography-text-font-size:14px;--e-global-typography-text-line-height:20px;--e-global-typography-3763d6d-font-size:34px;--e-global-typography-3763d6d-line-height:40px;--e-global-typography-ef0874e-font-size:16px;--e-global-typography-ef0874e-line-height:1.3em;--e-global-typography-7adb779-font-size:14px;--e-global-typography-7adb779-line-height:20px;--e-global-typography-6ac8465-font-size:14px;--e-global-typography-6ac8465-line-height:20px;font-size:14px;line-height:20px;}.elementor-kit-40 h1{font-size:34px;line-height:40px;}.elementor-kit-40 h2{font-size:30px;line-height:40px;}.elementor-kit-40 h5{font-size:18px;line-height:24px;}.elementor-kit-40 button,.elementor-kit-40 input[type="button"],.elementor-kit-40 input[type="submit"],.elementor-kit-40 .elementor-button{padding:14px 24px 14px 24px;}.elementor-kit-40 input:not([type="button"]):not([type="submit"]),.elementor-kit-40 textarea,.elementor-kit-40 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* === Global === */
body { overflow-x: hidden; }

/* Make site header background fully transparent */
.site-header {
  background-color: #FFFFFF70 !important;
  transition: background 0.6s ease-in-out;
}
.site-header:hover { background: #FFFFFFe0 !important; }

/* === Section container (PARENT) === */
.carousel-container {
  position: relative;
  isolation: isolate; /* keep header above scroller layers */
}

/* === Unified Carousel Wrapper (used by unified JS) === */
.carousel-container .custom-carousel-wrapper,
.carousel-container .custom.carousel.wrapper {
  position: relative;
  /* Desktop "bleed" values (keep if you like the edge-to-edge look on large screens) */
  margin-left: -800px;
  width: calc(100vw + 300px);
  max-width: none;

  overflow: hidden;
  scrollbar-width: none;   /* Firefox */
  -ms-overflow-style: none;/* IE/Edge */
  touch-action: pan-y pinch-zoom; /* we handle horizontal dragging */
  cursor: grab;
}
.carousel-container .custom-carousel-wrapper::-webkit-scrollbar,
.carousel-container .custom.carousel.wrapper::-webkit-scrollbar { display: none; }

.carousel-container .custom-carousel-wrapper.dragging,
.carousel-container .custom.carousel.wrapper.dragging {
  cursor: grabbing;
  cursor: -webkit-grabbing;
  user-select: none;
}

/* === Product collection track (unified JS moves this with transform) === */
.carousel-container .c7-product-collection {
  display: flex;                 /* horizontal row */
  flex-wrap: nowrap;             /* no wrapping */
  gap: 30px;
  overflow: hidden;              /* hide the duplicated half */
  position: relative;
  will-change: transform;        /* compositor hints for Safari/iPad */
  backface-visibility: hidden;
  transform: translate3d(0,0,0);
}

/* Prevent accidental text/image selection/drag while swiping */
.c7-product-collection,
.c7-product-collection * {
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: auto !important; /* keep cards clickable */
}

/* === Individual Product Card === */
.c7-product {
  flex: 0 0 auto;   /* stay in a row */
  width: 330px;     /* tune as needed */
  display: flex;
  flex-direction: column;
}
.c7-product a,
.c7-product button {
  position: relative;
  z-index: 2;
  pointer-events: auto !important;
}
.c7-product__image { width: 100%; height: auto; }
.c7-product__details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
  margin-top: 10px;
}

/* === Product Title (max 3 lines) === */
.c7-product__title {
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: none;
  line-height: 1em;
  min-height: 3em;
  margin-bottom: 0.05em;
}

/* === Hide teaser until inventory status ready (keep if you use this) === */
.c7-product__teaser { display: none !important; }

/* === Price / Add-to-cart block === */
.c7-product__add-to-cart { margin-top: auto; }
.c7-product__add-to-cart__price { margin: 12px 0 !important; }

/* === Carousel Track Layout Fix === */
.custom-carousel-wrapper .c7-product-collection {
  display: block;
  width: 100%;
  height: auto;
  min-height: 1px;
  overflow: visible;
}

.custom-carousel-wrapper .scroll-track {
  display: flex;
  gap: 30px;
  will-change: transform;
  transform: translateX(0px);
  overflow: hidden;
  width: max-content;
}

/* === Hero container === */
.hero-container { position: relative; top: 0em; }

/* === Title + Button container === */
.carousel-title-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(12px, 2vw, 24px);
  margin-top: 40px;
  margin-bottom: 0.75rem;
  flex-wrap: nowrap;
  position: relative;
  z-index: 2;
  pointer-events: none; /* only the children are interactive */
}
.carousel-title-container > * { pointer-events: auto; }

/* Title */
.carousel-title-container .carousel-title {
  font-family: 'Lora', serif;
  font-size: clamp(18px, 3vw, 36px) !important;
  font-weight: 400;
  color: #2C4F0D;
  background-color: rgba(255, 255, 255, 0.85);
  border: 1px solid #821b2e;
  padding: 8px clamp(10px, 1.5vw, 18px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  max-width: 100%;
  width: fit-content;
  min-width: min-content;
  flex-shrink: 1;
  text-align: center;
}

/* Button */
.carousel-title-container .carousel-button {
  font-size: clamp(11px, 1.3vw, 13px);
  font-family: 'Lora', serif;
  color: #fff;
  background-color: #821b2e;
  text-transform: uppercase;
  letter-spacing: 1px;
  flex-shrink: 0;
  white-space: nowrap;
  z-index: 3;
  transition: all 0.2s ease-in-out;
}

/* === TABLET OVERRIDES ===
   Neutralize desktop bleed to prevent overflow on iPad/tablets */
@media (min-width: 768px) and (max-width: 1024px) {
  .carousel-container .custom-carousel-wrapper,
  .carousel-container .custom.carousel.wrapper {
    margin-left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
}

/* ===========================
         WINEMAKER PAGE
   =========================== */

.wm-dir {
  max-width: 1200px;
  margin: 0 auto 28px;
  padding: 0 16px;
  font-family: 'Lora', serif;
}
.wm-dir-row {
  position: relative;
  overflow: hidden;
  padding: 2px 0;
}
.wm-dir-track {
  display: flex;
  gap: 18px;
  align-items: center;
  white-space: nowrap;
  will-change: transform;
  padding: 0;
  margin: 0;
  list-style: none;
}
.wm-dir-track li { flex: 0 0 auto; }
.wm-dir-track a {
  display: inline-block;
  padding: 6px 32px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: clamp(12px, 1.2vw, 14px);
  color: #2C4F0D;
  text-decoration: none;
  background-color: #fff;
  transition: color 0.2s ease, border-color 0.2s ease;
  box-sizing: border-box;
}
.wm-dir-track a:hover { border-color: #B49265; color: #821b2e; }

@media (min-width: 1280px) { .wm-dir { max-width: 1400px; } }
@media (max-width: 640px)  { .wm-dir-track { gap: 16px; } }

/* Edge fade effect */
.wm-dir-row:before,
.wm-dir-row:after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  width: 60px;
  pointer-events: none;
  z-index: 2;
}
.wm-dir-row:before { left: 0;  background: linear-gradient(90deg, #fff, transparent); }
.wm-dir-row:after  { right: 0; background: linear-gradient(-90deg, #fff, transparent); }

/* ===== Winemakers Teaser Grid ===== */
.wm-wrap {
  --wm-gap: 28px;
  --wm-max: 1200px;
  margin: 0 auto;
  max-width: var(--wm-max);
  padding: 12px 16px;
  width: 100%;
  box-sizing: border-box;
}
.wm-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--wm-gap);
  width: 100%;
}
.wm-grid > * {
  display: block !important;
  float: none !important;
  margin: 0 !important;
}
/* 2 columns (tablet) */
@media (max-width: 1024px) { .wm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* 1 column (mobile) */
@media (max-width: 640px)  { .wm-grid { grid-template-columns: 1fr; } }
/* 5 columns (large screens) */
@media (min-width: 1280px) {
  .wm-wrap { --wm-max: 1400px; }
  .wm-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.wm-card {
  border: 1px solid #e6e6e6;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.wm-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,0.08); }
.wm-thumb  { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.wm-body   { padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.wm-name   { margin: 0; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; font-size: clamp(15px, 1.6vw, 18px); }
.wm-blurb  { margin: 0; color: #333; line-height: 1.55; }
.wm-actions { margin-top: 12px; }/* End custom CSS */