/* Appointment-only design layer. Existing calendar and booking JS remain unchanged. */
.kian-appointment-refresh {--ap-blue:#136cc1;--ap-deep:#0b2446;--ap-line:#d9e7f5;}
.kian-appointment-refresh .appointment-trustline{display:inline-flex;align-items:center;max-width:100%;padding:10px 16px;border:1px solid rgba(95,191,249,.45);border-radius:999px;background:rgba(14,61,108,.45);color:#d8efff;font-size:13px;font-weight:700;box-shadow:0 4px 14px #0a44710a;margin-top:18px}
.kian-appointment-refresh .booking-layout{grid-template-columns:minmax(300px,.95fr) minmax(350px,1.05fr);gap:26px;align-items:start}
.kian-appointment-refresh .booking-panel.appointment-polished-panel{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid var(--ap-line);border-radius:22px;padding:clamp(20px,3vw,34px);box-shadow:0 16px 44px rgba(11,54,102,.09),0 2px 7px rgba(11,54,102,.04);position:relative;overflow:hidden}
.kian-appointment-refresh .booking-panel.appointment-polished-panel:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,#1178cc,#4ab9e9,#9de2f5)}
.kian-appointment-refresh .booking-panel h2{font-size:clamp(21px,2.1vw,27px);line-height:1.2;display:flex;align-items:center;gap:12px;margin-bottom:15px;color:var(--ap-deep)}
.kian-appointment-refresh .appointment-step{display:inline-grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#e6f3ff;color:#086bb8;font-size:15px;letter-spacing:0;font-weight:800}
.kian-appointment-refresh .booking-panel .muted{line-height:1.65}
.kian-appointment-refresh .calendar{border:1px solid #d8e8f7;border-radius:17px;background:#fff;box-shadow:0 5px 20px #1d65a00a;margin-top:22px}
.kian-appointment-refresh .cal-top{background:linear-gradient(90deg,#e8f5ff,#f4faff);padding:17px 14px;color:#103a66}
.kian-appointment-refresh .cal-top strong{font-size:17px}
.kian-appointment-refresh .cal-top button{width:39px;height:39px;padding:0;display:grid;place-items:center;border-radius:11px;border:1px solid #c4def2;color:#126bb2;cursor:pointer}
.kian-appointment-refresh .cal-weekdays{color:#607c96}
.kian-appointment-refresh .cal-days{gap:6px;padding:10px}
.kian-appointment-refresh .cal-days button{min-height:46px;border-radius:11px;background:#f0f6fc;color:#244966;transition:background .18s,transform .18s;cursor:pointer}
.kian-appointment-refresh .cal-days button:hover:not(:disabled){background:#dcefff;transform:translateY(-1px)}
.kian-appointment-refresh .cal-days button[aria-pressed=true]{background:#136fc4;color:#fff;box-shadow:0 5px 12px #136fc43d}
.kian-appointment-refresh .cal-days button:disabled{color:#a4b3c1;background:#f8fafc;cursor:not-allowed}
.kian-appointment-refresh .appointment-date-status{padding:14px 17px;margin-top:18px;border:1px solid #cfe6f7;border-radius:12px;background:#eef8ff;color:#175e9b}
.kian-appointment-refresh #bookingForm label:not(.consent){font-size:13px;color:#244563;margin:18px 0 7px}
.kian-appointment-refresh #bookingForm input:not([type=checkbox]),.kian-appointment-refresh #bookingForm select,.kian-appointment-refresh #bookingForm textarea{border:1px solid #cfdeec;border-radius:12px;padding:13px 14px;min-height:49px;background:#fff;box-shadow:0 1px 3px #123d6007;transition:border-color .2s,box-shadow .2s}
.kian-appointment-refresh #bookingForm textarea{min-height:130px;resize:vertical}
.kian-appointment-refresh #bookingForm input:focus,.kian-appointment-refresh #bookingForm select:focus,.kian-appointment-refresh #bookingForm textarea:focus{outline:0;border-color:#2287d0;box-shadow:0 0 0 4px #2287d020}
.kian-appointment-refresh #bookingForm .consent{border-radius:12px;background:#f0f7fe;border:1px solid #d8eaf9;padding:14px;margin-top:19px;line-height:1.55;color:#38566f}
.kian-appointment-refresh #bookingForm .form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.kian-appointment-refresh #bookingForm .form-actions .button{min-height:52px;padding:13px 20px;border-radius:12px;font-weight:800;flex:1 1 190px;white-space:normal}
.kian-appointment-refresh #bookingForm #emailRequest{background:linear-gradient(110deg,#0c67ba,#1484d1);border-color:#0d72c1;color:#fff;box-shadow:0 6px 18px #136fc42a}
.kian-appointment-refresh #bookingForm #smsRequest{border:1px solid #a8cfe9;background:#edf8ff;color:#125c99}
.kian-appointment-refresh #bookingForm .small{line-height:1.7;margin-top:15px}
@media(max-width:850px){.kian-appointment-refresh .booking-layout{grid-template-columns:1fr}}
@media(max-width:540px){.kian-appointment-refresh .booking-panel.appointment-polished-panel{padding:20px 15px;border-radius:17px}.kian-appointment-refresh .appointment-trustline{border-radius:14px;line-height:1.5}.kian-appointment-refresh .cal-days{gap:3px;padding:7px}.kian-appointment-refresh .cal-days button{min-height:40px;font-size:13px}.kian-appointment-refresh .booking-panel h2{gap:9px}.kian-appointment-refresh .appointment-step{width:34px;height:34px;flex-basis:34px}}

/* Service request enhancements */
.kian-appointment-refresh .appointment-other-wrap[hidden]{display:none!important}
.kian-appointment-refresh .appointment-other-wrap{margin-top:12px;padding:14px 16px;border:1px solid rgba(29,145,207,.28);border-radius:14px;background:rgba(23,132,198,.055)}
.kian-appointment-refresh .appointment-other-wrap label{display:block;margin-bottom:8px}
.kian-appointment-refresh .appointment-other-wrap input{width:100%}
.kian-appointment-refresh .appointment-service-hint{font-size:.85rem;line-height:1.6;opacity:.78;margin:8px 0 12px}

/* Final booking actions — email, text, WhatsApp and phone */
.kian-appointment-refresh #bookingForm .form-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px}
.kian-appointment-refresh #bookingForm .form-actions .button svg{width:21px;height:21px;flex-shrink:0}
.kian-appointment-refresh #bookingForm .form-error:empty{display:none}
.kian-appointment-refresh #bookingForm .form-error:not(:empty){color:#b42318;font-weight:700;margin-top:14px}
.kian-appointment-refresh .appointment-contact-actions{margin-top:18px;padding:18px 16px;border:1px solid #d9e8f5;background:#f7fbff;border-radius:15px}
.kian-appointment-refresh .appointment-send-note{margin:0 0 16px;color:#516b84;font-size:14px;line-height:1.65}
.kian-appointment-refresh .appointment-contact-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
.kian-appointment-refresh .appointment-contact-row a{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:52px;border-radius:12px;padding:11px 16px;font-weight:750;text-decoration:none;transition:filter .2s,transform .2s}
.kian-appointment-refresh .appointment-contact-row a:hover{filter:brightness(.94);transform:translateY(-1px)}
.kian-appointment-refresh .appointment-contact-row svg{width:21px;height:21px;flex-shrink:0}
.kian-appointment-refresh .appointment-wa{background:#168c55;color:white;border:1px solid #117847;flex:0 1 170px}
.kian-appointment-refresh .appointment-phone{background:white;color:#155a98;border:1px solid #b7d8f1;flex:1 1 230px}
@media(max-width:540px){.kian-appointment-refresh .appointment-contact-row a{flex:1 1 100%}}

/* Appointment hero: match the height and spacing of other interior pages. */
@media (min-width: 851px) {
 body.modern-site.kian-appointment-refresh .page-hero {min-height:310px!important;height:310px!important;padding:37px 0 30px!important;}
 body.modern-site.kian-appointment-refresh .page-hero h1 {font-size:clamp(35px,3.6vw,49px)!important;max-width:1120px!important;line-height:1.1!important;margin:8px 0 10px!important;}
 body.modern-site.kian-appointment-refresh .page-hero .hero-lead {max-width:1000px!important;font-size:16px!important;line-height:1.5!important;margin:12px 0!important;}
 body.modern-site.kian-appointment-refresh .appointment-trustline {margin-top:10px!important;padding:7px 14px!important;font-size:12px!important;}
}
@media (max-width:850px) {
 body.modern-site.kian-appointment-refresh .page-hero {height:auto!important;min-height:0!important;padding:40px 0 75px!important;}
 body.modern-site.kian-appointment-refresh .page-hero h1 {font-size:clamp(32px,6vw,45px)!important;line-height:1.12!important;}
 body.modern-site.kian-appointment-refresh .appointment-trustline {margin-top:12px!important;}
}
