/*
Theme Name: Legends Estates Child
Theme URI: https://legendsestates.com/
Description: Child theme for Legends Estates using Hello Elementor.
Author: CDFX
Author URI: https://capitaldesignfx.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: legends-estates-child
*/

/* Legends Estates Native Elementor Production CSS - no HTML widgets */

/* =========================================================
   Global Design Tokens
   ========================================================= */

:root {
  --le-cream: #f3eadb;
  --le-paper: #eee2cf;
  --le-black: #130f0b;
  --le-charcoal: #1b1510;
  --le-wine: #5b1420;
  --le-brass: #b8915c;
  --le-green: #58634c;
  --le-text: #7a6f68;
  --le-serif: 'Cormorant Garamond', Georgia, serif;
  --le-sans: 'Inter', Arial, sans-serif;
}

/* =========================================================
   Base / Site Root
   ========================================================= */

html,
body {
  overflow-x: hidden;
}

body {
  margin: 0;
}

.legends-native-root {
  background: var(--le-cream);
  font-family: var(--le-sans);
  overflow: hidden;
}

/* Prevent Elementor sticky spacer from creating mobile / scroll gaps */
.elementor-sticky__spacer {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

/* =========================================================
   Header - Option B
   Requires Elementor Custom Code script that adds body.le-scrolled
   ========================================================= */

.legends-native-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;

  background-color: transparent !important;
  background-image: linear-gradient(
    180deg,
    rgba(19, 15, 11, 0.34) 0%,
    rgba(19, 15, 11, 0.16) 58%,
    rgba(19, 15, 11, 0) 100%
  ) !important;

  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  transition:
    background-color 0.28s ease,
    background-image 0.28s ease,
    box-shadow 0.28s ease,
    backdrop-filter 0.28s ease;
}

/* Neutralize Elementor sticky classes because this install applies them too early */
.legends-native-header.elementor-sticky--effects,
.legends-native-header.elementor-sticky--active,
.elementor-sticky--effects.legends-native-header,
.elementor-sticky--active.legends-native-header {
  background-color: transparent !important;
  background-image: linear-gradient(
    180deg,
    rgba(19, 15, 11, 0.34) 0%,
    rgba(19, 15, 11, 0.16) 58%,
    rgba(19, 15, 11, 0) 100%
  ) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Scrolled state controlled by body.le-scrolled */
body.le-scrolled .legends-native-header,
body.le-scrolled .legends-native-header.elementor-sticky--effects,
body.le-scrolled .legends-native-header.elementor-sticky--active,
body.le-scrolled .elementor-sticky--effects.legends-native-header,
body.le-scrolled .elementor-sticky--active.legends-native-header {
  background-image: none !important;
  background-color: rgba(19, 15, 11, 0.96) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.legends-native-header .le-header-inner {
  width: 100%;
}

.legends-native-header .le-nav-left .elementor-widget-heading,
.legends-native-header .le-nav-right .elementor-widget-heading {
  width: auto;
}

.legends-native-header .le-nav-link .elementor-heading-title {
  font-family: var(--le-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  white-space: nowrap;
}

.legends-native-header .elementor-heading-title,
.legends-native-header a,
.legends-native-header .elementor-icon,
.legends-native-header .elementor-icon i,
.legends-native-header .elementor-icon svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

.legends-native-header .le-cart-visual {
  border-left: 1px solid rgba(255, 255, 255, 0.42);
  padding-left: 22px;
}

/* =========================================================
   Section Overlays
   ========================================================= */

.le-section-bg {
  position: relative;
  overflow: hidden;
}

.le-section-bg:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.le-section-bg > .e-con-inner,
.le-section-bg > .elementor-element,
.le-section-bg > .elementor-widget,
.le-section-bg > .e-child {
  position: relative;
  z-index: 1;
}

.le-hero-bg:before {
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.78) 0%,
    rgba(0, 0, 0, 0.53) 36%,
    rgba(0, 0, 0, 0.18) 80%
  );
}

.le-dark-card:before {
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.88),
    rgba(0, 0, 0, 0.42)
  );
}

.le-image-card:before {
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.62),
    rgba(0, 0, 0, 0.18)
  );
}

.le-shop-image-card:before {
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.68),
    rgba(0, 0, 0, 0.12)
  );
}

/* =========================================================
   Typography
   ========================================================= */

.le-eyebrow .elementor-heading-title {
  font-family: var(--le-sans) !important;
  font-size: 12px !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #ffffff !important;
}

.le-h1 .elementor-heading-title {
  font-family: var(--le-serif) !important;
  font-size: 32px !important;
  line-height: 0.94 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}

.le-h2 .elementor-heading-title {
  font-family: var(--le-serif) !important;
  font-size: 58px !important;
  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}

.le-h3 .elementor-heading-title {
  font-family: var(--le-serif) !important;
  font-size: 42px !important;
  line-height: 1.05 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}

.le-body-copy {
  max-width: 490px;
}

.le-body-copy p {
  margin: 0;
}

.le-brass-line {
  width: 34px !important;
  min-height: 2px !important;
  background: var(--le-brass) !important;
}

/* =========================================================
   Buttons
   ========================================================= */

.le-link-button .elementor-button,
.le-link-button .elementor-button .elementor-button-text,
.le-link-button .elementor-button .elementor-button-icon,
.le-link-button .elementor-button .elementor-button-icon i,
.le-link-button .elementor-button .elementor-button-icon svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

.le-link-button .elementor-button {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--le-brass) !important;
  border-radius: 0 !important;
  padding: 0 0 8px 0 !important;
  font-family: var(--le-sans) !important;
  font-size: 12px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}

.le-link-button .elementor-button:hover,
.le-link-button .elementor-button:hover .elementor-button-text,
.le-link-button .elementor-button:hover .elementor-button-icon,
.le-link-button .elementor-button:hover .elementor-button-icon i,
.le-link-button .elementor-button:hover .elementor-button-icon svg {
  color: var(--le-brass) !important;
  fill: var(--le-brass) !important;
}

/* =========================================================
   Footer
   ========================================================= */

