/* Yuwan Yoga — FOOTER styles (footer, booking popup, WhatsApp button). Loaded on every page. */
.logo{white-space:nowrap;display:flex;align-items:center;gap:10px;font:600 1.5rem var(--display);color:#fff!important;text-decoration:none!important;letter-spacing:.01em}
.logo svg{width:36px;height:36px}
.modal{position:fixed;inset:0;background:rgba(28,20,54,.7);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:100;padding:16px}
.modal.open{display:flex}
.modal-box{background:#fff;border-radius:26px;max-width:540px;width:100%;max-height:92vh;overflow:auto;padding:32px;position:relative}
.modal-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:1.9rem;cursor:pointer;color:var(--muted)}
footer.site{background:#1C1436;color:var(--on-ink-muted);padding-block:72px 28px;font-size:.93rem}
footer.site a{color:#E4EFEC}
footer.site h4{color:var(--marigold);font:700 .76rem var(--body);letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}
footer.site ul{list-style:none;padding:0;margin:0}footer.site li{margin-bottom:9px}
.foot-big{font:italic 400 clamp(2.4rem,7vw,5.5rem)/1 var(--display);color:#fff;margin-bottom:50px}
.foot-big em{color:var(--marigold)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr 1fr}}
.socials{display:flex;gap:10px;margin-top:14px}
.socials a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center}
.socials svg{width:18px;height:18px;fill:#fff}
.copy{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem}
.wa-float{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.25);z-index:60}
.wa-float svg{width:30px;height:30px;fill:#fff}
.logo{color:var(--ink)!important}
.foot-big{font-style:normal}
.foot-big{font-weight:600}
.bk-dots{display:flex;gap:6px;margin-bottom:16px}.bk-dots i{flex:1;height:4px;border-radius:2px;background:var(--line)}.bk-dots i.on{background:var(--marigold)}
.bk-step h3{font-size:1.5rem;margin-bottom:6px}
.bk-promo{display:flex;gap:8px}.bk-promo input{flex:1;text-transform:uppercase;letter-spacing:.06em}
.bk-promo-msg{font-size:.86rem;margin-top:6px;min-height:1em}.bk-promo-msg.ok{color:#14794A;font-weight:600}.bk-promo-msg.err{color:#B42318}
.bk-err{color:#B42318;font-size:.88rem;margin:0 0 10px;min-height:0}
.bk-classes{max-height:46vh;overflow:auto;display:grid;gap:14px;padding-right:4px}
.bk-day h5{margin:0 0 8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.bk-class{display:grid;grid-template-columns:76px 1fr 22px;gap:10px;align-items:center;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-left:6px solid var(--c);border-radius:14px;padding:12px 14px;margin-bottom:8px;cursor:pointer;font:inherit;color:var(--text);transition:.15s}
.bk-class:hover{border-color:var(--c)}
.bk-class.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff)}
.bk-time{font-weight:700}
.bk-info b{display:block}.bk-info small{color:var(--muted)}
.bk-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line)}
.bk-class.on .bk-radio{border:6px solid var(--c)}
.bk-free{display:inline-block;background:#E3F5EC;color:#14794A;font-weight:800;padding:3px 10px;border-radius:999px;letter-spacing:.05em}
.bk-done{text-align:center}
.bk-check{width:64px;height:64px;border-radius:50%;background:var(--sage);color:#fff;font-size:2rem;display:grid;place-items:center;margin:4px auto 14px}
.bk-done .btn{margin:6px 4px 0}
.bk-perks{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}
.bk-perks{margin:4px 0 14px}
.bk-summary{text-align:left;background:var(--mist);border:1px solid var(--line);border-radius:16px;padding:6px 16px;margin:14px 0}
.bk-summary>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.bk-summary>div:last-child{border-bottom:0}
.bk-summary span{color:var(--muted)}
.bk-summary b{text-align:right;color:var(--ink)}
.bk-mail{font-size:.88rem;border-radius:12px;padding:11px 14px;margin:0 0 10px;text-align:left;line-height:1.45}
.bk-mail.sending{background:#F5F2FB;color:var(--muted)}
.bk-mail.ok{background:#E3F5EC;color:#14532D}
.bk-mail.warn{background:#FFF4EA;color:#7A3A0C}
.bk-mail-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.bk-mail .spin{display:inline-block;width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--marigold);border-radius:50%;animation:bkspin .8s linear infinite;vertical-align:-1px;margin-right:4px}
@keyframes bkspin{to{transform:rotate(360deg)}}

/* Booking popup: selected-class summary on step 2 */
.bk-picked{display:flex;align-items:center;gap:12px;background:var(--mist);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:6px 0 14px}
.bk-picked>span{width:6px;align-self:stretch;border-radius:6px;background:var(--c,var(--marigold))}
.bk-picked>div{flex:1;min-width:0}
.bk-picked b{display:block;color:var(--ink);font-size:.95rem}
.bk-picked small{display:block;color:var(--muted);font-size:.82rem}
.bk-change{background:none;border:0;color:var(--marigold-d);font-weight:700;cursor:pointer;font-size:.85rem;padding:6px}
.bk-change:hover{text-decoration:underline}
@media (max-width:560px){.modal-box{padding:24px 18px}.bk-classes{max-height:36vh}#bookModal .bk-perks{margin:2px 0 8px}#bookModal .bk-perks span{font-size:.72rem}}
