/**
 * Footer (sections/footer.php, prefix fo-): CTA card, dark footer, bottom bar, floating WhatsApp button.
 * Moved verbatim from the inline <style> of each section (loaded in <head> by inc/assets.php).
 */

/* ===== sections/footer.php ===== */
.fo{--fo-top:transparent;--fo-cut:calc(var(--space-6) + 96px);position:relative;overflow:clip;padding-top:var(--space-6);color:rgba(var(--c-white-rgb),.8);font-family:var(--f-body);background:linear-gradient(var(--fo-top) 0,var(--fo-top) var(--fo-cut),var(--c-violet-deep) var(--fo-cut))}
/* Home: the page ends with the white FAQ, so the strip above the dark footer stays white (no beige band) */
.home .fo,body:has(.bs) .fo{--fo-top:var(--c-white)}
/* Without the CTA card (Contact page) the dark footer starts right away */
.fo.fo--nocta{padding-top:0;background:var(--c-violet-deep)}
.fo *,.fo *::before,.fo *::after{box-sizing:border-box}
.fo .fo-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.fo .fo-in{position:relative;z-index:1;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.fo .fo-ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* CTA card overlapping the dark area */
.fo .fo-cta{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:var(--space-5);padding:var(--space-6) var(--space-5);border:1px solid rgba(var(--c-violet-rgb),.08);border-radius:24px;background:radial-gradient(60% 90% at 100% 0%,rgba(var(--c-blush-rgb),.95),rgba(var(--c-blush-rgb),0) 70%),radial-gradient(45% 70% at 0% 100%,rgba(var(--c-primary-rgb),.06),rgba(var(--c-primary-rgb),0) 70%),var(--c-bg);box-shadow:0 24px 60px rgba(var(--c-violet-deep-rgb),.25);color:var(--c-text)}
/* Watermark motif behind the buttons + thin violet → raspberry accent on the left edge */
.fo .fo-cta::after{content:"";position:absolute;z-index:-1;right:-60px;bottom:-110px;width:340px;aspect-ratio:1;background-color:rgba(var(--c-violet-rgb),.06);-webkit-mask:var(--fo-motif) center/contain no-repeat;mask:var(--fo-motif) center/contain no-repeat;pointer-events:none}
.fo .fo-cta::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(var(--c-violet),var(--c-primary))}
.fo .fo-cta-k{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-3);color:var(--c-primary);font-size:var(--fs-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.fo .fo-cta-k::before{content:"";width:28px;height:1.5px;background:var(--c-primary)}
.fo .fo-cta-t{max-width:30ch;margin:0;color:var(--c-text);font:500 var(--fs-xl)/1.25 var(--f-heading);letter-spacing:-.01em;text-wrap:balance}
.fo .fo-cta-t span{display:block}
.fo .fo-cta-t span + span{color:var(--c-primary);font-style:italic}
.fo .fo-cta-p{max-width:62ch;margin:var(--space-3) 0 0;font-size:var(--fs-base);line-height:1.6;text-wrap:pretty}
/* Practical details: hours + address chips */
.fo .fo-cta-info{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0 0;padding:0;list-style:none}
.fo .fo-cta-info li{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 12px;border:1px solid rgba(var(--c-violet-rgb),.1);border-radius:999px;background:rgba(var(--c-white-rgb),.75);color:var(--c-violet);font-size:var(--fs-xs);font-weight:500;line-height:1.3}
.fo .fo-cta-info .fo-ico{width:15px;height:15px;color:var(--c-primary)}
.fo .fo-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
/* Secondary button: raspberry outline capsule with the phone number */
.fo .fo-cta-tel{display:inline-flex;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-2) var(--space-5) var(--space-2) var(--space-4);border:1.5px solid var(--c-primary);border-radius:999px;color:var(--c-primary);font:500 var(--fs-md)/1.2 var(--f-body);text-decoration:none;white-space:nowrap;transition:background-color .18s ease}
.fo .fo-cta-tel .fo-ico{width:18px;height:18px}
.fo .fo-cta-tel:hover{background:rgba(var(--c-primary-rgb),.06);color:var(--c-primary)}
.fo .fo-btn{display:inline-flex;align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);border-radius:999px;background:var(--c-violet);color:var(--c-on-dark);font:500 var(--fs-md)/1.2 var(--f-body);text-decoration:none;transition:background-color .18s ease}
.fo .fo-btn:hover{background:var(--c-violet-deep);color:var(--c-on-dark)}
.fo .fo-dot{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--c-white);color:var(--c-primary)}
.fo .fo-dot .fo-ico{width:16px;height:16px;stroke-width:2.2;transition:transform .18s ease}
.fo .fo-btn:hover .fo-dot .fo-ico{transform:translateX(3px)}
/* Dark footer */
.fo .fo-wm{top:120px}
.fo .wm{background-color:rgba(var(--c-white-rgb),.05)}
.fo .fo-main{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"brand brand" "contact contact" "nav soins";gap:var(--space-7) var(--space-5);padding-block:var(--space-8) var(--space-7)}
.fo .fo-brand{grid-area:brand}
.fo .fo-navcol{grid-area:nav}
.fo .fo-soinscol{grid-area:soins}
.fo .fo-contact{grid-area:contact}
.fo .fo-logo{display:inline-block;width:150px;line-height:0}
.fo .fo-logo-img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.fo .fo-tag{max-width:340px;margin:var(--space-4) 0 0;font-size:var(--fs-sm);line-height:1.6}
.fo .fo-h{margin:0 0 var(--space-4);color:var(--c-blush);font-size:var(--fs-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.fo .fo-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}
.fo .fo-link{display:inline-flex;align-items:flex-start;gap:var(--space-3);padding-block:var(--space-1);color:rgba(var(--c-white-rgb),.8);font-size:var(--fs-sm);line-height:1.45;text-decoration:none;transition:color .18s ease}
.fo .fo-link:hover{color:var(--c-on-dark);text-decoration:underline;text-decoration-color:rgba(var(--c-primary-rgb),.9);text-underline-offset:4px}
.fo .fo-text{display:inline-flex;align-items:flex-start;gap:var(--space-3);padding-block:var(--space-1);font-size:var(--fs-sm);line-height:1.45}
.fo .fo-contact .fo-ico{margin-top:1px;color:var(--c-primary)}
.fo .fo-route{margin-left:calc(18px + var(--space-3));color:var(--c-blush);font-weight:500}
.fo .fo-hours{display:inline-flex;gap:var(--space-3);font-size:var(--fs-sm);line-height:1.45}
.fo .fo-link:focus-visible,.fo .fo-logo:focus-visible,.fo .fo-top:focus-visible{outline:2px solid var(--c-on-dark);outline-offset:3px;border-radius:var(--radius-sm)}
.fo .fo-cta-tel:focus-visible,.fo .fo-btn:focus-visible{outline:2px solid var(--c-violet);outline-offset:3px;border-radius:var(--radius-sm)}
/* Bottom bar */
.fo .fo-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);padding-block:var(--space-5) var(--space-6);border-top:1px solid rgba(var(--c-white-rgb),.14);font-size:var(--fs-xs);line-height:1.5}
.fo .fo-disc{flex-basis:100%;margin:0;color:rgba(var(--c-white-rgb),.65);font-style:italic}
.fo .fo-copy{margin:0}
.fo .fo-legal{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin:0;padding:0;list-style:none}
.fo .fo-legal .fo-link{padding:0;font-size:var(--fs-xs)}
/* Agency signature (two lines) */
.fo .fo-credit{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0;line-height:1.2}
.fo .fo-credit-k{color:rgba(var(--c-white-rgb),.55);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.fo .fo-credit-n{display:inline-flex;align-items:center;gap:6px;color:var(--c-white);font:500 1.05rem/1.2 var(--f-heading);letter-spacing:-.01em;text-decoration:none}
.fo .fo-credit-n em{font-style:normal;color:var(--c-primary)}
.fo .fo-credit-n:hover{color:var(--c-white)}
.fo .fo-credit .fo-ico-ext{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.7;transition:transform .2s ease,opacity .2s ease}
.fo .fo-credit-n:hover .fo-ico-ext{opacity:1;transform:translate(2px,-2px)}
.fo .fo-credit-n:focus-visible{outline:2px solid var(--c-on-dark);outline-offset:4px;border-radius:var(--radius-sm)}
@media (min-width:768px){
	.fo .fo-credit{align-items:flex-end;margin-left:auto}
	.fo .fo-credit + .fo-top{margin-left:0}
}
.fo .fo-top{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;border:1px solid rgba(var(--c-white-rgb),.3);border-radius:50%;color:var(--c-on-dark);text-decoration:none;transition:background-color .2s ease,transform .2s ease}
.fo .fo-top:hover{background:rgba(var(--c-white-rgb),.1);color:var(--c-on-dark);transform:translateY(-2px)}
/* Floating WhatsApp button (outside the footer, fixed bottom right; lifted when the footer bottom bar is visible) */
.fo-wa{position:fixed;z-index:90;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 10px 24px -8px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.12);text-decoration:none;transition:scale .25s ease,background-color .2s ease,bottom .3s ease;animation:fo-wa-in .5s ease 1.5s both}
.fo-wa svg{width:30px;height:30px;fill:currentColor}
.fo-wa::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;z-index:-1;animation:fo-wa-pulse 1.6s ease-out 2.2s 2}
.fo-wa:hover{background:#1ebe5b;color:#fff;scale:1.06}
.fo-wa:focus-visible{outline:3px solid #25d366;outline-offset:3px}
.fo-wa.is-lift{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 64px)}
.fo-wa-tip{position:absolute;right:calc(100% + 12px);top:50%;padding:7px 12px;border-radius:10px;background:#fff;color:#1f2a24;font:500 .875rem/1.2 var(--f-body);white-space:nowrap;box-shadow:0 8px 20px -8px rgba(0,0,0,.3);opacity:0;pointer-events:none;transform:translate(6px,-50%);transition:opacity .2s ease,transform .2s ease}
.fo-wa:hover .fo-wa-tip,.fo-wa:focus-visible .fo-wa-tip{opacity:1;transform:translate(0,-50%)}
@keyframes fo-wa-in{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@keyframes fo-wa-pulse{from{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}
@media (min-width:1024px){.fo-wa{width:60px;height:60px;right:24px;bottom:24px}.fo-wa.is-lift{bottom:92px}}
@media (hover:none){.fo-wa-tip{display:none}}
@media (prefers-reduced-motion:reduce){.fo-wa,.fo-wa::before{animation:none;transition:none}}

@media (min-width:768px){
	.fo{--fo-cut:calc(var(--space-6) + 80px)}
	.fo .fo-cta{padding:var(--space-6) var(--space-7)}
	.fo .fo-main{grid-template-areas:"brand contact" "nav soins"}
}
@media (min-width:1024px){
	.fo .fo-main{grid-template-columns:1.35fr .8fr 1.1fr 1.25fr;grid-template-areas:"brand nav soins contact";gap:var(--space-7);padding-block:var(--space-9) var(--space-8)}
	.fo .fo-logo{width:170px}
	.fo .fo-cta{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-7);padding:var(--space-7)}
	.fo .fo-disc{flex-basis:auto;flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){.fo *{transition:none!important}}