.le-footer-native .elementor-icon-list-text,
.le-footer-native .elementor-icon-list-text a {
  font-family: var(--le-sans) !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.le-footer-native .elementor-icon-list-text a:hover {
  color: var(--le-brass) !important;
}

.le-footer-native .elementor-icon-list-icon {
  display: none !important;
}

.le-footer-native .elementor-field-type-email {
  padding: 0 !important;
}

.le-footer-native .elementor-field-group {
  margin-bottom: 0 !important;
}

.le-footer-native .elementor-field {
  background: transparent !important;
  border: 1px solid rgba(184, 145, 92, 0.6) !important;
  border-right: 0 !important;
  color: #ffffff !important;
  height: 46px !important;
  border-radius: 0 !important;
  font-family: var(--le-sans) !important;
  font-size: 13px !important;
}

.le-footer-native .elementor-field::placeholder {
  color: rgba(255, 255, 255, 0.48) !important;
}

.le-footer-native .elementor-button {
  height: 46px !important;
  border-radius: 0 !important;
  background: var(--le-wine) !important;
  border: 1px solid rgba(184, 145, 92, 0.6) !important;
  font-family: var(--le-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.le-footer-native .elementor-button:hover {
  background: #3f0f18 !important;
}

/* =========================================================
   Tablet Responsive
   ========================================================= */

@media (max-width: 1024px) {
  html,
  body {
    overflow-x: hidden;
  }

  .legends-native-root {
    overflow-x: hidden;
  }

  .le-h1 .elementor-heading-title {
    font-size: 64px !important;
    line-height: 0.98 !important;
  }

  .le-h2 .elementor-heading-title {
    font-size: 46px !important;
    line-height: 1.04 !important;
  }

  .le-h3 .elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  .le-body-copy {
    max-width: 620px;
  }

  .legends-native-header {
    min-height: 92px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    padding-left: 26px !important;
    padding-right: 26px !important;
  }

  .legends-native-header .le-header-inner {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 20px !important;
    width: 100% !important;
  }

  .legends-native-header .le-logo-wrap {
    grid-column: 2 !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  .legends-native-header .le-logo-wrap img,
  .legends-native-header img {
    max-width: 138px !important;
    height: auto !important;
  }

  .legends-native-header .le-nav-left {
    grid-column: 1 !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 18px !important;
    flex-wrap: nowrap !important;
  }

  .legends-native-header .le-nav-right {
    grid-column: 3 !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 18px !important;
    flex-wrap: nowrap !important;
  }

  .legends-native-header .le-nav-link .elementor-heading-title {
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
  }

  .legends-native-header .le-cart-visual {
    padding-left: 16px !important;
  }

  .le-mobile-stack {
    flex-direction: column !important;
  }

  .le-mobile-full {
    width: 100% !important;
  }

  .le-section-bg {
    background-position: center center !important;
  }

  .le-hero-bg {
    min-height: 760px !important;
    background-position: center center !important;
    padding-top: 130px !important;
  }

  .le-hero-bg:before {
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.78) 0%,
      rgba(0, 0, 0, 0.48) 48%,
      rgba(0, 0, 0, 0.22) 100%
    ) !important;
  }

  .le-dark-card,
  .le-image-card,
  .le-shop-image-card {
    min-height: 520px !important;
    background-position: center center !important;
  }

  .le-dark-card:before,
  .le-image-card:before,
  .le-shop-image-card:before {
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.76),
      rgba(0, 0, 0, 0.28)
    ) !important;
  }

  .le-footer-native .elementor-field {
    border-right: 1px solid rgba(184, 145, 92, 0.6) !important;
  }
}

/* =========================================================
   Mobile Responsive
   ========================================================= */

@media (max-width: 767px) {
  html,
  body {
    overflow-x: hidden;
  }

  .legends-native-root {
    overflow-x: hidden;
  }

  /* Mobile header: centered rows, all nav visible, no clipping */
  .legends-native-header {
    position: fixed !important;
    min-height: 128px !important;
    height: auto !important;
    padding: 12px 14px 14px !important;
    background-image: linear-gradient(
      180deg,
      rgba(19, 15, 11, 0.74) 0%,
      rgba(19, 15, 11, 0.58) 66%,
      rgba(19, 15, 11, 0.22) 100%
    ) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    overflow: visible !important;
  }

  body.le-scrolled .legends-native-header,
  body.le-scrolled .legends-native-header.elementor-sticky--effects,
  body.le-scrolled .legends-native-header.elementor-sticky--active {
    background-image: none !important;
    background-color: rgba(19, 15, 11, 0.97) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28) !important;
  }

  .legends-native-header .le-header-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .legends-native-header .le-logo-wrap {
    order: 1 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin: 0 auto !important;
  }

  .legends-native-header .le-logo-wrap img,
  .legends-native-header img {
    max-width: 82px !important;
    height: auto !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .legends-native-header .le-nav-left,
  .legends-native-header .le-nav-right {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    gap: 13px !important;
    flex-wrap: wrap !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  .legends-native-header .le-nav-left {
    order: 2 !important;
  }

  .legends-native-header .le-nav-right {
    order: 3 !important;
  }

  .legends-native-header .le-nav-left .elementor-widget-heading,
  .legends-native-header .le-nav-right .elementor-widget-heading,
  .legends-native-header .le-nav-link {
    display: flex !important;
    width: auto !important;
    margin: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  .legends-native-header .le-nav-link .elementor-heading-title {
    font-size: 8.5px !important;
    letter-spacing: 0.11em !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }

  .legends-native-header .le-cart-visual {
    border-left: 0 !important;
    padding-left: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Force mobile header text to stay visible when scrolled */
  body.le-scrolled .legends-native-header .elementor-heading-title,
  body.le-scrolled .legends-native-header a,
  body.le-scrolled .legends-native-header .elementor-icon,
  body.le-scrolled .legends-native-header .elementor-icon i,
  body.le-scrolled .legends-native-header .elementor-icon svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* General mobile section control */
  .le-mobile-stack {
    flex-direction: column !important;
  }

  .le-mobile-full {
    width: 100% !important;
  }

  .elementor-widget-heading,
  .elementor-widget-text-editor,
  .elementor-widget-button {
    max-width: 100%;
  }

  /* Hero */
  .le-hero-bg {
    min-height: 700px !important;
    background-position: center center !important;
    padding-top: 174px !important;
    padding-bottom: 64px !important;
    margin-top: 0 !important;
  }

  .le-hero-bg:before {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.64) 0%,
      rgba(0, 0, 0, 0.54) 42%,
      rgba(0, 0, 0, 0.30) 100%
    ) !important;
  }

  /* Typography */
  .le-eyebrow .elementor-heading-title {
    font-size: 10px !important;
    letter-spacing: 0.22em !important;
    line-height: 1.4 !important;
  }

  .le-h1 .elementor-heading-title {
    font-size: 39px !important;
    line-height: 0.98 !important;
    letter-spacing: -0.02em !important;
  }

  .le-h2 .elementor-heading-title {
    font-size: 36px !important;
    line-height: 1.02 !important;
  }

  .le-h3 .elementor-heading-title {
    font-size: 30px !important;
    line-height: 1.08 !important;
  }

  .le-body-copy {
    max-width: 100% !important;
  }

  .le-body-copy p,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .le-brass-line {
    width: 30px !important;
  }

  /* Buttons */
  .le-link-button .elementor-button {
    font-size: 11px !important;
    letter-spacing: 0.13em !important;
    padding-bottom: 7px !important;
  }

  /* Brand / Image Cards */
  .le-dark-card,
  .le-image-card,
  .le-shop-image-card {
    min-height: 500px !important;
    background-position: center center !important;
    padding: 44px 28px !important;
  }

  .le-dark-card:before,
  .le-image-card:before,
  .le-shop-image-card:before {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.74) 0%,
      rgba(0, 0, 0, 0.46) 52%,
      rgba(0, 0, 0, 0.26) 100%
    ) !important;
  }

  /* Container Safety */
  .legends-native-root .e-con,
  .legends-native-root .e-container {
    max-width: 100% !important;
  }

  .legends-native-root .elementor-widget-container {
    max-width: 100%;
  }

  /* Footer */
  .le-footer-native {
    text-align: center !important;
  }

  .le-footer-native .e-con,
  .le-footer-native .e-container {
    flex-direction: column !important;
    width: 100% !important;
  }

  .le-footer-native .elementor-widget-heading,
  .le-footer-native .elementor-widget-text-editor,
  .le-footer-native .elementor-widget-icon-list,
  .le-footer-native .elementor-widget-form {
    width: 100% !important;
    text-align: center !important;
  }

  .le-footer-native .elementor-icon-list-items {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .le-footer-native .elementor-icon-list-text,
  .le-footer-native .elementor-icon-list-text a {
    font-size: 13px !important;
    line-height: 1.8 !important;
  }

  .le-footer-native .elementor-form-fields-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .le-footer-native .elementor-field-type-email,
  .le-footer-native .elementor-field-group,
  .le-footer-native .elementor-field-group-email,
  .le-footer-native .elementor-field-type-submit {
    width: 100% !important;
  }

  .le-footer-native .elementor-field {
    width: 100% !important;
    height: 48px !important;
    border-right: 1px solid rgba(184, 145, 92, 0.6) !important;
    text-align: center !important;
  }

  .le-footer-native .elementor-button {
    width: 100% !important;
    height: 48px !important;
  }
}

