/* Appointment information uses the existing Heymoney black-and-gold palette.
   This stylesheet is deliberately not loaded by the protected questionnaire. */
.appointment-home main>*{min-width:0}
.appointment-home .header,.booking-mortgage .header{background:#11110e}
.appointment-home .hero .lead{max-width:510px}
.appointment-home .hero .booking-reassurance{color:#d7c8a6;font-size:12px}
.appointment-home .direct-whatsapp{font-size:14px;line-height:1.6;padding:12px 0;margin-top:2px}
.appointment-home .meeting-band{background:radial-gradient(ellipse at 100% 0,#3b301b55,transparent 65%),#1a1812;border-block:1px solid var(--line)}
.meeting-layout{display:grid;gap:28px}
.meeting-layout h2 span{color:var(--gold)}
.meeting-copy{margin-top:24px;display:grid;gap:14px}
.meeting-copy p,.meeting-outcomes li{font-size:15px;line-height:1.9;color:#d2cbbb}
.meeting-outcomes{padding:24px;border:1px solid #76603a;border-radius:14px;background:#211e15}
.meeting-duration{color:var(--gold);font-size:15px;line-height:1.5;padding-bottom:20px;border-bottom:1px solid #675430}
.meeting-duration strong{font-size:40px;font-weight:700;letter-spacing:-1px;margin:0 4px}
.meeting-outcomes h3{font-size:18px;margin:22px 0 12px}
.meeting-outcomes ul{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.meeting-outcomes li{position:relative;padding-left:22px}
.meeting-outcomes li:before{content:'✓';position:absolute;left:0;color:var(--gold)}
.meeting-cards,.promise-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:28px 0 0;padding:0;list-style:none}
.meeting-cards li,.promise-cards article{min-width:0;border:1px solid #55482e;border-radius:13px;padding:24px;background:#1c1b15}
.meeting-number{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #9b7d41;border-radius:50%;font-size:15px;font-weight:700;color:var(--gold);margin-bottom:18px}
.meeting-cards h3,.promise-cards h3{font-size:20px;line-height:1.55;letter-spacing:-.4px}
.meeting-cards p,.promise-cards p{font-size:15px;line-height:1.9;color:#c6c0af;margin-top:12px}
.meeting-section>.cta{width:100%;margin-top:26px}
.promises-band{border-block:1px solid var(--line);background:#1a1913}
.promise-cards article{background:#232016;border-color:#625334}
.promise-mark{display:grid;place-items:center;border:1px solid #907740;border-radius:8px;width:36px;height:36px;color:var(--gold);margin-bottom:18px;font-size:19px}
.office-section{border-bottom:1px solid var(--line)}
.office-panel{display:grid;gap:18px;background:#211e16;border:1px solid #70603b;border-radius:14px;padding:24px;margin-top:28px}
.office-panel>img{width:88px;height:auto;mix-blend-mode:screen}
.office-panel h3{font-size:24px;color:var(--gold)}
.office-panel p{color:#d0c6ae;font-size:15px;line-height:1.9;margin-top:12px}
.office-panel p span{display:block;font-size:13px}
.review-slots{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:26px}
.review-slot{min-width:0;border:1px dashed #71603c;border-radius:12px;overflow:hidden;background:#191813}
.review-placeholder{min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:25px;color:#bdab83;text-align:center}
.review-placeholder-icon{font:64px/40px Georgia,serif;color:#977b40}
.review-placeholder>span:not(.review-placeholder-icon){font-size:16px}
.review-placeholder small{font-size:13px;color:var(--muted)}
.review-slot img{display:block;width:100%;height:auto}
.review-disclosure{margin-top:18px}
.appointment-home .footer-contact{width:100%;border-top:1px solid var(--line);padding-top:22px;display:grid;gap:14px}
.appointment-home .footer-contact p{font-size:13px;max-width:850px}
.appointment-home .footer-contact strong{line-height:1.8}
.appointment-home .footer-contact a{width:fit-content;display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.booking-detail .wa-floating{background:linear-gradient(110deg,#ba9446,#f2d98d);color:#201b10;border-color:#e7cb81;border-radius:9px;min-height:56px;font-weight:800}
.booking-detail .wa-floating:hover{background:#f2d98d}
.booking-detail .wa-floating span{display:inline}
@media(min-width:640px){
 .meeting-cards,.promise-cards,.review-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
 .meeting-section>.cta{width:auto;min-width:250px}
 .office-panel{grid-template-columns:112px minmax(0,1fr);align-items:center;padding:34px;gap:26px}
 .office-panel>img{width:112px}
}
@media(min-width:1000px){
 .meeting-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:70px;align-items:center}
 .meeting-cards,.promise-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
 .meeting-cards li,.promise-cards article{padding:25px 22px}
}
@media(max-width:600px){
 html{scroll-padding-bottom:100px}
 .appointment-home .hero{padding-top:30px}
 .appointment-home .hero h1{font-size:44px;line-height:1.28}
 .appointment-home .hero .lead{font-size:18px;line-height:1.8;margin:20px 0}
 .appointment-home .header .cta{gap:16px;white-space:nowrap}
 .appointment-home .meeting-layout h2{font-size:29px;line-height:1.5;letter-spacing:-1px}
 .appointment-home .mobile-cta{bottom:max(14px,env(safe-area-inset-bottom))}
 .meeting-outcomes{padding:23px}
 .meeting-section>.eyebrow,.promises-band .eyebrow,.office-section>.eyebrow{margin-bottom:12px}
 .meeting-cards,.promise-cards{gap:14px}
 .meeting-cards li{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:16px;align-items:start;padding:22px}
 .meeting-cards .meeting-number{grid-row:1/3;margin:0}
 .meeting-cards h3{font-size:20px;line-height:1.5}
 .meeting-cards p{grid-column:2;margin-top:10px}
 .booking-detail .wa-floating{width:auto;height:auto;left:20px;right:20px;bottom:max(14px,env(safe-area-inset-bottom));padding:17px 20px}
 .booking-detail header .small{white-space:nowrap;gap:8px}
 .booking-detail .footer-bottom{padding-right:0}
}
