/* Ekonatura · shared appointment action and stable brand footer.
   Preserve the approved contact structure and current routes in both themes. */
:root{
 --ek-booking-radius:999px;
 --ek-booking-button-min-height:52px;
 --ek-booking-cream:#f4f0e7;
 --ek-booking-forest:#293a30;
}
/* The footer is ALWAYS dark-green; global theme tokens must not invert its surface.
   An explicit palette also protects against late route/theme CSS precedence. */
body .ek-footer,body.ek-unified .ek-footer{
 --ek-paper:#f4f0e7;
 --ek-ink:#293a30;
 --ek-muted:#cbd6ca;
 background-color:#293a30!important;
 background-image:none!important;
 color:#f4f0e7!important;
}
body .ek-footer :is(.ek-footer-main,.ek-footer-bottom,.ek-footer-brand,.ek-footer-accordion){
 color:#f4f0e7;
}
body .ek-footer .ek-footer-logo img{filter:brightness(0) invert(1);opacity:1}
body .ek-footer :is(.ek-footer-group-toggle,.ek-footer-group-head,.ek-footer-col h2){
 color:#f4f0e7!important;
}
body .ek-footer .ek-footer-group-panel a{color:#dce5d9}
body .ek-footer .ek-footer-bottom .ek-footer-legal{color:#cbd6ca}
body .ek-footer .ek-footer-bottom .ek-footer-legal a{color:#e3e9de}
/* Invitation flows with footer rather than a second nested green card. */
body .ek-footer .ek-final-cta{
 padding:clamp(44px,6vw,70px) 0 clamp(42px,6vw,58px)!important;
 border-color:#f4f0e730;
}
body .ek-footer .ek-final-cta .cta-inner{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) minmax(250px,.85fr)!important;
 grid-template-rows:auto auto!important;
 gap:14px clamp(28px,5vw,70px)!important;
 align-items:start!important;
 max-width:1080px!important;
 margin:0 auto!important;
 padding:0!important;
 border:0!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;
 color:#f4f0e7!important;
}
body .ek-footer .ek-final-cta .cta-banner__title{
 grid-column:1;grid-row:1;
 margin:0!important;
 max-width:18ch!important;
 font:400 clamp(32px,4.1vw,47px)/1.17 var(--ek-font-heading,Fraunces,Georgia,serif)!important;
 letter-spacing:-.02em!important;
 color:#f4f0e7!important;
}
body .ek-footer .ek-final-cta .cta-banner__description{
 grid-column:1;grid-row:2;
 margin:0!important;
 max-width:43ch!important;
 font:400 clamp(15px,1.65vw,18px)/1.55 var(--ek-font-body,Inter,Arial,sans-serif)!important;
 color:#e0e7dc!important;
}
body .ek-footer .ek-final-cta .cta-copy{
 grid-column:2;grid-row:1/span 2;
 display:flex!important;flex-direction:column!important;
 gap:12px!important;
 align-items:stretch!important;justify-content:center!important;
 width:100%!important;max-width:460px!important;
 box-sizing:border-box!important;
 position:relative!important;
 min-height:0!important;
 margin:0!important;padding:0 0 0 clamp(20px,3vw,40px)!important;
 border:0!important;border-left:1px solid #f4f0e733!important;border-radius:0!important;
 background:none!important;box-shadow:none!important;overflow:visible!important;isolation:auto!important;
}
body .ek-footer .ek-final-cta .cta-copy::before,
body .ek-footer .ek-final-cta .cta-copy::after{content:none!important;display:none!important}
body .ek-footer .ek-final-cta :is(.cta-banner__button,.cta-banner__phone){
 display:flex!important;
 align-items:center!important;justify-content:center!important;
 width:100%!important;min-height:var(--ek-booking-button-min-height)!important;
 box-sizing:border-box!important;
 padding:12px 18px!important;
 margin:0!important;
 border-radius:var(--ek-booking-radius)!important;
 font:500 clamp(15px,1.8vw,17px)/1.35 var(--ek-font-body,Inter,Arial,sans-serif)!important;
 letter-spacing:0!important;text-align:center!important;text-decoration:none!important;
 text-shadow:none!important;opacity:1!important;
}
body .ek-footer .ek-final-cta .cta-banner__button,
body .ek-footer .ek-final-cta .cta-banner__button:visited{
 border:1px solid #f4f0e7!important;background:#f4f0e7!important;color:#26382e!important;
}
body .ek-footer .ek-final-cta .cta-banner__button:is(:hover,:focus-visible){
 background:#fff!important;color:#26382e!important;border-color:#fff!important;
}
body .ek-footer .ek-final-cta .cta-banner__phone{
 font-weight:400!important;
 background:transparent!important;color:#f4f0e7!important;
 border:1px solid #b3c2b4!important;
}
body .ek-footer .ek-final-cta .cta-banner__phone:is(:hover,:focus-visible){
 background:#3c5342!important;color:#fff!important;border-color:#f4f0e7!important;
}
body .ek-footer .ek-final-cta .cta-banner__number{
 display:block!important;
 font:400 15px/1.5 var(--ek-font-body,Inter,Arial,sans-serif)!important;
 text-align:center!important;color:#d4ded3!important;margin:0!important;
}
body .ek-footer .ek-final-cta a:focus-visible{outline:2px solid #f0b399!important;outline-offset:3px}
/* Contact retains the published pale card in light and green card in dark.
   Match the footer pill's restrained letter weight and size. */
body[data-route="/contacto/"] .contact-first :is(.ek-contact-button--primary,.ek-contact-button--secondary){
 border-radius:var(--ek-booking-radius)!important;
 min-height:var(--ek-booking-button-min-height)!important;
 font:500 clamp(15px,1.8vw,17px)/1.4 var(--ek-font-body,Inter,Arial,sans-serif)!important;
 letter-spacing:0!important;text-shadow:none!important;
}
body[data-route="/contacto/"] .contact-first .ek-contact-button--secondary{
 font-weight:400!important;
}
:root[data-ek-theme="dark"] body[data-route="/contacto/"] .contact-first .ek-contact-button--primary{
 background:#f4f0e7!important;color:#26382e!important;border-color:#f4f0e7!important;
}
:root[data-ek-theme="dark"] body[data-route="/contacto/"] .contact-first .ek-contact-button--secondary{
 background:transparent!important;color:#f2f0e9!important;border-color:#b8c4b7!important;
}
@media(max-width:760px){
 body .ek-footer .ek-final-cta .cta-inner{
  display:flex!important;flex-direction:column!important;
  align-items:stretch!important;gap:22px!important;
 }
 body .ek-footer .ek-final-cta .cta-banner__description{margin-top:-10px!important}
 body .ek-footer .ek-final-cta .cta-copy{
  padding:0!important;border:0!important;max-width:none!important;
  margin-top:4px!important;
 }
 body .ek-footer .ek-final-cta .cta-banner__title{font-size:clamp(30px,7.7vw,40px)!important}
}
@media(prefers-reduced-motion:reduce){body .ek-footer .ek-final-cta a{transition:none!important}}

/* Footer hierarchy: address lives with the real brand logo; only two link groups remain. */
body .ek-footer .ek-footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(24px,4vw,54px)!important}
body .ek-footer .ek-footer-location{display:grid;align-content:start;gap:8px;margin:clamp(20px,3vw,26px) 0 0;max-width:34ch;color:#e2eade}
body .ek-footer .ek-footer-location p{margin:0;font:400 14px/1.55 var(--ek-font-body,Inter,Arial,sans-serif);color:#e2eade}
body .ek-footer .ek-footer-location a{justify-self:start;display:inline-flex;align-items:center;min-height:36px;color:#f4f0e7;text-underline-offset:4px;font:500 14px/1.4 var(--ek-font-body,Inter,Arial,sans-serif)}
body .ek-footer .ek-footer-location a:is(:hover,:focus-visible){color:#fff}
@media(max-width:650px){body .ek-footer .ek-footer-location{margin:18px 0 24px;gap:4px}body .ek-footer .ek-footer-location p{font-size:14px}body .ek-footer .ek-footer-location a{min-height:44px}body .ek-footer .ek-footer-accordion{padding-top:0}}

/* A · Ekonatura editorial footer: same Information/Spotify hierarchy as mobile. */
@media(min-width:651px){
 body .ek-footer .ek-footer-main{grid-template-columns:minmax(190px,280px) minmax(0,1fr);column-gap:clamp(30px,6vw,80px)}
 body .ek-footer .ek-footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(24px,4vw,54px)!important}
 body .ek-footer .ek-footer-cols .ek-footer-col:last-child{grid-column:auto;min-width:0}
 body .ek-footer .ek-footer-cols .ek-footer-col:last-child .ek-footer-col-list{display:flex;flex-direction:column;gap:14px}
 body .ek-footer .ek-footer-col .ek-footer-note{display:grid;align-content:start;gap:8px;margin:25px 0 0!important;padding:0!important;border:0!important}
 body .ek-footer .ek-footer-col .ek-footer-note p{margin:0!important;font:400 14px/1.55 var(--ek-font-body,Inter,Arial,sans-serif)!important;color:#d6e0d2}
 body .ek-footer .ek-footer-col .ek-footer-note .ek-footer-note-eyebrow{font:500 11px/1.35 var(--ek-font-body,Inter,Arial,sans-serif)!important;letter-spacing:.11em;text-transform:uppercase;color:#cbd7c5}
 body .ek-footer .ek-footer-col .ek-footer-note-link{margin:4px 0 0!important}
 body .ek-footer .ek-footer-col .ek-footer-note-link a{font:400 14px/1.55 var(--ek-font-body,Inter,Arial,sans-serif)!important;text-decoration:none}
 body .ek-footer .ek-footer-col .ek-footer-note-link a:hover{text-decoration:underline;text-underline-offset:3px}
 body .ek-footer .ek-footer-location p,body .ek-footer .ek-footer-location a,body .ek-footer .ek-footer-col-list a{font:400 14px/1.55 var(--ek-font-body,Inter,Arial,sans-serif)!important}
}
/* Desktop: refined, restrained appointments; mobile remains full width. */
@media(min-width:761px){
 body .ek-footer .ek-final-cta .cta-copy{align-items:flex-start!important;gap:10px!important}
 body .ek-footer .ek-final-cta .cta-copy>:is(.cta-banner__button,.cta-banner__phone){
  width:min(100%,306px)!important;min-height:46px!important;
  padding:10px 18px!important;font:400 14px/1.35 var(--ek-font-body,Inter,Arial,sans-serif)!important;
  letter-spacing:.005em!important;border-width:1px!important;
 }
 body .ek-footer .ek-final-cta .cta-banner__number{width:min(100%,306px)!important;text-align:center!important;font-size:13px!important}
}
@media(max-width:760px){
 body .ek-footer .ek-final-cta .cta-copy>:is(.cta-banner__button,.cta-banner__phone){
  min-height:52px!important;padding:12px 18px!important;
  font:400 clamp(14px,3.75vw,16px)/1.4 var(--ek-font-body,Inter,Arial,sans-serif)!important;
  letter-spacing:0!important;
 }
}