/* =========================================================
   Small Mobile
   ========================================================= */

@media (max-width: 480px) {
  .legends-native-header {
    min-height: 124px !important;
    padding: 11px 10px 13px !important;
  }

  .legends-native-header .le-header-inner {
    gap: 9px !important;
  }

  .legends-native-header .le-logo-wrap img,
  .legends-native-header img {
    max-width: 78px !important;
  }

  .legends-native-header .le-nav-left,
  .legends-native-header .le-nav-right {
    gap: 11px !important;
  }

  .legends-native-header .le-nav-link .elementor-heading-title {
    font-size: 8px !important;
    letter-spacing: 0.10em !important;
  }

  .le-hero-bg {
    min-height: 670px !important;
    padding-top: 164px !important;
    padding-bottom: 60px !important;
  }

  .le-h1 .elementor-heading-title {
    font-size: 34px !important;
  }

  .le-h2 .elementor-heading-title {
    font-size: 32px !important;
  }

  .le-h3 .elementor-heading-title {
    font-size: 27px !important;
  }

  .le-dark-card,
  .le-image-card,
  .le-shop-image-card {
    min-height: 460px !important;
    padding: 38px 22px !important;
  }
}

/* =========================================================
   Extra Small Mobile
   ========================================================= */

@media (max-width: 390px) {
  .legends-native-header {
    min-height: 118px !important;
    padding: 10px 8px 12px !important;
  }

  .legends-native-header .le-header-inner {
    gap: 8px !important;
  }

  .legends-native-header .le-logo-wrap img,
  .legends-native-header img {
    max-width: 72px !important;
  }

  .legends-native-header .le-nav-left,
  .legends-native-header .le-nav-right {
    gap: 9px !important;
  }

  .legends-native-header .le-nav-link .elementor-heading-title {
    font-size: 7.5px !important;
    letter-spacing: 0.08em !important;
  }

  .le-hero-bg {
    min-height: 650px !important;
    padding-top: 156px !important;
  }

  .le-h1 .elementor-heading-title {
    font-size: 32px !important;
  }

  .le-h2 .elementor-heading-title {
    font-size: 30px !important;
  }

  .le-h3 .elementor-heading-title {
    font-size: 25px !important;
  }
}
/* Specific override: Discover Our Story button starts black */
.elementor-element-6c74e936.le-link-button .elementor-button,
.elementor-element-6c74e936.le-link-button .elementor-button .elementor-button-text,
.elementor-element-6c74e936.le-link-button .elementor-button .elementor-button-icon,
.elementor-element-6c74e936.le-link-button .elementor-button .elementor-button-icon i,
.elementor-element-6c74e936.le-link-button .elementor-button .elementor-button-icon svg {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Keep the hover state brass */
.elementor-element-6c74e936.le-link-button .elementor-button:hover,
.elementor-element-6c74e936.le-link-button .elementor-button:hover .elementor-button-text,
.elementor-element-6c74e936.le-link-button .elementor-button:hover .elementor-button-icon,
.elementor-element-6c74e936.le-link-button .elementor-button:hover .elementor-button-icon i,
.elementor-element-6c74e936.le-link-button .elementor-button:hover .elementor-button-icon svg {
  color: var(--le-brass) !important;
  fill: var(--le-brass) !important;
}
/* =========================================================
   WooCommerce / Elementor Product Styling
   Legends Estates shop, product cards, featured release,
   price, quantity, and add-to-cart controls only.
   ========================================================= */

/* Featured Release custom shortcode add-to-cart button */
.legends-featured-add-to-cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px !important;
  padding: 0 34px !important;
  background: #ffffff !important;
  color: #0b0a08 !important;
  border: 1px solid #ffffff !important;
  border-radius: 0 !important;
  font-family: var(--le-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}

.legends-featured-add-to-cart:hover {
  background: var(--le-brass) !important;
  color: #0b0a08 !important;
  border-color: var(--le-brass) !important;
}

/* Remove the ugly default WooCommerce shortcode wrapper */
.woocommerce .add_to_cart_inline,
.product.woocommerce.add_to_cart_inline {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  background: transparent !important;
}

/* Hide default result count / ordering on styled shop sections */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  display: none !important;
}

