/* Shared footer: each area owns its sizing, independent of page-specific card rules. */
body.studio-theme .studio-exact-footer.studio-footer-responsive{padding:0!important;margin-block-start:40px;border-block-start:0;background:var(--studio-page-section)!important;color:var(--studio-color-text-secondary);text-align:start;position:relative;isolation:isolate;overflow:hidden}
/* Restore the animated entrance without reintroducing the old footer layout rules. */
.studio-footer-responsive .site-footer__waves{position:relative;z-index:0;height:clamp(56px,6vw,96px);overflow:hidden;background:var(--studio-page-canvas,var(--studio-color-canvas));pointer-events:none}
.studio-footer-responsive .site-footer__waves svg{position:absolute;top:0;left:0;display:block;width:200%;max-width:none;height:100%}
.studio-footer-responsive .site-footer__wave{transform-box:fill-box;transform-origin:center;animation:siteFooterWaveDrift 42s linear infinite}
.studio-footer-responsive .site-footer__wave--back{fill:color-mix(in srgb,var(--studio-color-accent) 25%,var(--studio-page-section));translate:0 -7px;animation-duration:30s;animation-direction:reverse;animation-delay:-12s}
.studio-footer-responsive .site-footer__wave--front{fill:var(--studio-page-section);animation-delay:-7s}
@keyframes siteFooterWaveDrift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.studio-footer-responsive .site-footer__hearts{position:absolute;z-index:1;inset:auto 0 0;height:200px;overflow:hidden;pointer-events:none}
.site-footer__hearts i{--heart-size:11px;position:absolute;bottom:-18px;width:var(--heart-size);height:var(--heart-size);border-radius:2px;background:#ff7eb6;opacity:0;animation:siteFooterHeartRise 8s ease-in infinite;animation-delay:-2s}
.site-footer__hearts i::before,.site-footer__hearts i::after{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:inherit}
.site-footer__hearts i::before{right:50%}.site-footer__hearts i::after{bottom:50%}
.site-footer__hearts i:nth-child(1){inset-inline-start:13%}
.site-footer__hearts i:nth-child(2){inset-inline-start:29%;--heart-size:8px;background:#ffd56b;animation-duration:9.5s;animation-delay:-5s}
.site-footer__hearts i:nth-child(3){inset-inline-start:52%;background:#8ee8ff;animation-duration:10s;animation-delay:-3s}
.site-footer__hearts i:nth-child(4){inset-inline-start:73%;--heart-size:7px;animation-duration:11s;animation-delay:-8s}
.site-footer__hearts i:nth-child(5){inset-inline-start:89%;background:#ffe37e;animation-duration:9s;animation-delay:-6s}
@keyframes siteFooterHeartRise{0%{opacity:0;transform:translate(0,0) rotate(45deg) scale(.65)}12%{opacity:.6}65%{opacity:.4}100%{opacity:0;transform:translate(22px,-175px) rotate(63deg) scale(1.15)}}
@media(max-width:620px){.site-footer__hearts i:nth-child(n+4){display:none}}
@media(prefers-reduced-motion:reduce){.studio-footer-responsive .site-footer__wave,.site-footer__hearts i{animation:none}.studio-footer-responsive .site-footer__hearts{display:none}}
.studio-footer-responsive .site-footer__shell{position:relative;z-index:2;width:min(var(--site-footer-content-width,1440px),calc(100% - clamp(32px,6vw,96px)));margin-inline:auto;padding-block:var(--site-footer-spacing,36px) 20px;font:400 13px/1.8 var(--studio-font-family-ui,Alexandria,Tahoma,Arial,sans-serif)}
.site-footer__main{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.7fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:start}
.site-footer__main>*{min-width:0}
.site-footer__brand>a{display:inline-flex;max-width:100%}
.site-footer__brand img{display:block;width:var(--site-footer-logo-width,200px);max-width:100%;height:60px;object-fit:contain;object-position:center}
.site-footer__brand p{max-width:32ch;margin:16px 0;color:var(--studio-color-text-secondary);font-size:13px;line-height:1.9}
.site-footer__menus{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:20px}
.site-footer__menus>section{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:4px}
.site-footer__menus strong{display:block;color:var(--studio-color-heading);font-size:14px;line-height:1.6;margin-block-end:10px}
.site-footer__menus :is(a,button){display:inline-flex;align-items:center;min-height:36px;max-width:100%;padding:4px 0;border:0;background:transparent;color:var(--studio-color-text-secondary);font:inherit;font-size:12px;text-align:start;overflow-wrap:anywhere;text-decoration:none;cursor:pointer}
.site-footer__menus :is(a,button):hover{color:var(--studio-color-link)}
.site-footer__newsletter{min-width:0;padding:20px;border:1px solid var(--studio-component-card-border);border-radius:18px;background:var(--studio-component-card-bg)}
.site-footer__newsletter-copy>span{display:block;font-size:10px;font-weight:700;color:var(--studio-color-accent)}
.site-footer__newsletter-copy>strong{display:block;margin-block:5px;color:var(--studio-color-heading);font-size:18px;line-height:1.6;text-wrap:balance}
.site-footer__newsletter-copy>p{margin:0 0 14px;font-size:12px;color:var(--studio-color-text-secondary)}
.site-footer__newsletter form{display:flex;gap:5px;align-items:center;min-width:0;padding:5px;border:1px solid var(--studio-component-control-border);border-radius:12px;background:var(--studio-component-control-bg)}
body.studio-theme .site-footer__newsletter input{flex:1 1 0;min-width:0;width:0;height:38px;padding:0 7px;border:0!important;box-shadow:none!important;background:transparent!important;color:var(--studio-color-text);font:inherit;font-size:12px;text-align:start;outline:none}
.site-footer__newsletter button{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 12px;border:0;border-radius:9px;background:var(--studio-color-accent);color:var(--studio-color-on-accent);font:700 12px/1.5 var(--studio-font-family-ui,Alexandria,Tahoma,Arial,sans-serif);white-space:nowrap;cursor:pointer}
.site-footer__newsletter form:focus-within{outline:2px solid var(--studio-color-accent);outline-offset:3px}
.site-footer__legal{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin-block-start:30px;padding-block-start:20px;border-block-start:1px solid var(--studio-color-border)}
.site-footer__legal-links{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;min-width:0}
.site-footer__legal-links a{display:inline-flex;align-items:center;min-height:36px;color:var(--studio-color-text-secondary);font-size:12px;text-decoration:none;white-space:nowrap}
.site-footer__legal-links a:hover{color:var(--studio-color-link)}
.site-footer__legal p{margin:0;min-width:0;font-size:12px;color:var(--studio-color-text-muted)}
.site-footer__legal .site-footer__tagline{color:var(--studio-color-heading)}
.site-footer__legal .site-footer__rights{text-align:end}
.site-footer__legal-links .site-footer__up{display:grid;place-items:center;margin-inline-start:auto;width:40px;height:40px;border:1px solid var(--studio-color-border);border-radius:50%;font-size:18px}
.studio-footer-responsive :is(a,button):focus-visible{outline:2px solid var(--studio-color-accent);outline-offset:3px}
@media(max-width:1150px){
 .site-footer__main{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
 .site-footer__newsletter{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
 .site-footer__newsletter-copy>p{margin-bottom:0}
}
@media(max-width:700px){
 .studio-footer-responsive .site-footer__shell{padding-block:var(--site-footer-spacing,24px) 18px}
 .site-footer__main{grid-template-columns:minmax(0,1fr);gap:24px}
 .site-footer__brand{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 20px;align-items:center}
 .site-footer__brand img{width:var(--site-footer-logo-mobile-width,162.5px);height:50px}
 .site-footer__brand p{max-width:none;margin:0;font-size:12px}
 .site-footer__menus{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .site-footer__menus :is(a,button){min-height:40px}
 .site-footer__newsletter{grid-column:auto;grid-template-columns:minmax(0,1fr);gap:14px;padding:16px}
 .site-footer__legal{grid-template-columns:minmax(0,1fr);gap:12px}
 .site-footer__legal .site-footer__rights{text-align:start}
 .site-footer__legal-links{gap:4px 16px}
}
@media(max-width:430px){
 .site-footer__menus{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-footer__brand{grid-template-columns:minmax(0,1fr)}
 .site-footer__brand p{max-width:36ch}
}
/* Footer settings share the existing theme, menu permissions and mobile layout. */
.studio-footer-responsive .site-footer__icon{display:block;flex:0 0 16px;width:16px;height:16px;max-width:16px;pointer-events:none}
.studio-footer-responsive :is(.site-footer__menus,.site-footer__legal-links) :is(a,button){gap:7px}
.studio-footer-responsive :is(.site-footer__menus,.site-footer__legal-links) :is(a,button)>span{min-width:0}
.studio-footer-without-newsletter .site-footer__main,.studio-footer-layout-compact .site-footer__main{grid-template-columns:minmax(0,.85fr) minmax(0,2.7fr)}
.studio-footer-layout-compact .site-footer__waves{height:44px}
.studio-footer-layout-compact .site-footer__shell{padding-block:var(--site-footer-spacing,24px) 18px}
.studio-footer-layout-compact .site-footer__main{gap:20px 32px}
.studio-footer-layout-compact .site-footer__menus strong{margin-block-end:4px}
.studio-footer-layout-compact .site-footer__menus>section{gap:0}
.studio-footer-layout-compact .site-footer__brand p{margin-block:10px}
.studio-footer-layout-compact .site-footer__newsletter{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:20px;padding:14px 18px}
.studio-footer-layout-compact .site-footer__newsletter-copy>strong{font-size:16px;margin-block:2px}
.studio-footer-layout-compact .site-footer__newsletter-copy>p{margin:0}
.studio-footer-layout-compact .site-footer__legal{margin-block-start:20px;padding-block-start:14px}
@media(max-width:700px){
 .studio-footer-without-newsletter .site-footer__main,.studio-footer-layout-compact .site-footer__main{grid-template-columns:minmax(0,1fr)}
 .studio-footer-layout-compact .site-footer__newsletter{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px}
 .studio-footer-layout-compact .site-footer__shell{padding-block:var(--site-footer-spacing,20px) 16px}
}

.studio-footer-responsive .site-footer__main{grid-template-columns:var(--footer-grid-tracks)}.studio-footer-responsive .site-footer__menus{min-width:0}.studio-footer-responsive :is(.site-footer__brand p,.site-footer__menus a,.site-footer__legal p,.site-footer__legal-links a){font-size:var(--site-footer-text-size,13px)}@media(max-width:700px){.studio-footer-responsive .site-footer__main{grid-template-columns:minmax(0,1fr)}}
