/* Keep newsletter placeholder text above WCAG AA contrast on its light field. */
.block_newsletter .tvnewsleeter-input-button-wraper input::placeholder,
.tvnewsleeter-input-button-wraper input[name="email"]::placeholder {
  color: #4b3f45 !important;
  opacity: 1 !important;
}

/* Axe evaluates the input foreground as well as its placeholder pseudo-element. */
.block_newsletter .tvnewsleeter-input-button-wraper input[name="email"],
.tvnewsleeter-input-button-wraper input[name="email"] {
  color: #4b3f45 !important;
}

/* Keep the product stock-alert email field above WCAG AA contrast. */
.page-product .product-additional-info .js-mailalert input.form-control {
  color: #4b3f45 !important;
}

.page-product .product-additional-info .js-mailalert input.form-control::placeholder {
  color: #4b3f45 !important;
  opacity: 1 !important;
}

/* Preserve the gold accent while meeting WCAG contrast on white surfaces. */
.breadcrumb li:last-child [itemprop="name"],
.product-prices .current-price .price,
.tvproduct-description-tab .nav-link.active {
  color: #765115 !important;
}

/* The original bright green stock label fails against white. */
.tvinstock {
  color: #2f6f38 !important;
}

/* Reserve the mobile header logo box before image decoding to prevent the
   content wrapper from shifting when the responsive header becomes visible. */
.tv-header-logo img.logo {
  display: block;
  width: 256px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 32 / 13;
  object-fit: contain;
}

/* Lighthouse 13.4.1 attributes the category-mobile CLS to late swaps of
   these five Latin Poppins faces.  Keep Poppins when it is available during
   the short block period, but avoid a late first-visit swap on slow links. */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: local("Poppins Regular"), local("Poppins-Regular"), url("/themes/v1_freshg_53/assets/fonts/poppins/pxiEyp8kv8JHgFVrJJfecg.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: local("Poppins Medium"), local("Poppins-Medium"), url("/themes/v1_freshg_53/assets/fonts/poppins/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: local("Poppins SemiBold"), local("Poppins-SemiBold"), url("/themes/v1_freshg_53/assets/fonts/poppins/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: local("Poppins Bold"), local("Poppins-Bold"), url("/themes/v1_freshg_53/assets/fonts/poppins/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: local("Poppins Italic"), local("Poppins-Italic"), url("/themes/v1_freshg_53/assets/fonts/poppins/pxiGyp8kv8JHgFVrJJLucHtA.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Make the legally required checkout consent unmistakable and easy to use.
   The scope is intentionally limited to the payment step. */
#checkout-payment-step #conditions-to-approve ul {
  margin: 22px 0 18px;
}

#checkout-payment-step #conditions-to-approve li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin: 0;
  padding: 16px 18px;
  color: #2f251e;
  background: #fff8e8;
  border: 2px solid #b87812;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgba(91, 61, 14, 0.1);
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

#checkout-payment-step #conditions-to-approve li:hover,
#checkout-payment-step #conditions-to-approve li:focus-within {
  background: #fff3d3;
  border-color: #85580f;
  box-shadow: 0 0 0 3px rgba(184, 120, 18, 0.18);
}

#checkout-payment-step #conditions-to-approve li > div:first-child {
  width: 30px;
  padding-top: 1px;
}

#checkout-payment-step #conditions-to-approve .custom-checkbox,
#checkout-payment-step #conditions-to-approve .custom-checkbox > span {
  display: block;
  width: 28px;
  min-width: 28px;
  height: 28px;
  min-height: 28px;
  margin: 0;
}

#checkout-payment-step #conditions-to-approve .custom-checkbox > span {
  background: #fff;
  border: 2px solid #765115;
  border-radius: 5px;
}

#checkout-payment-step #conditions-to-approve .custom-checkbox input[type="checkbox"] {
  width: 28px;
  height: 28px;
  margin: 0;
  cursor: pointer;
}

#checkout-payment-step #conditions-to-approve .custom-checkbox .checkbox-checked {
  width: 24px;
  height: 24px;
  font-size: 24px;
  line-height: 24px;
  color: #765115;
}

#checkout-payment-step #conditions-to-approve .condition-label {
  min-width: 0;
  padding-top: 1px;
}

#checkout-payment-step #conditions-to-approve label.js-terms {
  display: block;
  margin: 0;
  color: #2f251e;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
}

#checkout-payment-step #conditions-to-approve label.js-terms a {
  color: #68460f;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

#checkout-payment-step #conditions-to-approve label.js-terms a:hover {
  color: #3f2a09;
}

#checkout-payment-step #conditions-to-approve label.js-terms a:focus-visible {
  border-radius: 3px;
  outline: 3px solid #765115;
  outline-offset: 3px;
}

@media (max-width: 575px) {
  #checkout-payment-step #conditions-to-approve li {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  #checkout-payment-step #conditions-to-approve label.js-terms {
    font-size: 16px;
    line-height: 1.45;
  }
}

@media (prefers-reduced-motion: reduce) {
  #checkout-payment-step #conditions-to-approve li {
    transition: none;
  }
}

/* Put mobile carousel controls outside the linked slide and give them a 28px target. */
@media (max-width: 767px) {
  #tvmain-slider.owl-theme .owl-dots {
    position: static !important;
    display: flex !important;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 !important;
    background: #fff;
  }

  #tvmain-slider.owl-theme .owl-dots .owl-dot {
    display: inline-flex !important;
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 6px !important;
  }

  #tvmain-slider.owl-theme .owl-dots .owl-dot span,
  #tvmain-slider.owl-theme .owl-dots .owl-dot.active span,
  #tvmain-slider.owl-theme .owl-dots .owl-dot:hover span {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
  }
}

/* DLM checkout UI spacing v1.0.0 (2026-08-24).
   Keep Stripe's direct-text label visibly separated from its radio control. */
body#checkout #checkout-payment-step .payment-options .payment-option:has(
  input[data-module-name="stripe_official"]
) {
  display: flex;
  align-items: center;
  column-gap: 12px;
}

body#checkout #checkout-payment-step .payment-options .payment-option:has(
  input[data-module-name="stripe_official"]
) > label {
  margin: 0;
}

/* Center copyright and design credit on separate, comfortably spaced rows. */
#footer .tvfooter-checkout .tvfooter-copy-payment-icon-inner {
  justify-content: center;
}

#footer .tvfooter-checkout .tvcopylink {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  padding: 4px 15px 10px;
  text-align: center;
}

#footer .tvfooter-checkout .tvcopylink > a,
#footer .tvfooter-checkout .tvcopylink > .dlm-footer-credit {
  display: block;
  margin: 0;
}

#footer .tvfooter-checkout .tvcopylink > a > p,
#footer .tvfooter-checkout .tvcopylink > .dlm-footer-credit {
  margin: 0;
  line-height: 1.5;
  text-align: center;
}