/* =========================================================
   Standard WooCommerce product archive grid
   ========================================================= */

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 760px !important;
  padding-bottom: 104px !important;
  background: #fffaf2 !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.12);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: flex !important;
  flex-direction: column !important;
  color: inherit !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 500px !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #eee4d5 !important;
  box-sizing: border-box !important;
}

.woocommerce ul.products li.product .onsale {
  display: none !important;
}
/* Category / product-term text only — no box */
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .product-category,
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.e-loop-item.product .elementor-widget-post-info a,
.e-loop-item.product .elementor-widget-theme-post-terms a,
.e-loop-item.product .elementor-widget-taxonomy-filter a,
.legends-product-card .elementor-widget-post-info a,
.legends-product-card .elementor-widget-theme-post-terms a,
.legends-product-card .elementor-widget-taxonomy-filter a,
.legends-product-card .le-product-category,
.legends-product-card .le-product-category a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: fit-content !important;

  background: transparent !important;
  color: var(--le-brass) !important;

  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;

  font-family: var(--le-sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .product-category,
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
  margin: 22px 32px 16px !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--le-serif) !important;
  font-size: 38px !important;
  line-height: 0.98 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: #0b0a08 !important;
  padding: 0 !important;
  margin: 10px 32px 14px !important;
}

/* Product short description if output in the loop */
.woocommerce ul.products li.product .woocommerce-product-details__short-description,
.woocommerce ul.products li.product .short-description,
.woocommerce ul.products li.product .product-short-description,
.woocommerce ul.products li.product .loop-description,
.woocommerce ul.products li.product .excerpt {
  display: block !important;
  color: #665c50 !important;
  font-family: var(--le-sans) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 32px 26px !important;
}

/* Archive grid price */
.woocommerce ul.products li.product .price {
  position: absolute !important;
  left: 32px !important;
  bottom: 38px !important;
  margin: 0 !important;
  display: inline-block !important;
  font-family: var(--le-serif) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: #0b0a08 !important;
}

.woocommerce ul.products li.product .price *,
.woocommerce ul.products li.product .price bdi,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  font-family: var(--le-serif) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  color: #0b0a08 !important;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
}

.woocommerce ul.products li.product .price del {
  color: rgba(0, 0, 0, 0.35) !important;
  margin-right: 8px !important;
}

/* Archive grid add button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.elementor-products-grid .product .button,
.elementor-loop-container .product .button {
  position: absolute !important;
  right: 32px !important;
  bottom: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 68px !important;
  min-height: 52px !important;
  padding: 0 18px !important;
  margin: 0 !important;
  background: #0b0a08 !important;
  color: #ffffff !important;
  border: 1px solid #0b0a08 !important;
  border-radius: 0 !important;
  font-family: var(--le-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover,
.elementor-products-grid .product .button:hover,
.elementor-loop-container .product .button:hover {
  background: transparent !important;
  color: #0b0a08 !important;
  border-color: #0b0a08 !important;
}

/* Optional visual shortening of archive add-to-cart text to ADD */
.woocommerce ul.products li.product .add_to_cart_button {
  font-size: 0 !important;
}

.woocommerce ul.products li.product .add_to_cart_button::after {
  content: "ADD";
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
}

/* =========================================================
   Elementor Loop Item product card
   Recommended card class: legends-product-card
   Recommended purchase row class: legends-card-purchase-row
   ========================================================= */

.e-loop-item.product,
.legends-product-card {
  background: #fffaf2 !important;
}

/* Product image in Elementor loop cards */
.e-loop-item.product .elementor-widget-theme-post-featured-image img,
.e-loop-item.product .elementor-widget-woocommerce-product-images img,
.legends-product-card .elementor-widget-theme-post-featured-image img,
.legends-product-card .elementor-widget-image img,
.legends-product-card .elementor-widget-woocommerce-product-images img {
  width: 100% !important;
  height: 500px !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #eee4d5 !important;
}

/* Product card title in Elementor loop */
.e-loop-item.product .elementor-heading-title,
.legends-product-card .elementor-widget-theme-post-title .elementor-heading-title,
.legends-product-card .elementor-widget-woocommerce-product-title .elementor-heading-title {
  font-family: var(--le-serif) !important;
  font-size: 35px !important;
  line-height: 0.95 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}

/* Product excerpt / short description in Elementor loop */
.e-loop-item.product .elementor-widget-post-excerpt,
.e-loop-item.product .elementor-widget-post-excerpt p,
.legends-product-card .elementor-widget-post-excerpt,
.legends-product-card .elementor-widget-post-excerpt p,
.legends-product-card .woocommerce-product-details__short-description,
.legends-product-card .woocommerce-product-details__short-description p {
  color: #231f1b !important;
  font-family: var(--le-sans) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

/* Price left / Add button right row */
.legends-card-purchase-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  width: 100% !important;
  margin-top: 28px !important;
}

.legends-card-purchase-row > .elementor-element,
.legends-card-purchase-row > .elementor-widget,
.legends-card-purchase-row .elementor-widget-container {
  width: auto !important;
  margin: 0 !important;
}

/* Elementor product price - aggressive override for loop card */
.legends-card-purchase-row .elementor-widget-woocommerce-product-price,
.legends-card-purchase-row .elementor-widget-woocommerce-product-price *,
.legends-card-purchase-row .price,
.legends-card-purchase-row .price *,
.legends-card-purchase-row .woocommerce-Price-amount,
.legends-card-purchase-row .woocommerce-Price-amount *,
.legends-card-purchase-row bdi,
.e-loop-item.product .elementor-widget-woocommerce-product-price,
.e-loop-item.product .elementor-widget-woocommerce-product-price *,
.e-loop-item.product .price,
.e-loop-item.product .price *,
.e-loop-item.product .woocommerce-Price-amount,
.e-loop-item.product .woocommerce-Price-amount *,
.e-loop-item.product bdi,
.legends-product-card .elementor-widget-woocommerce-product-price,
.legends-product-card .elementor-widget-woocommerce-product-price *,
.legends-product-card .price,
.legends-product-card .price *,
.legends-product-card .woocommerce-Price-amount,
.legends-product-card .woocommerce-Price-amount *,
.legends-product-card bdi {
  font-family: var(--le-serif) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: #0b0a08 !important;
}

