@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Kufi+Arabic:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--night:#102f31;--teal:#267574;--mint:#e6f1ee;--rose:#d998a9;--ivory:#fcfaf6;--line:#dfe9e7;--muted:#6a7c7c}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#fdfaf6,#edf6f3);color:#263e3f;font-family:"DM Sans","Noto Kufi Arabic",sans-serif;min-height:100vh}html[dir=rtl] body{font-family:"Noto Kufi Arabic","DM Sans",sans-serif}.booking-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1200px)/2));background:rgba(255,255,255,.82);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.identity{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.identity>span{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--night);color:#fff;font:600 15px "Playfair Display"}.identity b,.identity small{display:block}.identity b{font:600 17px "Playfair Display"}.identity small{font-size:9px;color:var(--teal)}.language-nav{display:flex;gap:5px;padding:4px;background:#eaf2f0;border-radius:999px}.language-nav a{padding:7px 9px;border-radius:999px;color:#637a79;text-decoration:none;font-size:10px;font-weight:700}.language-nav a.active{background:#fff;color:var(--night);box-shadow:0 3px 9px #102f3115}.booking-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;max-width:1180px;margin:55px auto;padding:0 25px}.booking-intro{padding:45px 5px}.eyebrow{color:var(--rose);font-size:11px;font-weight:700;letter-spacing:.15em}.booking-intro h1,.success-page h1{margin:10px 0 17px;color:var(--night);font:600 52px/1.15 "Playfair Display","Noto Kufi Arabic"}.booking-intro>p:not(.eyebrow){color:var(--muted);line-height:1.9}.booking-intro ol{list-style:none;margin:45px 0;padding:0}.booking-intro li{display:flex;align-items:center;gap:14px;padding:12px 0;color:#7f9090}.booking-intro li b{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ccd9d7;border-radius:50%;font-size:11px}.booking-intro li.active{color:var(--night)}.booking-intro li.active b{background:var(--teal);border-color:var(--teal);color:#fff}.booking-intro li span{font-size:12px}.privacy-note{display:flex;gap:12px;padding:15px;border:1px solid #dbe7e5;border-radius:13px;background:rgba(255,255,255,.5)}.privacy-note span{color:var(--rose)}.privacy-note p{margin:0;color:var(--muted);font-size:10px}.booking-panel{padding:35px;background:#fff;border:1px solid #e4ecea;border-radius:26px;box-shadow:0 28px 70px rgba(16,47,49,.11)}fieldset{margin:0 0 25px;padding:0 0 25px;border:0;border-bottom:1px solid #e8efee}legend{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:17px;color:var(--night);font-size:14px;font-weight:700}legend>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--teal);font:700 10px "DM Sans"}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.service-options label{cursor:pointer}.service-options input{position:absolute;opacity:0}.service-options label>span{display:flex;justify-content:space-between;align-items:center;min-height:60px;padding:12px 14px;border:1px solid #dfe9e7;border-radius:12px;background:#fbfdfc;transition:.2s}.service-options b,.service-options small{display:block}.service-options b{font-size:11px}.service-options small{direction:ltr;color:var(--muted);font-size:9px}.service-options input:checked+span{border-color:var(--teal);background:#edf7f4;box-shadow:0 0 0 2px #cae4df}.date-control>span,.form-grid label>span{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:#536969;font-size:10px}.date-control em,.form-grid em{padding:2px 6px;border-radius:999px;background:#f8e9ed;color:#a45f72;font-style:normal;font-size:8px}.date-control input,.form-grid input,.form-grid select{width:100%;height:46px;padding:0 13px;border:1px solid #dbe6e4;border-radius:10px;background:#fbfdfc;font:inherit;color:var(--night)}.slot-status{margin:12px 0;color:var(--muted);font-size:10px}.time-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.time-slots button{height:38px;border:1px solid #dce7e5;border-radius:9px;background:#fff;color:var(--teal);font:600 11px "DM Sans";cursor:pointer}.time-slots button:hover,.time-slots button.active{background:var(--teal);border-color:var(--teal);color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.consent{display:flex;gap:10px;align-items:flex-start;margin-top:18px;color:var(--muted);font-size:10px}.consent input{accent-color:var(--teal)}.submit,.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;border:0;border-radius:999px;text-decoration:none;font:700 12px inherit;cursor:pointer}.submit{width:100%;background:var(--night);color:#fff}.submit:disabled{opacity:.45;cursor:not-allowed}.submit:not(:disabled):hover{background:var(--teal)}.form-error{margin-bottom:20px;padding:12px;border-radius:10px;background:#fff0f1;color:#9e4053;font-size:11px}.success-page{max-width:650px;margin:90px auto;padding:65px 35px;text-align:center}.success-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 25px;border-radius:50%;background:#e1f2eb;color:#348064;font-size:30px}.success-page>p:not(.eyebrow){color:var(--muted)}.reference{width:250px;margin:28px auto;padding:16px;border:1px dashed #b9ceca;border-radius:13px;background:#fff}.reference small,.reference b{display:block}.reference small{font-size:8px;color:var(--rose)}.reference b{margin-top:4px;font:600 24px "DM Sans";letter-spacing:.12em}.success-actions{display:flex;justify-content:center;gap:10px}.primary{padding:0 23px;background:var(--night);color:#fff}.secondary{padding:0 23px;border:1px solid var(--line);color:var(--night)}
@media(max-width:800px){.booking-layout{grid-template-columns:1fr;margin-top:20px;gap:10px}.booking-intro{padding:25px 0}.booking-intro h1{font-size:39px}.booking-intro ol,.privacy-note{display:none}.booking-panel{padding:22px;border-radius:20px}.service-options{grid-template-columns:1fr}.time-slots{grid-template-columns:repeat(4,1fr)}.form-grid{grid-template-columns:1fr}.booking-header{height:70px;padding:0 15px}.identity b{font-size:14px}.success-page{margin:40px auto;padding:40px 20px}.success-actions{flex-direction:column}}
.day-status{display:flex;align-items:center;gap:9px;margin-top:13px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#f7faf9;color:var(--muted);font-size:10px}.day-status:before{content:"";width:9px;height:9px;border-radius:50%;background:#9aacab}.day-status.available{border-color:#cce4d8;background:#edf8f2;color:#287356}.day-status.available:before{background:#49a77f;box-shadow:0 0 0 5px #d8eee5}.day-status.unavailable{border-color:#edd6dc;background:#fff4f6;color:#9d5363}.day-status.unavailable:before{background:#d17b8d}.day-status.checking:before{background:var(--teal);animation:dayPulse 1s infinite}@keyframes dayPulse{50%{opacity:.3;transform:scale(.7)}}
.identity>.logo-mark{width:46px;height:58px;border-radius:0;background:transparent}.identity>.logo-mark img{width:100%;height:100%;object-fit:contain}.language-nav a{display:flex;align-items:center;gap:4px}.language-nav a span{font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:14px}.language-nav a b{font:700 9px "DM Sans"}@media(max-width:520px){.language-nav a{padding:7px}.language-nav a b{display:none}.identity>.logo-mark{width:39px;height:50px}}
.booking-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* Mobile layout hardening: keep RTL booking content inside the viewport without changing desktop layout. */
.booking-layout>*{min-width:0}
.service-options>*{min-width:0}
.form-grid>*{min-width:0}
@media(max-width:520px){
  .booking-header{gap:8px}
  .identity>div{display:none}
  .language-nav{margin-inline-start:auto;max-width:calc(100vw - 78px)}
  .booking-layout{padding-inline:14px}
  .booking-panel{padding:18px}
  .booking-intro h1{font-size:34px}
  .time-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.booking-developer-credit{width:min(1180px,calc(100% - 32px));margin:20px auto 34px;padding-top:18px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:10px;line-height:1.8}.booking-developer-credit a{color:var(--rose);font-weight:700;text-decoration:none}.booking-developer-credit a:hover{text-decoration:underline;text-underline-offset:3px}
