/* ==========================================================================
   PEPINIERA SOSA — SHARED DESIGN TOKENS
   Loaded globally with the footer stylesheet.
   WoodMart Theme Settings remain the source of truth for WoodMart-native UI.
   These variables power the custom SOSA homepage/footer components.
   ========================================================================== */

:root {
  /* Brand colors */
  --sosa-primary: #1d3c27;
  --sosa-primary-foreground: #ffffff;

  --sosa-secondary: #4e7235;
  --sosa-secondary-foreground: #ffffff;

  --sosa-accent: #c99a3d;
  --sosa-accent-foreground: #1d3c27;

  --sosa-background: #f7f4ec;
  --sosa-foreground: #29352d;

  /* Supporting colors */
  --sosa-card: #ffffff;
  --sosa-card-foreground: #29352d;

  --sosa-surface: #efeadf;
  --sosa-surface-foreground: #29352d;

  --sosa-muted: #e8e3d8;
  --sosa-muted-foreground: #687269;

  --sosa-border: #d8d1c2;
  --sosa-input: #d8d1c2;
  --sosa-ring: #4e7235;

  /* Botanical aliases */
  --sosa-leaf: #4e7235;
  --sosa-leaf-foreground: #ffffff;

  --sosa-gold: #c99a3d;
  --sosa-gold-dark: #a97a24;
  --sosa-gold-light: #e7c983;

  /* Green variations */
  --sosa-primary-dark: #142b1c;
  --sosa-primary-light: #2c5639;
  --sosa-secondary-dark: #3a5827;
  --sosa-secondary-light: #6e914e;

  /* Status colors */
  --sosa-success: #4e7235;
  --sosa-warning: #c99a3d;
  --sosa-error: #a94335;

  /* Transparent colors */
  --sosa-primary-05: rgba(29, 60, 39, 0.05);
  --sosa-primary-10: rgba(29, 60, 39, 0.1);
  --sosa-primary-20: rgba(29, 60, 39, 0.2);
  --sosa-primary-40: rgba(29, 60, 39, 0.4);

  --sosa-secondary-10: rgba(78, 114, 53, 0.1);
  --sosa-secondary-20: rgba(78, 114, 53, 0.2);

  --sosa-accent-10: rgba(201, 154, 61, 0.1);
  --sosa-accent-20: rgba(201, 154, 61, 0.2);
  --sosa-accent-35: rgba(201, 154, 61, 0.35);

  /* Layout */
  --sosa-radius-sm: 8px;
  --sosa-radius: 12px;
  --sosa-radius-lg: 20px;
  --sosa-container-width: 1200px;

  /* Gradients */
  --sosa-gradient-forest: linear-gradient(135deg, #1d3c27 0%, #2c5639 100%);

  --sosa-gradient-botanical: linear-gradient(135deg, #1d3c27 0%, #4e7235 100%);

  --sosa-gradient-gold: linear-gradient(135deg, #c99a3d 0%, #e0b75f 100%);

  --sosa-gradient-warm: linear-gradient(180deg, #fbf9f4 0%, #f7f4ec 100%);

  --sosa-gradient-sun: linear-gradient(135deg, #f4e2b8 0%, #c99a3d 100%);

  /* Shadows */
  --sosa-shadow-soft:
    0 2px 4px rgba(29, 60, 39, 0.04), 0 12px 30px -18px rgba(29, 60, 39, 0.18);

  --sosa-shadow-card:
    0 4px 8px rgba(29, 60, 39, 0.05), 0 20px 42px -24px rgba(29, 60, 39, 0.24);

  --sosa-shadow-elevated: 0 18px 42px -18px rgba(29, 60, 39, 0.38);

  /* Motion */
  --sosa-ease-natural: cubic-bezier(0.22, 1, 0.36, 1);
}

/* =========================================================
   PEPINIERA ȘOȘA — CUSTOM HTML BLOCK FOOTER

   WPBakery Row Extra class:
   sosa-footer-row
   ========================================================= */

/* =========================================================
   1. WPBAKERY / HTML BLOCK RESET
   ========================================================= */

/* Footer row reset — isolated from homepage WPBakery rules */
.sosa-footer-row {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.sosa-footer-row > .wpb_column,
.sosa-footer-row > .wpb_column > .vc_column-inner {
  width: 100%;
  padding: 0 !important;
}

.sosa-footer-row :is(.wpb_content_element, .wpb_raw_code, .wpb_wrapper) {
  margin: 0 !important;
}

/* =========================================================
   2. FOOTER ROOT
   ========================================================= */

.sosa-footer {
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.78);
  background:
    radial-gradient(
      circle at 5% 12%,
      rgba(201, 154, 61, 0.13) 0%,
      transparent 27%
    ),
    radial-gradient(
      circle at 96% 90%,
      rgba(78, 114, 53, 0.23) 0%,
      transparent 31%
    ),
    linear-gradient(145deg, #102318 0%, #173221 48%, #1d3c27 100%);
}

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

/* Decorative background circles */

.sosa-footer::before {
  position: absolute;
  top: 100px;
  left: -250px;
  z-index: -1;
  width: 560px;
  height: 560px;
  content: "";
  border: 1px solid rgba(201, 154, 61, 0.09);
  border-radius: 50%;
  pointer-events: none;
}

.sosa-footer::after {
  position: absolute;
  right: -300px;
  bottom: -350px;
  z-index: -1;
  width: 650px;
  height: 650px;
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.045);
  border-radius: 50%;
  pointer-events: none;
}

/* =========================================================
   3. GLOBAL CONTAINER
   ========================================================= */

.sosa-footer .sosa-footer__container {
  width: min(calc(100% - 40px), var(--sosa-container-width, 1200px));
  margin-right: auto;
  margin-left: auto;
}

/* =========================================================
   4. CTA AREA
   ========================================================= */

.sosa-footer .sosa-footer__cta-area {
  padding: clamp(56px, 6vw, 78px) 0 0;
}

.sosa-footer .sosa-footer__cta {
  position: relative;
  display: grid;
  grid-template-columns:
    minmax(0, 1.35fr)
    minmax(280px, 0.65fr);
  align-items: center;
  gap: clamp(34px, 5vw, 70px);
  padding: clamp(30px, 4vw, 48px);
  overflow: hidden;
  border: 1px solid rgba(201, 154, 61, 0.24);
  border-radius: 25px;
  color: var(--sosa-foreground, #29352d);
  background:
    radial-gradient(
      circle at 94% 8%,
      rgba(201, 154, 61, 0.11) 0%,
      transparent 37%
    ),
    linear-gradient(145deg, #fbf8f0 0%, #f4eedf 100%);
  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.1),
    0 38px 76px -40px rgba(0, 0, 0, 0.55);
}

/* Decorative CTA leaf-like shape */

.sosa-footer .sosa-footer__cta::after {
  position: absolute;
  right: -110px;
  bottom: -150px;
  width: 330px;
  height: 330px;
  content: "";
  border: 1px solid rgba(78, 114, 53, 0.13);
  border-radius: 70% 30% 65% 35%;
  pointer-events: none;
  transform: rotate(22deg);
}

/* =========================================================
   5. CTA TYPOGRAPHY
   ========================================================= */

.sosa-footer .sosa-footer__cta-content {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.sosa-footer .sosa-footer__eyebrow {
  margin: 0;
  color: var(--sosa-accent, #c99a3d);
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sosa-footer .sosa-footer__cta-title {
  margin: 10px 0 0;
  color: var(--sosa-primary, #1d3c27);
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(32px, 3.5vw, 47px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.035em;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.sosa-footer .sosa-footer__cta-title span {
  display: block;
  color: var(--sosa-secondary, #4e7235);
}

.sosa-footer .sosa-footer__cta-text {
  max-width: 650px;
  margin: 16px 0 0;
  color: rgba(41, 53, 45, 0.71);
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 1.7;
  overflow-wrap: break-word;
}

/* =========================================================
   6. CTA BUTTONS
   ========================================================= */

.sosa-footer .sosa-footer__cta-actions {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 11px;
}

.sosa-footer .sosa-footer__button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 20px;
  border-radius: 999px;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;

  transition:
    color 220ms ease,
    background-color 220ms ease,
    transform 220ms ease;
}

.sosa-footer .sosa-footer__button--primary {
  border: 1px solid var(--sosa-primary, #1d3c27);
  color: #ffffff;
  background-color: var(--sosa-primary, #1d3c27);
  box-shadow: 0 14px 28px -17px rgba(29, 60, 39, 0.78);
}

.sosa-footer .sosa-footer__button--primary span:last-child {
  color: #e5c77f;
  font-size: 18px;
}

.sosa-footer .sosa-footer__button--secondary {
  border: 1px solid rgba(29, 60, 39, 0.18);
  color: var(--sosa-primary, #1d3c27);
  background-color: rgba(255, 255, 255, 0.48);
}

/* =========================================================
   7. MAIN FOOTER
   ========================================================= */

.sosa-footer .sosa-footer__main {
  padding: clamp(58px, 7vw, 86px) 0 55px;
}

.sosa-footer .sosa-footer__grid {
  display: grid;
  grid-template-columns:
    minmax(280px, 1.45fr)
    minmax(150px, 0.72fr)
    minmax(150px, 0.72fr)
    minmax(245px, 1.05fr);
  align-items: start;
  gap: clamp(34px, 4vw, 58px);
}

/* =========================================================
   8. BRAND AREA
   ========================================================= */

.sosa-footer .sosa-footer__brand {
  min-width: 0;
}

.sosa-footer .sosa-footer__logo-link {
  display: inline-flex;
  max-width: 100%;
  text-decoration: none;
}

.sosa-footer .sosa-footer__logo-shell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 12px 17px;
  border: 1px solid rgba(201, 154, 61, 0.24);
  border-radius: 17px;
  background: linear-gradient(145deg, #fcf9f1 0%, #f3edde 100%);
  box-shadow: 0 18px 34px -23px rgba(0, 0, 0, 0.7);
}

.sosa-footer .sosa-footer__logo {
  display: block;
  width: min(300px, 100%);
  height: auto;
  margin: 0;
  object-fit: contain;
}

.sosa-footer .sosa-footer__brand-text {
  max-width: 440px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.69);
  font-family: "Inter", sans-serif;
  font-size: 13px;
  line-height: 1.75;
  overflow-wrap: break-word;
}

/* =========================================================
   9. ASSURANCE PILLS
   ========================================================= */

.sosa-footer .sosa-footer__assurances {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.sosa-footer .sosa-footer__assurance {
  display: inline-flex;
  min-height: 31px;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid rgba(201, 154, 61, 0.16);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.74);
  background-color: rgba(255, 255, 255, 0.045);
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
}

.sosa-footer .sosa-footer__assurance > span {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background-color: var(--sosa-accent, #c99a3d);
  box-shadow: 0 0 0 4px rgba(201, 154, 61, 0.08);
}

/* =========================================================
   10. SOCIAL LINKS
   ========================================================= */
.sosa-footer .sosa-footer__socials {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 25px;
}

.sosa-footer .sosa-footer__social {
  position: relative;
  display: inline-flex;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.8);
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.075),
    rgba(255, 255, 255, 0.025)
  );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 13px 27px -20px rgba(0, 0, 0, 0.75);
  text-decoration: none !important;
  -webkit-tap-highlight-color: transparent;

  transition:
    color 220ms ease,
    background-color 220ms ease,
    transform 220ms ease;
}

.sosa-footer .sosa-footer__social::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: 0;
  border-radius: inherit;
  background: radial-gradient(
    circle at 35% 25%,
    rgba(255, 255, 255, 0.18),
    transparent 48%
  );
  pointer-events: none;
  transition: opacity 240ms ease;
}

/* SVG dimensions */

.sosa-footer .sosa-footer__social svg {
  position: relative;
  z-index: 1;
  display: block;
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  overflow: visible;
}

/* Instagram needs a slightly lighter visual weight */

.sosa-footer .sosa-footer__social--instagram svg {
  width: 20px;
  height: 20px;
}

/* YouTube wider icon */

.sosa-footer .sosa-footer__social--youtube svg {
  width: 21px;
  height: 21px;
}

/* Pinterest */

.sosa-footer .sosa-footer__social--pinterest svg {
  width: 20px;
  height: 20px;
}

/* WhatsApp default styling */

.sosa-footer .sosa-footer__social--whatsapp {
  color: #ffffff;
  border-color: rgba(78, 114, 53, 0.7);
  background: linear-gradient(
    145deg,
    rgba(78, 114, 53, 0.7),
    rgba(29, 60, 39, 0.82)
  );
}

/* =========================================================
   DESKTOP HOVER — BRAND COLORS
   ========================================================= */

@media (hover: hover) and (pointer: fine) {
  .sosa-footer .sosa-footer__social:hover {
    color: #ffffff;
    box-shadow: 0 16px 30px -18px rgba(0, 0, 0, 0.75);
    transform: translateY(-3px);
  }

  .sosa-footer .sosa-footer__social:hover::before {
    opacity: 1;
  }

  /* Facebook */

  .sosa-footer .sosa-footer__social--facebook:hover {
    border-color: #1877f2;
    background-color: #1877f2;
  }

  /* Instagram */

  .sosa-footer .sosa-footer__social--instagram:hover {
    border-color: #d62976;
    background: radial-gradient(
      circle at 30% 105%,
      #feda75 0%,
      #fa7e1e 25%,
      #d62976 52%,
      #962fbf 75%,
      #4f5bd5 100%
    );
  }

  /* YouTube */

  .sosa-footer .sosa-footer__social--youtube:hover {
    border-color: #ff0033;
    background-color: #ff0033;
  }

  /* Pinterest */

  .sosa-footer .sosa-footer__social--pinterest:hover {
    border-color: #e60023;
    background-color: #e60023;
  }

  /* WhatsApp */

  .sosa-footer .sosa-footer__social--whatsapp:hover {
    border-color: #25d366;
    background: linear-gradient(145deg, #25d366, #128c7e);
    box-shadow: 0 16px 30px -18px rgba(37, 211, 102, 0.75);
  }
}

/* =========================================================
   TOUCH DEVICES
   ========================================================= */

@media (hover: none), (pointer: coarse) {
  .sosa-footer .sosa-footer__social,
  .sosa-footer .sosa-footer__social:hover {
    transform: none !important;
  }

  .sosa-footer .sosa-footer__social:active {
    transform: scale(0.94) !important;
  }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {
  .sosa-footer .sosa-footer__socials {
    gap: 9px;
  }

  .sosa-footer .sosa-footer__social {
    width: 44px;
    height: 44px;
    flex-basis: 40px;
  }

  .sosa-footer .sosa-footer__social svg {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
  }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .sosa-footer .sosa-footer__social,
  .sosa-footer .sosa-footer__social::before {
    transition: none !important;
    transform: none !important;
  }
}

/* =========================================================
   11. NAVIGATION COLUMNS
   ========================================================= */

.sosa-footer .sosa-footer__column {
  min-width: 0;
}

.sosa-footer .sosa-footer__column-title {
  position: relative;
  margin: 0;
  padding-bottom: 15px;
  color: #ffffff;
  font-family: "Fraunces", Georgia, serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.015em;
}

.sosa-footer .sosa-footer__column-title::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 34px;
  height: 2px;
  content: "";
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--sosa-accent, #c99a3d),
    rgba(201, 154, 61, 0.15)
  );
}

.sosa-footer .sosa-footer__links {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.sosa-footer .sosa-footer__links li {
  margin: 0;
  padding: 0;
}

.sosa-footer .sosa-footer__links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: rgba(255, 255, 255, 0.67);
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: none !important;

  transition:
    color 220ms ease,
    transform 220ms ease;

  min-height: 34px;
}

.sosa-footer .sosa-footer__links a::before {
  width: 12px;
  height: 1px;
  margin-right: 7px;
  content: "";
  opacity: 0;
  background-color: var(--sosa-accent, #c99a3d);

  transition:
    opacity 200ms ease,
    transform 200ms ease;

  transform: scaleX(0);

  transform-origin: left center;
}

/* =========================================================
   12. CONTACT CARD
   ========================================================= */

.sosa-footer .sosa-footer__contact {
  position: relative;
  min-width: 0;
  padding: 24px 22px;
  overflow: hidden;
  border: 1px solid rgba(201, 154, 61, 0.18);
  border-radius: 19px;
  background:
    radial-gradient(
      circle at 95% 5%,
      rgba(201, 154, 61, 0.12) 0%,
      transparent 38%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.075) 0%,
      rgba(255, 255, 255, 0.035) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.055),
    0 28px 54px -37px rgba(0, 0, 0, 0.7);
}

.sosa-footer .sosa-footer__contact::before {
  position: absolute;
  top: 0;
  right: 22px;
  left: 22px;
  height: 3px;
  content: "";
  border-radius: 0 0 999px 999px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--sosa-accent, #c99a3d),
    transparent
  );
}

.sosa-footer .sosa-footer__contact-eyebrow {
  margin: 0;
  color: var(--sosa-accent, #c99a3d);
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.sosa-footer .sosa-footer__contact-title {
  margin: 8px 0 0;
  color: #ffffff;
  font-family: "Fraunces", Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.sosa-footer .sosa-footer__contact-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 21px;
}

.sosa-footer .sosa-footer__contact-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.sosa-footer .sosa-footer__contact-label {
  color: rgba(255, 255, 255, 0.68);
  font-family: "Inter", sans-serif;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.sosa-footer .sosa-footer__contact-item a {
  width: fit-content;
  max-width: 100%;
  color: rgba(255, 255, 255, 0.82);
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none !important;
  overflow-wrap: anywhere;

  transition: color 220ms ease;
}

/* =========================================================
   CONSUMER PROTECTION & PAYMENT STRIP
   ========================================================= */

.sosa-footer .sosa-footer__trust {
  padding: 0 0 34px;
}

.sosa-footer .sosa-footer__trust-inner {
  display: grid;
  grid-template-columns: minmax(270px, 0.82fr) minmax(0, 1.38fr);
  align-items: stretch;
  gap: 22px;
  padding: 22px;
  border: 1px solid rgba(201, 154, 61, 0.16);
  border-radius: 20px;
  background:
    radial-gradient(circle at 4% 0%, rgba(201, 154, 61, 0.1), transparent 34%),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.07),
      rgba(255, 255, 255, 0.025)
    );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.sosa-footer .sosa-footer__trust-group {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}

.sosa-footer .sosa-footer__trust-group--consumer {
  padding-left: 22px;
  border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.sosa-footer .sosa-footer__trust-heading {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.sosa-footer .sosa-footer__trust-kicker {
  color: var(--sosa-accent, #c99a3d);
  font-family: "Inter", sans-serif;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sosa-footer .sosa-footer__trust-heading strong {
  color: rgba(255, 255, 255, 0.9);
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.sosa-footer .sosa-footer__payment-card {
  display: flex;
  width: fit-content;
  max-width: 100%;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  padding: 9px 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  background-color: #ffffff;
}

.sosa-footer .sosa-footer__payment-image {
  display: block;
  width: min(328px, 100%);
  height: auto;
  max-width: 100%;
  margin: 0;
  object-fit: contain;
}

.sosa-footer .sosa-footer__consumer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.sosa-footer .sosa-footer__consumer-badge {
  display: inline-flex;
  width: 250px;
  max-width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  background-color: #ffffff;
  text-decoration: none !important;
  transition:
    border-color 220ms ease,
    transform 220ms ease;
}

.sosa-footer .sosa-footer__consumer-badge img {
  display: block;
  width: 250px;
  height: 50px;
  max-width: 100%;
  margin: 0;
  object-fit: contain;
}

.sosa-footer .sosa-footer__consumer-badge--sol {
  opacity: 0.82;
}

.sosa-footer .sosa-footer__anpc-link {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 15px;
  border: 1px solid rgba(201, 154, 61, 0.3);
  border-radius: 10px;
  color: #f2dfb8;
  background-color: rgba(201, 154, 61, 0.08);
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none !important;
  transition:
    color 220ms ease,
    border-color 220ms ease,
    background-color 220ms ease,
    transform 220ms ease;
}

.sosa-footer .sosa-footer__sol-note {
  max-width: 760px;
  margin: -3px 0 0;
  color: rgba(255, 255, 255, 0.52);
  font-family: "Inter", sans-serif;
  font-size: 9px;
  line-height: 1.55;
}

/* =========================================================
   13. BOTTOM BAR
   ========================================================= */

.sosa-footer .sosa-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.085);
  background-color: rgba(0, 0, 0, 0.12);
}

.sosa-footer .sosa-footer__bottom-inner {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    auto
    minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  min-height: 78px;
  padding: 20px 0;
}

.sosa-footer .sosa-footer__copyright,
.sosa-footer .sosa-footer__signature {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.5;
}

.sosa-footer .sosa-footer__signature {
  color: rgba(232, 211, 166, 0.7);
  text-align: center;
}

.sosa-footer .sosa-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 14px;
}

.sosa-footer .sosa-footer__legal a {
  color: rgba(255, 255, 255, 0.72);
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none !important;

  transition: color 220ms ease;
}

/* =========================================================
   14. KEYBOARD FOCUS
   ========================================================= */

.sosa-footer a:focus-visible {
  outline: 3px solid rgba(201, 154, 61, 0.38);
  outline-offset: 3px;
}

/* =========================================================
   15. DESKTOP HOVER
   ========================================================= */

@media (hover: hover) and (pointer: fine) {
  .sosa-footer .sosa-footer__button--primary:hover {
    color: #ffffff;
    border-color: #0d1e14;
    background-color: #0d1e14;
    box-shadow: 0 18px 34px -17px rgba(29, 60, 39, 0.88);
    transform: translateY(-2px);
  }

  .sosa-footer .sosa-footer__button--secondary:hover {
    color: var(--sosa-primary, #1d3c27);
    border-color: rgba(29, 60, 39, 0.3);
    background-color: #ffffff;
    transform: translateY(-2px);
  }

  .sosa-footer .sosa-footer__links a:hover {
    color: #ffffff;
    transform: translateX(3px);
  }

  .sosa-footer .sosa-footer__links a:hover::before {
    opacity: 1;
    transform: scaleX(1);
  }

  .sosa-footer .sosa-footer__contact-item a:hover,
  .sosa-footer .sosa-footer__legal a:hover {
    color: #e8d3a6;
  }

  .sosa-footer .sosa-footer__consumer-badge:hover {
    border-color: rgba(201, 154, 61, 0.42);
    transform: translateY(-2px);
  }

  .sosa-footer .sosa-footer__anpc-link:hover {
    color: #ffffff;
    border-color: rgba(201, 154, 61, 0.52);
    background-color: rgba(201, 154, 61, 0.14);
    transform: translateY(-2px);
  }
}

/* =========================================================
   16. TOUCH DEVICES
   ========================================================= */

@media (hover: none), (pointer: coarse) {
  .sosa-footer .sosa-footer__button,
  .sosa-footer .sosa-footer__button:hover,
  .sosa-footer .sosa-footer__social,
  .sosa-footer .sosa-footer__social:hover,
  .sosa-footer .sosa-footer__links a,
  .sosa-footer .sosa-footer__links a:hover {
    transform: none !important;
  }

  .sosa-footer .sosa-footer__links a::before {
    display: none;
    transform: scaleX(0);
    transform-origin: left center;
  }
}

/* =========================================================
   17. TABLET
   ========================================================= */

@media (max-width: 1024px) {
  .sosa-footer .sosa-footer__container {
    width: min(calc(100% - 36px), 940px);
  }

  .sosa-footer .sosa-footer__cta {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .sosa-footer .sosa-footer__cta-actions {
    width: min(100%, 480px);
    flex-direction: row;
  }

  .sosa-footer .sosa-footer__button {
    flex: 1;
  }

  .sosa-footer .sosa-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 36px;
  }

  .sosa-footer .sosa-footer__brand {
    grid-column: 1 / -1;
  }

  .sosa-footer .sosa-footer__contact {
    grid-column: auto;
  }

  .sosa-footer .sosa-footer__trust-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .sosa-footer .sosa-footer__trust-group--consumer {
    padding-top: 21px;
    padding-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.09);
    border-left: 0;
  }

  .sosa-footer .sosa-footer__bottom-inner {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);
  }

  .sosa-footer .sosa-footer__signature {
    display: none;
  }
}

/* =========================================================
   18. MOBILE
   ========================================================= */

@media (max-width: 767px) {
  .sosa-footer .sosa-footer__container {
    width: min(calc(100% - 28px), 680px);
  }

  .sosa-footer .sosa-footer__cta-area {
    padding-top: 42px;
  }

  .sosa-footer .sosa-footer__cta {
    gap: 25px;
    padding: 27px 23px;
    border-radius: 21px;
  }

  .sosa-footer .sosa-footer__cta-title {
    font-size: clamp(31px, 8.5vw, 41px);
  }

  .sosa-footer .sosa-footer__cta-actions {
    width: 100%;
    flex-direction: column;
  }

  .sosa-footer .sosa-footer__button {
    width: 100%;
  }

  .sosa-footer .sosa-footer__main {
    padding: 56px 0 43px;
  }

  .sosa-footer .sosa-footer__trust {
    padding-bottom: 26px;
  }

  .sosa-footer .sosa-footer__trust-inner {
    gap: 20px;
    padding: 20px;
    border-radius: 17px;
  }

  .sosa-footer .sosa-footer__consumer-links {
    align-items: stretch;
    flex-direction: column;
  }

  .sosa-footer .sosa-footer__consumer-badge,
  .sosa-footer .sosa-footer__anpc-link {
    width: 100%;
  }

  .sosa-footer .sosa-footer__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 37px;
  }

  .sosa-footer .sosa-footer__brand,
  .sosa-footer .sosa-footer__contact {
    grid-column: auto;
  }

  .sosa-footer .sosa-footer__column {
    padding-bottom: 2px;
  }

  .sosa-footer .sosa-footer__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 16px;
  }

  .sosa-footer .sosa-footer__bottom-inner {
    display: flex;
    min-height: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 11px;
    padding: 22px 0;
  }

  .sosa-footer .sosa-footer__legal {
    justify-content: flex-start;
  }
}

/* =========================================================
   19. SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {
  .sosa-footer .sosa-footer__container {
    width: min(calc(100% - 24px), 680px);
  }

  .sosa-footer .sosa-footer__logo-shell {
    width: 100%;
  }

  .sosa-footer .sosa-footer__logo {
    width: min(220px, 100%);
  }

  .sosa-footer .sosa-footer__assurances {
    align-items: stretch;
    flex-direction: column;
  }

  .sosa-footer .sosa-footer__assurance {
    width: 100%;
  }

  .sosa-footer .sosa-footer__links {
    grid-template-columns: minmax(0, 1fr);
  }

  .sosa-footer .sosa-footer__contact {
    padding: 22px 20px;
  }

  .sosa-footer .sosa-footer__trust-inner {
    padding: 17px;
  }

  .sosa-footer .sosa-footer__payment-card {
    width: 100%;
  }

  .sosa-footer .sosa-footer__legal {
    gap: 9px 13px;
  }
}

/* =========================================================
   20. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .sosa-footer .sosa-footer__button,
  .sosa-footer .sosa-footer__social,
  .sosa-footer .sosa-footer__links a,
  .sosa-footer .sosa-footer__links a::before,
  .sosa-footer .sosa-footer__contact-item a,
  .sosa-footer .sosa-footer__legal a,
  .sosa-footer .sosa-footer__consumer-badge,
  .sosa-footer .sosa-footer__anpc-link {
    transition: none !important;
    transform: none !important;
  }
}



/* Touch-device performance: disable decorative footer transitions */
@media (hover: none), (pointer: coarse) {
  .sosa-footer .sosa-footer__button,
  .sosa-footer .sosa-footer__social,
  .sosa-footer .sosa-footer__links a,
  .sosa-footer .sosa-footer__links a::before {
    transition: none !important;
    animation: none !important;
  }
}