.legends-card-purchase-row .elementor-widget-woocommerce-product-price,
.legends-product-card .elementor-widget-woocommerce-product-price {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

/* Add-to-cart widget wrapper */
.elementor-widget-woocommerce-product-add-to-cart,
.elementor-widget-wc-add-to-cart,
.elementor-add-to-cart {
  margin: 0 !important;
}

.legends-card-purchase-row .elementor-widget-woocommerce-product-add-to-cart,
.legends-card-purchase-row .elementor-widget-wc-add-to-cart {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

/* Add-to-cart form layout */
.elementor-widget-woocommerce-product-add-to-cart form.cart,
.elementor-widget-wc-add-to-cart form.cart,
.woocommerce div.product form.cart,
.legends-card-purchase-row form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
}

/* Quantity box */
.elementor-widget-woocommerce-product-add-to-cart .quantity,
.elementor-widget-wc-add-to-cart .quantity,
.woocommerce .quantity {
  margin: 0 !important;
}

.elementor-widget-woocommerce-product-add-to-cart .quantity input.qty,
.elementor-widget-wc-add-to-cart .quantity input.qty,
.woocommerce .quantity input.qty {
  width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #0b0a08 !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  border-radius: 0 !important;
  font-family: var(--le-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-align: center !important;
  box-shadow: none !important;
}

/* Hide quantity only inside card purchase rows for the compact card layout */
.legends-card-purchase-row .quantity {
  display: none !important;
}

/* Elementor/Woo add-to-cart buttons */
.elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
.elementor-widget-wc-add-to-cart .single_add_to_cart_button,
.woocommerce div.product form.cart .button,
.woocommerce button.button.alt,
.legends-card-purchase-row .button,
.legends-card-purchase-row .single_add_to_cart_button,
.legends-card-purchase-row a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 0 26px !important;
  background: #0b0a08 !important;
  color: #ffffff !important;
  border: 1px solid #0b0a08 !important;
  border-radius: 0 !important;
  font-family: var(--le-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}

/* Compact ADD button inside product cards */
.legends-card-purchase-row .single_add_to_cart_button,
.legends-card-purchase-row .button,
.legends-card-purchase-row a.button {
  min-width: 68px !important;
  padding: 0 18px !important;
  font-size: 0 !important;
}

.legends-card-purchase-row .single_add_to_cart_button::before,
.legends-card-purchase-row .button::before,
.legends-card-purchase-row a.button::before {
  content: "ADD";
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
}

.elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:hover,
.elementor-widget-wc-add-to-cart .single_add_to_cart_button:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce button.button.alt:hover,
.legends-card-purchase-row .button:hover,
.legends-card-purchase-row .single_add_to_cart_button:hover,
.legends-card-purchase-row a.button:hover {
  background: transparent !important;
  color: #0b0a08 !important;
  border-color: #0b0a08 !important;
}

/* =========================================================
   WooCommerce tablet/mobile
   ========================================================= */

@media (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  .woocommerce ul.products li.product,
  .e-loop-item.product,
  .legends-product-card {
    min-height: 700px !important;
  }

  .woocommerce ul.products li.product img,
  .e-loop-item.product .elementor-widget-theme-post-featured-image img,
  .e-loop-item.product .elementor-widget-woocommerce-product-images img,
  .legends-product-card .elementor-widget-theme-post-featured-image img,
  .legends-product-card .elementor-widget-image img,
  .legends-product-card .elementor-widget-woocommerce-product-images img {
    height: 430px !important;
  }
}

@media (max-width: 640px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  .woocommerce ul.products li.product,
  .e-loop-item.product,
  .legends-product-card {
    min-height: 660px !important;
  }

  .woocommerce ul.products li.product img,
  .e-loop-item.product .elementor-widget-theme-post-featured-image img,
  .e-loop-item.product .elementor-widget-woocommerce-product-images img,
  .legends-product-card .elementor-widget-theme-post-featured-image img,
  .legends-product-card .elementor-widget-image img,
  .legends-product-card .elementor-widget-woocommerce-product-images img {
    height: 380px !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 34px !important;
    margin-left: 26px !important;
    margin-right: 26px !important;
  }

  .woocommerce ul.products li.product .woocommerce-product-details__short-description,
  .woocommerce ul.products li.product .short-description,
  .woocommerce ul.products li.product .product-short-description,
  .woocommerce ul.products li.product .loop-description,
  .woocommerce ul.products li.product .excerpt {
    margin-left: 26px !important;
    margin-right: 26px !important;
  }

  .woocommerce ul.products li.product .price {
    left: 26px !important;
  }

  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product a.button,
  .woocommerce ul.products li.product .add_to_cart_button {
    right: 26px !important;
  }

  .legends-card-purchase-row {
    gap: 16px !important;
  }
}

/* =========================================================
   WooCommerce Loop Item Purchase Row Fix
   Prevent Add to Cart from overlapping quantity selector
   ========================================================= */

/* Keep the add-to-cart form as a normal horizontal row */
.legends-card-purchase-row form.cart,
.legends-product-card form.cart,
.e-loop-item.product form.cart,
.elementor-widget-woocommerce-product-add-to-cart form.cart,
.elementor-widget-wc-add-to-cart form.cart {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  width: auto !important;
}

/* Quantity selector */
.legends-card-purchase-row .quantity,
.legends-product-card .quantity,
.e-loop-item.product .quantity,
.elementor-widget-woocommerce-product-add-to-cart .quantity,
.elementor-widget-wc-add-to-cart .quantity {
  display: flex !important;
  flex: 0 0 auto !important;
  width: 52px !important;
  margin: 0 !important;
}

/* Quantity input */
.legends-card-purchase-row .quantity input.qty,
.legends-product-card .quantity input.qty,
.e-loop-item.product .quantity input.qty,
.elementor-widget-woocommerce-product-add-to-cart .quantity input.qty,
.elementor-widget-wc-add-to-cart .quantity input.qty {
  width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #0b0a08 !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  border-radius: 0 !important;
  font-family: var(--le-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-align: center !important;
  box-shadow: none !important;
}

/* Button must not be absolute inside loop item purchase rows */
.legends-card-purchase-row .button,
.legends-card-purchase-row .single_add_to_cart_button,
.legends-card-purchase-row a.button,
.legends-product-card .button,
.legends-product-card .single_add_to_cart_button,
.legends-product-card a.button,
.e-loop-item.product .button,
.e-loop-item.product .single_add_to_cart_button,
.e-loop-item.product a.button {
  position: static !important;
  inset: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  top: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 150px !important;
  min-height: 52px !important;
  padding: 0 26px !important;
  margin: 0 !important;
  background: #0b0a08 !important;
  color: #ffffff !important;
  border: 1px solid #0b0a08 !important;
  border-radius: 0 !important;
  font-family: var(--le-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Stop the forced ADD pseudo-label from doubling or crowding */
.legends-card-purchase-row .button::before,
.legends-card-purchase-row .single_add_to_cart_button::before,
.legends-card-purchase-row a.button::before,
.legends-product-card .button::before,
.legends-product-card .single_add_to_cart_button::before,
.legends-product-card a.button::before,
.e-loop-item.product .button::before,
.e-loop-item.product .single_add_to_cart_button::before,
.e-loop-item.product a.button::before {
  content: none !important;
}

/* Keep real WooCommerce button text visible */
.legends-card-purchase-row .button,
.legends-card-purchase-row .single_add_to_cart_button,
.legends-card-purchase-row a.button,
.legends-product-card .button,
.legends-product-card .single_add_to_cart_button,
.legends-product-card a.button,
.e-loop-item.product .button,
.e-loop-item.product .single_add_to_cart_button,
.e-loop-item.product a.button {
  font-size: 11px !important;
}

/* Hover */
.legends-card-purchase-row .button:hover,
.legends-card-purchase-row .single_add_to_cart_button:hover,
.legends-card-purchase-row a.button:hover,
.legends-product-card .button:hover,
.legends-product-card .single_add_to_cart_button:hover,
.legends-product-card a.button:hover,
.e-loop-item.product .button:hover,
.e-loop-item.product .single_add_to_cart_button:hover,
.e-loop-item.product a.button:hover {
  background: transparent !important;
  color: #0b0a08 !important;
  border-color: #0b0a08 !important;
}
.le-wine-filter.is-active,
.le-wine-filter:hover {
  background: #bd9a5f !important;
  color: #111111 !important;
  border-color: #bd9a5f !important;
}

.le-wine-products.is-loading {
  opacity: 0.35;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.le-wine-loading {
  color: #bd9a5f;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.le-no-products {
  font-size: 18px;
  color: #111111;
}
/* =========================================================
   LEGENDS AJAX WINE SHOP PRODUCT LOOP
   Applies to shortcode: [le_ajax_wine_products]
   Fixes description, price/button overlap, gold button, quantity row
   ========================================================= */

#le-wine-products-wrap {
  width: 100%;
}

#le-wine-products-wrap ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#le-wine-products-wrap ul.products::before,
#le-wine-products-wrap ul.products::after {
  display: none !important;
}

#le-wine-products-wrap ul.products li.product,
#le-wine-products-wrap ul.products li.product.le-ajax-product-card {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 820px !important;
  padding: 0 0 154px 0 !important;
  list-style: none !important;
  background: #fffaf2 !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

#le-wine-products-wrap ul.products li.product:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.12);
}

#le-wine-products-wrap ul.products li.product a.woocommerce-LoopProduct-link,
#le-wine-products-wrap ul.products li.product a.woocommerce-loop-product__link,
#le-wine-products-wrap ul.products li.product .le-ajax-product-image-link {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
}

#le-wine-products-wrap ul.products li.product img {
  width: 100% !important;
  height: 500px !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #eee4d5 !important;
  box-sizing: border-box !important;
}

#le-wine-products-wrap ul.products li.product .onsale {
  display: none !important;
}

