.custom-footer {
    --newsletter-bg-color: #fdffff;
    --newsletter-text-color: #333333;
    --newsletter-button-color: #333030;
    --footer-bg-color: #181b1d;
    --footer-text-color: #b0b0b0;
    --footer-heading-color: #fdffff;
    --footer-border-color: #333333;
    --footer-menu-color: #b0b0b0;
    --footer-menu-hover-color: #ffffff;
    --footer-divider-color: #666666;
    --localization-label-color: #b0b0b0;
    --footer-link-color: #007bff;
    --footer-link-hover-color: #0056b3;
    --footer-heading-size: 22px;
    --footer-text-size: 14px;
    --newsletter-title-size: 32px;
    --newsletter-subtitle-size: 16px;
    --copyright-text-size: 11px;
    --localization-label-size: 14px;
    --newsletter-section-padding-top: 80px;
    --newsletter-section-padding-bottom: 80px;
    --newsletter-form-max-width: 580px;
    --newsletter-form-margin-top: 32px;
    --newsletter-input-padding-vertical: 24px;
    --newsletter-input-padding-horizontal: 24px;
    --newsletter-input-border-radius: 8px;
    --newsletter-input-border-width: 1px;
    --newsletter-input-border-color: #e0e0e0;
    --newsletter-input-font-size: 14px;
    --newsletter-input-height: 48px;
    --newsletter-input-bg-color: #ffffff;
    --newsletter-input-text-color: #000000;
    --newsletter-button-bg-color: #333030;
    --newsletter-button-text-color: #ffffff;
    --newsletter-button-border-radius: 4px;
  }
  /* Use section-specific footer color when theme colors are disabled */
  .custom-footer .footer-main {
    background-color: var(--footer-bg-color) !important;
  }
  /* Hyperlink/underlined text styling */
  .custom-footer .footer-text a,
  .custom-footer .footer-column .footer-text a,
  .custom-footer .footer-bottom a,
  .custom-footer .newsletter-section a,
  .custom-footer p a,
  .custom-footer .rte a,
  .custom-footer .footer-description a {
    color: var(--footer-link-color) !important;
    text-decoration: underline !important;
    text-underline-offset: 0.2em;
    transition: color 0.3s ease;
  }
  .custom-footer .footer-text a:hover,
  .custom-footer .footer-column .footer-text a:hover,
  .custom-footer .footer-bottom a:hover,
  .custom-footer .newsletter-section a:hover,
  .custom-footer p a:hover,
  .custom-footer .rte a:hover,
  .custom-footer .footer-description a:hover {
    color: var(--footer-link-hover-color) !important;
  }
  .custom-footer .footer__localization a,
  .custom-footer .footer__localization a:hover,
  .custom-footer .footer__localization .disclosure__link,
  .custom-footer .footer__localization .localization-form__select {
    text-decoration: none !important;
    color: var(--footer-text-color) !important;
  }
  /* Footer top border */
  /* Newsletter Form Customization */
  .custom-footer .newsletter-section {
    padding-top: var(--newsletter-section-padding-top) !important;
    padding-bottom: var(--newsletter-section-padding-bottom) !important;
  }
  .custom-footer .newsletter-form {
    max-width: var(--newsletter-form-max-width) !important;
    margin-top: var(--newsletter-form-margin-top) !important;
  }
  /* Ensure field container is positioned for absolute button */
  .custom-footer .newsletter-form__field-wrapper .field {
    position: relative !important;
  }
  .custom-footer .newsletter-form__field-wrapper .field__input {
    padding: var(--newsletter-input-padding-vertical) var(--newsletter-input-padding-horizontal) !important;
    /* Space for button: button width + border spacing + right position + small gap */
    padding-right: calc(var(--newsletter-input-height) - 10px + var(--newsletter-input-border-width) + 5px + 8px) !important;
    border-radius: var(--newsletter-input-border-radius) !important;
    border-width: var(--newsletter-input-border-width) !important;
    border-color: var(--newsletter-input-border-color) !important;
    border-style: solid !important;
    font-size: var(--newsletter-input-font-size) !important;
    height: var(--newsletter-input-height) !important;
    min-height: calc(var(--newsletter-input-height) + var(--newsletter-input-border-width) * 2) !important;
    background-color: var(--newsletter-input-bg-color) !important;
    color: var(--newsletter-input-text-color) !important;
  }
  .custom-footer .newsletter-form__field-wrapper .field__input:focus,
  .custom-footer .newsletter-form__field-wrapper .field__input:focus-visible {
    border-radius: var(--newsletter-input-border-radius) !important;
  }
  .custom-footer .newsletter-form__button,
  .custom-footer button.newsletter-form__button,
  .custom-footer .newsletter-form__button.field__button,
  .custom-footer button.newsletter-form__button.field__button {
    /* Button size: input height minus top/bottom spacing (5px each = 10px total) */
    width: calc(var(--newsletter-input-height) - 10px) !important;
    height: calc(var(--newsletter-input-height) - 10px) !important;
    border-radius: calc(var(--newsletter-input-border-radius) - 4px) !important;
    /* Position: account for border width + 5px spacing from edge */
    position: absolute !important;
    top: calc(var(--newsletter-input-border-width) + 5px) !important;
    right: calc(var(--newsletter-input-border-width) + 5px) !important;
    z-index: 2 !important;
    /* Display for icon centering */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    /* Override global button styling - single color, no gradient, no border */
    background: var(--newsletter-button-bg-color, var(--newsletter-button-color)) !important;
    background-color: var(--newsletter-button-bg-color, var(--newsletter-button-color)) !important;
    background-image: none !important;
    border: none !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: var(--newsletter-button-text-color, #ffffff) !important;
    border-radius: var(--newsletter-button-border-radius) !important;
    /* Remove transforms and transitions from global button effects */
    transform: none !important;
    transition: opacity 0.3s ease !important;
  }
  .custom-footer .newsletter-form__button:hover,
  .custom-footer button.newsletter-form__button:hover,
  .custom-footer .newsletter-form__button.field__button:hover,
  .custom-footer button.newsletter-form__button.field__button:hover {
    background: var(--newsletter-button-bg-color, var(--newsletter-button-color)) !important;
    background-color: var(--newsletter-button-bg-color, var(--newsletter-button-color)) !important;
    background-image: none !important;
    opacity: 0.85 !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
    color: var(--newsletter-button-text-color, #ffffff) !important;
  }
  /* Remove gradient and border pseudo-elements */
  .custom-footer .newsletter-form__button:before,
  .custom-footer .newsletter-form__button:after,
  .custom-footer button.newsletter-form__button:before,
  .custom-footer button.newsletter-form__button:after {
    display: none !important;
    content: none !important;
  }
  /* RTL button positioning */
  [dir="rtl"] .custom-footer .newsletter-form__button,
  [dir="rtl"] .custom-footer button.newsletter-form__button,
  [dir="rtl"] .custom-footer .newsletter-form__button.field__button,
  [dir="rtl"] .custom-footer button.newsletter-form__button.field__button {
    left: calc(var(--newsletter-input-border-width) + 5px) !important;
    right: auto !important;
  }
  /* Button icon styling */
  .custom-footer .newsletter-form__button svg,
  .custom-footer .newsletter-form__button .svg-wrapper {
    width: 16px !important;
    height: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .custom-footer .newsletter-form__button svg {
    fill: var(--newsletter-button-text-color, #ffffff) !important;
    stroke: var(--newsletter-button-text-color, #ffffff) !important;
  }
  /* Button text styling (when show_button_text is enabled) */
  .custom-footer .newsletter-form__button .newsletter-button-text {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--newsletter-button-text-color, #ffffff) !important;
    white-space: nowrap !important;
    letter-spacing: var(--letter-spacing-body) !important;
  }
  /* When button has text, make it wider */
  .custom-footer .newsletter-form__button:has(.newsletter-button-text),
  .custom-footer button.newsletter-form__button:has(.newsletter-button-text) {
    width: auto !important;
    min-width: calc(var(--newsletter-input-height) - 10px) !important;
    padding: 0 16px !important;
  }
  /* RTL input padding - space for button on left side */
  [dir="rtl"] .custom-footer .newsletter-form__field-wrapper .field__input {
    padding-left: calc(var(--newsletter-input-height) - 10px + var(--newsletter-input-border-width) + 5px + 8px) !important;
    padding-right: var(--newsletter-input-padding-horizontal) !important;
  }
  /* Hide label - using placeholder instead */
  .custom-footer .newsletter-form__field-wrapper .field__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  /* Remove pseudo-element that creates duplicate input appearance */
  .custom-footer .newsletter-form__field-wrapper .field:after {
    display: none !important;
    content: none !important;
  }
  /* Mobile newsletter section padding */
  @media screen and (max-width: 749px) {
    .custom-footer .newsletter-section {
      padding-top: 40px !important;
      padding-bottom: 40px !important;
    }
  }
  /* Mobile column customization */
  @media screen and (max-width: 749px) {
  }
