/* Site chrome owned by the theme: footer, reviews badge, language switcher.
   Ported from Elementor custom code 53433, 53123 and 53128. The header is the
   plugin's #tul-nav and keeps its own styles. */

/* Footer */
.tul-foot { background: var(--verde-footer); color: #F3EEE4; font-family: var(--font-sans); }
.tul-foot a { color: inherit; text-decoration: none; }
.tul-foot ul { list-style: none; margin: 0; padding: 0; }
.tff-in { max-width: var(--wrap); margin: 0 auto; padding: 56px 22px 34px; display: grid; grid-template-columns: 1.5fr 1fr 1.3fr 1.1fr; gap: 42px; }
.tff-h { margin: 0 0 18px; font-size: .78rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; color: var(--naranja); }
.tff-name { margin: 0 0 12px; font-size: 1.375rem; font-weight: 700; color: #fff; }
.tff-tag { margin: 0 0 20px; max-width: 32ch; font-size: .85rem; line-height: 1.75; color: #C9D6CC; }
.tff-soc { display: flex; gap: 10px; }
.tff-soc a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgb(243 238 228 / .28); transition: background var(--dur-fast), border-color var(--dur-fast), transform var(--dur-fast); }
.tff-soc a:hover { background: var(--naranja); border-color: var(--naranja); color: var(--tinta); transform: translateY(-2px); }
.tff-soc .tul-ico { width: 18px; height: 18px; }
.tff-lnk li { margin: 0 0 6px; }
.tff-lnk a { display: inline-block; padding: 5px 0; font-size: .88rem; color: #D3DED6; transition: color var(--dur-fast), transform var(--dur-fast); }
.tff-lnk a:hover { color: var(--naranja); transform: translateX(4px); }
.tff-c { display: flex; flex-direction: column; gap: 14px; }
.tff-c li { display: flex; gap: 11px; align-items: flex-start; font-size: .85rem; line-height: 1.6; color: #D3DED6; }
.tff-c .tul-ico { width: 18px; height: 18px; margin-top: 2px; color: #7FC985; }
.tff-c a:hover { color: var(--naranja); }
.tff-cta { display: flex; flex-direction: column; gap: 13px; padding: 22px; border-radius: 16px; border: 1px solid rgb(243 238 228 / .14); background: rgb(255 255 255 / .045); }
.tff-cta .tff-h { margin: 0; }
.tff-cta p { margin: 0; font-size: .82rem; line-height: 1.6; color: #C9D6CC; }
/* Orange carries ink, never white (design system rule 2). */
.tff-wa { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 18px; border-radius: var(--r-pill); background: var(--naranja); color: var(--tinta) !important; font-weight: 700; font-size: .85rem; white-space: nowrap; transition: transform var(--dur-fast), box-shadow var(--dur-fast); }
.tff-wa:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgb(247 168 38 / .32); }
.tff-wa .tul-ico { width: 18px; height: 18px; }
.tff-bot { border-top: 1px solid rgb(243 238 228 / .12); }
.tff-bot-in { max-width: var(--wrap); margin: 0 auto; padding: 18px 22px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; }
.tff-copy { margin: 0; font-size: .78rem; color: #B7C6BB; }
.tff-pay { display: flex; gap: 8px; flex-wrap: wrap; }
.tff-pay li { padding: 5px 11px; border-radius: 7px; border: 1px solid rgb(243 238 228 / .16); background: rgb(255 255 255 / .06); font-size: .7rem; font-weight: 600; letter-spacing: .03em; color: #D3DED6; }
.tul-foot :focus-visible { outline-color: #fff; }
@media (max-width: 900px) { .tff-in { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (max-width: 560px) {
  .tff-in { grid-template-columns: 1fr; gap: 28px; padding: 42px 20px 26px; }
  .tff-bot-in { flex-direction: column-reverse; text-align: center; gap: 12px; }
  .tff-pay { justify-content: center; }
}

/* TranslatePress floating language switcher */
.trp-language-switcher.trp-floating-switcher {
  --bg: var(--verde-accion) !important; --bg-hover: var(--verde-hover) !important;
  --text: #fff !important; --text-hover: #fff !important; --border: none !important;
  --border-radius: 50px !important; --flag-radius: 50% !important; --flag-size: 20px !important;
  --font-size: 12px !important; --switcher-padding: 6px 14px !important;
  box-shadow: 0 4px 16px rgb(45 90 61 / .25);
  letter-spacing: .5px; font-weight: 600; text-transform: uppercase;
}
@media (min-width: 481px) {
  html:not(.tlp-fija-on) body nav.trp-language-switcher.trp-floating-switcher.trp-switcher-position-bottom { bottom: 24px !important; }
}