#le-wine-products-wrap ul.products li.product .posted_in,
#le-wine-products-wrap ul.products li.product .product-category,
#le-wine-products-wrap ul.products li.product .ast-woo-product-category,
#le-wine-products-wrap ul.products li.product .woocommerce-loop-category__title,
#le-wine-products-wrap ul.products li.product .le-product-category,
#le-wine-products-wrap ul.products li.product .le-product-category a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: fit-content !important;
  background: transparent !important;
  color: var(--le-brass) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--le-sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-decoration: none !important;
  margin: 22px 32px 16px !important;
}

#le-wine-products-wrap ul.products li.product .woocommerce-loop-product__title,
#le-wine-products-wrap ul.products li.product .le-ajax-product-title {
  font-family: var(--le-serif) !important;
  font-size: 35px !important;
  line-height: 0.95 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: #0b0a08 !important;
  padding: 0 !important;
  margin: 10px 32px 14px !important;
}

#le-wine-products-wrap ul.products li.product .woocommerce-loop-product__title a,
#le-wine-products-wrap ul.products li.product .le-ajax-product-title a {
  color: #0b0a08 !important;
  text-decoration: none !important;
}

#le-wine-products-wrap ul.products li.product .woocommerce-product-details__short-description,
#le-wine-products-wrap ul.products li.product .short-description,
#le-wine-products-wrap ul.products li.product .product-short-description,
#le-wine-products-wrap ul.products li.product .loop-description,
#le-wine-products-wrap ul.products li.product .excerpt,
#le-wine-products-wrap ul.products li.product .le-ajax-product-description {
  display: block !important;
  color: #665c50 !important;
  font-family: var(--le-sans) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 32px 26px !important;
}

#le-wine-products-wrap ul.products li.product .le-ajax-product-description p {
  margin: 0 !important;
}

/* Put price above the add-to-cart row so it cannot overlap */
#le-wine-products-wrap ul.products li.product .price,
#le-wine-products-wrap ul.products li.product span.price,
#le-wine-products-wrap ul.products li.product .le-ajax-product-price {
  position: absolute !important;
  left: 32px !important;
  right: 32px !important;
  bottom: 98px !important;
  margin: 0 !important;
  display: block !important;
  font-family: var(--le-serif) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: #0b0a08 !important;
  z-index: 2 !important;
}

#le-wine-products-wrap ul.products li.product .price *,
#le-wine-products-wrap ul.products li.product .price bdi,
#le-wine-products-wrap ul.products li.product .price span,
#le-wine-products-wrap ul.products li.product .price .woocommerce-Price-amount,
#le-wine-products-wrap ul.products li.product .le-ajax-product-price *,
#le-wine-products-wrap ul.products li.product .le-ajax-product-price bdi,
#le-wine-products-wrap ul.products li.product .le-ajax-product-price span,
#le-wine-products-wrap ul.products li.product .le-ajax-product-price .woocommerce-Price-amount {
  font-family: var(--le-serif) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: #0b0a08 !important;
}

#le-wine-products-wrap ul.products li.product .price ins,
#le-wine-products-wrap ul.products li.product .le-ajax-product-price ins {
  text-decoration: none !important;
}

#le-wine-products-wrap ul.products li.product .price del,
#le-wine-products-wrap ul.products li.product .le-ajax-product-price del {
  color: rgba(0, 0, 0, 0.35) !important;
  margin-right: 8px !important;
}

