/* FestejaMe 1.107.0 — pie de página común (todas las páginas públicas). */
.fjm-footer{position:relative;margin-top:0;background:#1B1033;color:#FFF8EC;font-family:Nunito,system-ui,sans-serif;font-size:.92rem;line-height:1.6;padding:46px 0 0}
/* Banderines de la marca a lo ancho del borde superior */
.fjm-footer::before{content:"";position:absolute;inset:0 0 auto;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='16' viewBox='0 0 72 16'%3E%3Cpath d='M2 0h20L12 14z' fill='%23E8368F'/%3E%3Cpath d='M26 0h20L36 14z' fill='%23FFB627'/%3E%3Cpath d='M50 0h20L60 14z' fill='%230F8B8D'/%3E%3C/svg%3E") repeat-x 0 0/72px 16px;opacity:.9}
.fjm-footer *{box-sizing:border-box}
.fjm-footer a{color:inherit;text-decoration:none}
.fjm-footer a:focus-visible{outline:3px solid #FFB627;outline-offset:3px;border-radius:6px}
.fjm-footer-inner{width:min(1160px,100% - 32px);margin:0 auto}
.fjm-footer-grid{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(140px,1fr));gap:36px 32px;padding:18px 0 38px}
.fjm-footer-brand{display:inline-flex;align-items:center;gap:10px}
.fjm-footer-brand svg{width:46px;height:auto;flex:none}
.fjm-footer-word{font:700 1.55rem/1 FJMHeaderLogo,Fredoka,Nunito,sans-serif;letter-spacing:-.01em}
.fjm-footer-word span{color:#E8368F}
.fjm-footer-slogan{margin:12px 0 6px;color:#FFB627;font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.fjm-footer-about{margin:0 0 18px;max-width:34ch;color:#d9cce6}
.fjm-footer-cta{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;background:#E8368F;color:#fff!important;font-weight:800;font-size:.88rem;transition:transform .15s ease,background .15s ease}
.fjm-footer-cta:hover{background:#d42a7f;transform:translateY(-1px)}
.fjm-footer-cta svg{width:18px;height:18px}
.fjm-footer h2{margin:4px 0 14px;font:800 .74rem/1.4 Nunito,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#FFB627}
.fjm-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.fjm-footer li a{display:inline-flex;align-items:center;gap:9px;min-height:34px;color:#e9def2;font-weight:600}
.fjm-footer li a:hover,.fjm-footer li a[aria-current]{color:#fff}
.fjm-footer li a:hover span,.fjm-footer li a[aria-current] span{text-decoration:underline;text-decoration-color:#E8368F;text-underline-offset:4px;text-decoration-thickness:2px}
.fjm-footer li svg{width:18px;height:18px;flex:none;color:#FFB627}
.fjm-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:18px 0 22px;border-top:1px solid rgba(255,248,236,.14);color:#b9aac8;font-size:.82rem}
.fjm-footer-bottom p{margin:0}
.fjm-footer-legal{display:flex;flex-wrap:wrap;gap:4px 18px}
.fjm-footer-legal a{display:inline-flex;align-items:center;min-height:32px}
.fjm-footer-legal a:hover,.fjm-footer-legal a[aria-current]{color:#fff;text-decoration:underline;text-underline-offset:3px}
.fjm-footer-badge{font:700 .8rem/1.3 "Space Mono",ui-monospace,monospace;letter-spacing:.06em;color:#FFB627;text-transform:uppercase}
@media(max-width:900px){
  .fjm-footer-grid{grid-template-columns:1fr 1fr;gap:30px 24px}
  .fjm-footer-col-brand{grid-column:1/-1}
}
@media(max-width:480px){
  .fjm-footer{padding-top:40px}
  .fjm-footer-grid{gap:26px 16px;padding-bottom:30px}
  .fjm-footer-col-contact{grid-column:1/-1}
  .fjm-footer-bottom{flex-direction:column;align-items:flex-start;padding-bottom:calc(22px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.fjm-footer-cta{transition:none}.fjm-footer-cta:hover{transform:none}}
@media print{.fjm-footer{display:none}}

/* 1.122.0: aviso de la app en Google Play (cambiar por el enlace cuando esté publicada). */
.fjm-footer-play{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin-top:12px;padding:8px 14px 8px 10px;border:1px solid rgba(255,248,236,.22);border-radius:14px;background:rgba(255,248,236,.06);color:#FFF8EC}
.fjm-footer-play svg{flex:0 0 26px;width:26px;height:26px;color:#FFB627}
.fjm-footer-play small{display:block;font-size:.68rem;line-height:1.2;opacity:.75;letter-spacing:.02em}
.fjm-footer-play b{display:block;font-size:.86rem;line-height:1.25}
