/* ── FOOTER ── */
footer{background:var(--text);color:rgba(255,255,255,.65);padding:2.4rem 1.2rem 1.1rem;margin-top:2.5rem}
.f-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:1.8rem;max-width:1240px;margin:0 auto 1.8rem}
.f-logo{font-family:'Playfair Display',serif;font-size:1.05rem;color:#fff;margin-bottom:.55rem;display:flex;align-items:center;gap:.42rem}
.f-desc{font-size:.78rem;line-height:1.7;max-width:230px}
.f-col h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.85);font-weight:800;margin-bottom:.75rem}
.f-col ul{list-style:none;display:flex;flex-direction:column;gap:.38rem}
.f-col ul a{font-size:.78rem;color:rgba(255,255,255,.65);transition:color .2s}
.f-col ul a:hover{color:rgba(255,255,255,.88)}
.f-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:.7rem;flex-wrap:wrap;gap:.5rem}

/* ── BOOKING MODAL ── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:9999;align-items:center;justify-content:center;padding:1rem}
.modal-overlay.open{display:flex}
.modal{background:#fff;border-radius:18px;max-width:480px;width:100%;padding:1.7rem;position:relative;max-height:92vh;overflow-y:auto}
.modal-close{position:absolute;top:.85rem;right:.85rem;background:var(--bg);border:none;border-radius:50%;width:30px;height:30px;font-size:.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text2);transition:background .15s}
.modal-close:hover{background:var(--border)}
.modal-doc-hdr{display:flex;align-items:center;gap:.85rem;margin-bottom:1.2rem;padding-bottom:.9rem;border-bottom:1px solid var(--border)}
.modal-title{font-family:'Playfair Display',serif;font-size:1.25rem;margin-bottom:1.2rem}
.modal .f-row{margin-bottom:.85rem}
.modal .f-row label{display:block;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);margin-bottom:.28rem}
.modal .f-row input,.f-row select,.f-row textarea{width:100%;padding:.62rem .9rem;border:2px solid var(--border);border-radius:9px;font-family:'Nunito',sans-serif;font-size:.86rem;color:var(--text);outline:none;transition:border-color .2s}
.modal .f-row input:focus,.f-row select:focus,.f-row textarea:focus{border-color:var(--blue)}
.modal .f-row textarea{min-height:72px;resize:vertical}
.modal .f-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
/* time-slots removed */
.btn-submit{width:100%;background:var(--blue);color:#fff;padding:.82rem;border:none;border-radius:11px;font-size:.9rem;font-weight:800;transition:background .2s}
.btn-submit:hover:not(:disabled){background:var(--blue-d)}
.btn-submit:disabled{opacity:.6;cursor:default}
.form-success{display:none;text-align:center;padding:1.5rem 0}
.form-success .tick{font-size:3rem;display:block;margin-bottom:.7rem}
.form-success h3{font-family:'Playfair Display',serif;font-size:1.2rem;margin-bottom:.4rem}
.form-success p{font-size:.86rem;color:var(--text2)}

/* ── TOAST ── */
.toast{position:fixed;bottom:1.6rem;left:50%;transform:translateX(-50%) translateY(80px);background:var(--green);color:#fff;padding:.75rem 1.5rem;border-radius:50px;font-weight:700;font-size:.86rem;box-shadow:0 8px 32px rgba(0,0,0,.2);z-index:99999;transition:transform .35s ease;display:flex;align-items:center;gap:.4rem}
.toast.show{transform:translateX(-50%) translateY(0)}

/* ── RESPONSIVE ── */@media(max-width:960px){.f-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.f-grid{grid-template-columns:1fr}.modal .f-row-2{grid-template-columns:1fr}.f-bottom{flex-direction:column;gap:.4rem}}
.faq-item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem;background:var(--white);overflow:hidden}
.faq-q{padding:.88rem 1.05rem;font-weight:700;font-size:.86rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:.5rem}
.faq-q:hover{background:var(--bg)}
.faq-icon{width:20px;height:20px;border-radius:50%;background:var(--blue-pale);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:800;flex-shrink:0;transition:transform .25s}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;font-size:.84rem;color:var(--text2);line-height:1.7}
.faq-item.open .faq-a{max-height:500px}
.faq-a-in{padding:0 1.05rem .88rem}
.faq-wrap{margin-top:2rem}
.faq-wrap>h2{font-family:'Playfair Display',serif;font-size:1.4rem;margin-bottom:.8rem}
.faq-q:focus-visible{outline:2px solid var(--blue)}