/* Purchase row */
#le-wine-products-wrap ul.products li.product .le-ajax-purchase-form,
#le-wine-products-wrap ul.products li.product form.cart {
  position: absolute !important;
  left: 32px !important;
  right: 32px !important;
  bottom: 28px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 3 !important;
}

#le-wine-products-wrap ul.products li.product .quantity {
  position: static !important;
  display: flex !important;
  flex: 0 0 52px !important;
  width: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#le-wine-products-wrap ul.products li.product .quantity input.qty {
  width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #0b0a08 !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  border-radius: 0 !important;
  font-family: var(--le-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-align: center !important;
  box-shadow: none !important;
}

#le-wine-products-wrap ul.products li.product .button,
#le-wine-products-wrap ul.products li.product a.button,
#le-wine-products-wrap ul.products li.product .add_to_cart_button,
#le-wine-products-wrap ul.products li.product .single_add_to_cart_button,
#le-wine-products-wrap ul.products li.product button.button {
  position: static !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 1 auto !important;
  min-width: 152px !important;
  min-height: 52px !important;
  padding: 0 22px !important;
  margin: 0 !important;
  background: var(--le-brass) !important;
  color: #111111 !important;
  border: 1px solid var(--le-brass) !important;
  border-radius: 0 !important;
  font-family: var(--le-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}

#le-wine-products-wrap ul.products li.product .button::before,
#le-wine-products-wrap ul.products li.product .button::after,
#le-wine-products-wrap ul.products li.product a.button::before,
#le-wine-products-wrap ul.products li.product a.button::after,
#le-wine-products-wrap ul.products li.product .add_to_cart_button::before,
#le-wine-products-wrap ul.products li.product .add_to_cart_button::after,
#le-wine-products-wrap ul.products li.product .single_add_to_cart_button::before,
#le-wine-products-wrap ul.products li.product .single_add_to_cart_button::after,
#le-wine-products-wrap ul.products li.product button.button::before,
#le-wine-products-wrap ul.products li.product button.button::after {
  content: none !important;
  display: none !important;
}

#le-wine-products-wrap ul.products li.product .button:hover,
#le-wine-products-wrap ul.products li.product a.button:hover,
#le-wine-products-wrap ul.products li.product .add_to_cart_button:hover,
#le-wine-products-wrap ul.products li.product .single_add_to_cart_button:hover,
#le-wine-products-wrap ul.products li.product button.button:hover {
  background: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
}

#le-wine-products-wrap ul.products li.product .add_to_cart_button.loading,
#le-wine-products-wrap ul.products li.product .add_to_cart_button.added {
  background: var(--le-brass) !important;
  color: #111111 !important;
  border-color: var(--le-brass) !important;
  opacity: 0.75 !important;
}

#le-wine-products-wrap .le-wine-products.is-loading {
  opacity: 0.35;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

#le-wine-products-wrap .le-wine-loading {
  color: var(--le-brass);
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

#le-wine-products-wrap .le-no-products {
  font-size: 18px;
  color: #111111;
}

.le-wine-filter.is-active,
.le-wine-filter:hover {
  background: var(--le-brass) !important;
  color: #111111 !important;
  border-color: var(--le-brass) !important;
}

@media (max-width: 1024px) {
  #le-wine-products-wrap ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  #le-wine-products-wrap ul.products li.product,
  #le-wine-products-wrap ul.products li.product.le-ajax-product-card {
    min-height: 780px !important;
  }

  #le-wine-products-wrap ul.products li.product img {
    height: 430px !important;
  }
}

@media (max-width: 640px) {
  #le-wine-products-wrap ul.products {
    grid-template-columns: 1fr !important;
  }

  #le-wine-products-wrap ul.products li.product,
  #le-wine-products-wrap ul.products li.product.le-ajax-product-card {
    min-height: 760px !important;
  }

  #le-wine-products-wrap ul.products li.product img {
    height: 380px !important;
  }

  #le-wine-products-wrap ul.products li.product .woocommerce-loop-product__title,
  #le-wine-products-wrap ul.products li.product .le-ajax-product-title {
    font-size: 34px !important;
    margin-left: 26px !important;
    margin-right: 26px !important;
  }

  #le-wine-products-wrap ul.products li.product .woocommerce-product-details__short-description,
  #le-wine-products-wrap ul.products li.product .short-description,
  #le-wine-products-wrap ul.products li.product .product-short-description,
  #le-wine-products-wrap ul.products li.product .loop-description,
  #le-wine-products-wrap ul.products li.product .excerpt,
  #le-wine-products-wrap ul.products li.product .le-ajax-product-description {
    margin-left: 26px !important;
    margin-right: 26px !important;
  }

  #le-wine-products-wrap ul.products li.product .price,
  #le-wine-products-wrap ul.products li.product span.price,
  #le-wine-products-wrap ul.products li.product .le-ajax-product-price {
    left: 26px !important;
    right: 26px !important;
    bottom: 98px !important;
    font-size: 26px !important;
  }

  #le-wine-products-wrap ul.products li.product .price *,
  #le-wine-products-wrap ul.products li.product .price bdi,
  #le-wine-products-wrap ul.products li.product .price span,
  #le-wine-products-wrap ul.products li.product .price .woocommerce-Price-amount,
  #le-wine-products-wrap ul.products li.product .le-ajax-product-price *,
  #le-wine-products-wrap ul.products li.product .le-ajax-product-price bdi,
  #le-wine-products-wrap ul.products li.product .le-ajax-product-price span,
  #le-wine-products-wrap ul.products li.product .le-ajax-product-price .woocommerce-Price-amount {
    font-size: 26px !important;
  }

  #le-wine-products-wrap ul.products li.product .le-ajax-purchase-form,
  #le-wine-products-wrap ul.products li.product form.cart {
    left: 26px !important;
    right: 26px !important;
    bottom: 28px !important;
  }

  #le-wine-products-wrap ul.products li.product .button,
  #le-wine-products-wrap ul.products li.product a.button,
  #le-wine-products-wrap ul.products li.product .add_to_cart_button,
  #le-wine-products-wrap ul.products li.product .single_add_to_cart_button,
  #le-wine-products-wrap ul.products li.product button.button {
    min-width: 150px !important;
  }
}

/* ================================
   LEGENDS HEADER DROPDOWN FIX
   Makes Shop + Cart dropdowns match
================================ */

/* Main submenu dropdowns */
.elementor-nav-menu .sub-menu,
.elementor-nav-menu--dropdown,
.elementor-nav-menu .elementor-nav-menu--dropdown {
    background: #000000 !important;
    border: 1px solid rgba(201, 154, 76, 0.45) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45) !important;
    padding: 8px 0 !important;
    min-width: 170px !important;
}

/* Dropdown links */
.elementor-nav-menu .sub-menu a,
.elementor-nav-menu--dropdown a,
.elementor-nav-menu .elementor-nav-menu--dropdown a {
    background: transparent !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    padding: 12px 24px !important;
    border: none !important;
    text-align: left !important;
}

/* Dropdown link hover */
.elementor-nav-menu .sub-menu a:hover,
.elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu .elementor-nav-menu--dropdown a:hover {
    background: rgba(201, 154, 76, 0.14) !important;
    color: #c99a4c !important;
}

/* Remove Elementor/WooCommerce default divider lines */
.elementor-nav-menu .sub-menu li,
.elementor-nav-menu--dropdown li {
    border: none !important;
}

/* Active parent menu item colour */
.elementor-nav-menu > li.current-menu-item > a,
.elementor-nav-menu > li.current-menu-parent > a,
.elementor-nav-menu > li > a:hover,
.elementor-nav-menu > li > a.highlighted {
    color: #c99a4c !important;
}

/* Dropdown arrow colour */
.elementor-nav-menu .sub-arrow,
.elementor-nav-menu a.highlighted .sub-arrow {
    color: #c99a4c !important;
    fill: #c99a4c !important;
}

/* WooCommerce cart dropdown / menu cart panel */
.elementor-menu-cart__container,
.elementor-menu-cart__main,
.elementor-menu-cart__products,
.elementor-menu-cart__footer-buttons {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: rgba(201, 154, 76, 0.45) !important;
}

/* WooCommerce cart dropdown links/buttons */
.elementor-menu-cart__container a,
.elementor-menu-cart__main a,
.elementor-menu-cart__footer-buttons a,
.elementor-menu-cart__product-name a {
    color: #ffffff !important;
    background: transparent !important;
}

/* WooCommerce cart hover */
.elementor-menu-cart__container a:hover,
.elementor-menu-cart__main a:hover,
.elementor-menu-cart__footer-buttons a:hover,
.elementor-menu-cart__product-name a:hover {
    color: #c99a4c !important;
}

/* Checkout / cart buttons inside Woo panel */
.elementor-menu-cart__footer-buttons a {
    border: 1px solid #c99a4c !important;
    background: #c99a4c !important;
    color: #000000 !important;
    font-weight: 500 !important;
    text-transform: none !important;
}

.elementor-menu-cart__footer-buttons a:hover {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

/* Legends Estates - Single product page top spacing */
.single-product div.product {
  padding-top: 120px;
}

/* Featured Release image fills its available area */
.legends-featured-release-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    object-position: center;
}
@media (max-width: 767px) {
    .legends-featured-release-image-wrap,
    .legends-featured-release-image-wrap .legends-featured-release-image {
        min-height: 380px;
    }
}
/* My Account spacer that remains after Elementor makes the header sticky */
body.woocommerce-account div.woocommerce::before {
    content: "";
    display: block;
    width: 100%;
    height: 200px;
    clear: both;
}

@media (max-width: 1024px) {
    body.woocommerce-account div.woocommerce::before {
        height: 160px;
    }
}

@media (max-width: 767px) {
    body.woocommerce-account div.woocommerce::before {
        height: 120px;
    }
}


/* =========================================================
   MELDVILLE WINES GRID
   Shortcode: [legends_meldville_wines_grid]
   ========================================================= */

#legends-meldville-wines,
#legends-meldville-wines * {
  box-sizing: border-box;
}

#legends-meldville-wines {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#legends-meldville-wines .legends-meldville-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 30px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#legends-meldville-wines .legends-meldville-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fffaf2 !important;
  border: 1px solid rgba(184, 145, 92, 0.30) !important;
  box-shadow: none !important;
}

#legends-meldville-wines .legends-meldville-card-image-link {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #eee4d5 !important;
  text-decoration: none !important;
}

#legends-meldville-wines .legends-meldville-card-image-link img,
#legends-meldville-wines .legends-meldville-card-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
}

#legends-meldville-wines .legends-meldville-card-content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 26px 24px 28px !important;
  background: #fffaf2 !important;
}

#legends-meldville-wines .legends-meldville-card-title {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #130f0b !important;
  font-family: var(--le-serif, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
}

#legends-meldville-wines .legends-meldville-card-title a {
  color: #130f0b !important;
  text-decoration: none !important;
}

#legends-meldville-wines .legends-meldville-card-title a:hover {
  color: var(--le-brass, #b8915c) !important;
}

#legends-meldville-wines .legends-meldville-card-description {
  display: block !important;
  flex: 1 1 auto !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  color: #665c50 !important;
  font-family: var(--le-sans, 'Inter', Arial, sans-serif) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

#legends-meldville-wines .legends-meldville-card-description p {
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
}

#legends-meldville-wines .legends-meldville-card-price {
  display: block !important;
  margin: auto 0 20px !important;
  color: #130f0b !important;
  font-family: var(--le-serif, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 27px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
}

#legends-meldville-wines .legends-meldville-card-price *,
#legends-meldville-wines .legends-meldville-card-price bdi,
#legends-meldville-wines .legends-meldville-card-price .woocommerce-Price-amount {
  color: #130f0b !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

#legends-meldville-wines .legends-meldville-card-price ins {
  text-decoration: none !important;
}

#legends-meldville-wines .legends-meldville-card-price del {
  margin-right: 8px !important;
  color: rgba(19, 15, 11, 0.45) !important;
}

#legends-meldville-wines .legends-meldville-card-link {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  background: transparent !important;
  color: #130f0b !important;
  border: 1px solid #130f0b !important;
  border-radius: 0 !important;
  font-family: var(--le-sans, 'Inter', Arial, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

#legends-meldville-wines .legends-meldville-card-link:hover {
  background: var(--le-brass, #b8915c) !important;
  color: #130f0b !important;
  border-color: var(--le-brass, #b8915c) !important;
}

#legends-meldville-wines .legends-meldville-no-products {
  margin: 0 !important;
  color: inherit !important;
  font-size: 18px !important;
}

@media (max-width: 1024px) {
  #legends-meldville-wines .legends-meldville-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px !important;
  }
}

@media (max-width: 767px) {
  #legends-meldville-wines .legends-meldville-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  #legends-meldville-wines .legends-meldville-card-title {
    font-size: 28px !important;
  }
}
