:root{--hr-pink:#ff2f98;--hr-pink2:#ff70bb;--hr-ink:#251b26;--hr-soft:#fff6fb;--hr-line:rgba(255,47,152,.18)}
/* Unified premium controls */
.choice,.primary-btn,.secondary-btn,.tool-btn,.header-cta,.vehicle-ask-btn,.map-search button,.hr-picker-actions button{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;will-change:transform}
.choice:hover,.primary-btn:hover,.secondary-btn:hover,.tool-btn:hover,.header-cta:hover,.vehicle-ask-btn:hover,.map-search button:hover,.hr-picker-actions button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,47,152,.22)}
.choice:active,.primary-btn:active,.secondary-btn:active,.tool-btn:active,.header-cta:active,.vehicle-ask-btn:active,.map-search button:active,.hr-picker-actions button:active{transform:translateY(1px) scale(.985)}
.answer-area{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.answer-area>.choice,.answer-area>.primary-btn{width:100%;min-height:48px}
.answer-area>.chat-answer-input,.answer-area>.inline-picker-launch,.answer-area>.vehicle-grid,.answer-area>.whatsapp-confirm-box,.answer-area>.chat-policy-consent,.answer-area>.back-step-btn{grid-column:1/-1}
.persistent-composer textarea,.persistent-composer input,.chat-answer-input{min-height:48px!important;max-height:120px;border-radius:16px!important;border:1px solid var(--hr-line)!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 22px rgba(60,20,45,.07)!important}
.persistent-composer textarea:focus,.persistent-composer input:focus,.chat-answer-input:focus{outline:none;border-color:rgba(255,47,152,.55)!important;box-shadow:0 0 0 4px rgba(255,47,152,.11),0 12px 30px rgba(255,47,152,.12)!important}
.msg{max-width:min(78%,620px);width:auto!important;min-height:0!important;padding:11px 15px!important;border-radius:18px!important;line-height:1.7!important}
.msg.user{justify-self:end;align-self:flex-end}
/* image fit parity: Reem and Nour */
.reem-stage img,.hero-reem img,.airport-hero-visual img{object-fit:contain!important;object-position:center bottom!important;max-width:100%;max-height:100%}
.reem-stage{overflow:hidden}
.airport-hero-visual img{width:100%;height:100%}
.vehicle-photo{aspect-ratio:16/9;overflow:hidden;background:linear-gradient(145deg,#1d1320,#4e1838)}
.vehicle-photo img,.vehicle-card img{width:100%;height:100%;object-fit:cover!important;object-position:center!important}
.vehicle-label,.vehicle-pill{display:inline-flex!important;width:max-content!important;max-width:max-content!important;padding:6px 13px!important;border-radius:999px!important;background:linear-gradient(135deg,var(--hr-pink),var(--hr-pink2))!important;color:#fff!important;box-shadow:0 7px 18px rgba(255,47,152,.25)!important}
/* premium modal / map */
.modal{backdrop-filter:blur(10px);background:rgba(20,10,18,.55)!important;padding:18px!important}
.modal-card{border-radius:28px!important;border:1px solid rgba(255,255,255,.65)!important;background:rgba(255,255,255,.94)!important;box-shadow:0 30px 90px rgba(28,8,22,.28),0 0 0 1px rgba(255,47,152,.08)!important;animation:hrModalIn .28s cubic-bezier(.2,.8,.2,1)}
.modal-head{padding-bottom:14px;border-bottom:1px solid var(--hr-line)}
.modal-head button{width:40px;height:40px;border-radius:50%!important;box-shadow:0 8px 20px rgba(40,10,30,.12)}
.map-search{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:10px!important;padding:12px 0!important}
.map-search input{border-radius:15px!important;border:1px solid var(--hr-line)!important;min-width:0}
#map{border-radius:20px!important;overflow:hidden!important;border:1px solid var(--hr-line)!important;box-shadow:0 14px 34px rgba(40,10,30,.12)!important}
.location-preview{border-radius:18px!important;background:linear-gradient(145deg,#fff,#fff6fb)!important;border:1px solid var(--hr-line)!important}
/* premium calendar and clock */
.hr-picker-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;background:rgba(18,8,16,.58);backdrop-filter:blur(12px)}
.hr-picker-card{width:min(94vw,440px);border-radius:30px;padding:22px;background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(255,247,252,.96));border:1px solid rgba(255,255,255,.8);box-shadow:0 35px 100px rgba(30,8,24,.32),0 0 0 1px rgba(255,47,152,.08);animation:hrModalIn .28s cubic-bezier(.2,.8,.2,1)}
.analog-clock{position:relative;width:min(72vw,290px);aspect-ratio:1;margin:18px auto;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#eee8ed 70%,#ded5dd);border:7px solid #f7f2f5;box-shadow:inset 0 0 0 2px rgba(255,47,152,.3),inset 0 12px 26px rgba(255,255,255,.8),0 22px 50px rgba(48,16,38,.18)}
.clock-number{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px;border:0;border-radius:50%;background:transparent;transform:rotate(var(--a)) translateY(-118px) rotate(calc(-1 * var(--a)));font-weight:800;color:#453541}
.clock-number:hover{background:#fff;box-shadow:0 6px 18px rgba(255,47,152,.18);color:var(--hr-pink)}
.clock-center{position:absolute;left:50%;top:50%;width:15px;height:15px;transform:translate(-50%,-50%);border-radius:50%;background:var(--hr-pink);box-shadow:0 0 0 6px rgba(255,47,152,.13);z-index:5}
.clock-hand{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%;border-radius:99px;transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.hour-hand{width:5px;height:74px;background:#4b3b47}.minute-hand{width:3px;height:104px;background:linear-gradient(var(--hr-pink),#ad1b70)}
.clock-controls{display:grid!important;grid-template-columns:1fr 1fr;gap:12px}.clock-controls label{display:grid;gap:6px;font-weight:700}.clock-controls input{width:100%;border:1px solid var(--hr-line);border-radius:14px;padding:12px;text-align:center;font-size:1.05rem}
.period-toggle{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;padding:6px;background:#eee7ec;border-radius:16px;margin-top:14px}.period-toggle button{border:0;border-radius:12px;padding:10px;background:transparent;font-weight:800}.period-toggle button.active{background:#fff;color:var(--hr-pink);box-shadow:0 8px 20px rgba(48,16,38,.12)}
.time-preview,.date-preview{text-align:center;margin:14px 0;padding:12px;border-radius:15px;background:var(--hr-soft);color:#6d2850;font-weight:800}
.calendar-head{display:grid!important;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px}.calendar-head h3{text-align:center;margin:0}.calendar-head button{width:44px;height:44px;border:0;border-radius:50%;background:#fff;box-shadow:0 7px 20px rgba(50,15,38,.1);font-size:1.5rem}
.calendar-week,.calendar-grid{display:grid!important;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-week{margin-top:18px;color:#826476;font-size:.82rem;text-align:center}.calendar-grid{margin-top:8px}.calendar-grid button{aspect-ratio:1;border:0;border-radius:50%;background:transparent;font-weight:700}.calendar-grid button:hover:not(:disabled){background:#fff;box-shadow:0 7px 18px rgba(255,47,152,.16)}.calendar-grid button.selected{background:linear-gradient(135deg,var(--hr-pink),var(--hr-pink2));color:#fff;box-shadow:0 10px 24px rgba(255,47,152,.3)}.calendar-grid button:disabled{opacity:.28}
.hr-picker-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}.hr-picker-actions button{border:0;border-radius:15px;padding:12px;font-weight:800}.hr-picker-confirm{background:linear-gradient(135deg,var(--hr-pink),var(--hr-pink2));color:#fff}.hr-picker-cancel{background:#eee8ec;color:#4c3947}
@keyframes hrModalIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:700px){.answer-area{grid-template-columns:1fr}.map-search{grid-template-columns:1fr!important}.map-search button{width:100%}.modal-card{border-radius:22px!important}.hr-picker-card{padding:17px;border-radius:24px}.clock-number{transform:rotate(var(--a)) translateY(-103px) rotate(calc(-1 * var(--a)))}.academy-hero,.airport-hero{grid-template-columns:1fr!important}.hero-reem{min-height:380px}.msg{max-width:88%}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* HerRide Unified Service UI v2 — mobile-first */
:root{--hr-radius:18px;--hr-shadow:0 16px 45px rgba(38,18,68,.16);--hr-shadow-hover:0 22px 60px rgba(38,18,68,.24)}
.topbar,.academy-header{max-width:none!important;width:100%!important;min-height:72px!important;padding:10px clamp(16px,4vw,56px)!important;box-sizing:border-box!important;box-shadow:0 8px 28px rgba(33,15,58,.10)!important;backdrop-filter:blur(18px);position:sticky;top:0;z-index:1000}
.topbar .brand,.academy-header .brand{display:flex!important;align-items:center!important;gap:10px!important}.topbar .brand img,.academy-header .brand img{width:58px!important;height:58px!important;object-fit:contain!important}
.primary-btn,.secondary-btn,.choice,.header-cta,.lang-btn,.icon-btn,#backBtn,.back-btn{min-height:48px!important;border-radius:14px!important;font-weight:800!important;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease!important}.primary-btn:hover,.choice:hover,.header-cta:hover{transform:translateY(-2px);box-shadow:var(--hr-shadow-hover)}.primary-btn:active,.choice:active,.header-cta:active{transform:scale(.98)}
.chat-card,.option-card,.order-option,.program-card,.mini-card,.map-card{box-shadow:var(--hr-shadow)!important;transition:transform .28s ease,box-shadow .28s ease!important}.order-option:hover,.program-card:hover{transform:translateY(-5px) perspective(700px) rotateX(1deg);box-shadow:var(--hr-shadow-hover)!important}
input,textarea,select,.chat-input,#persistentInput{min-height:50px!important;font-size:17px!important;font-weight:650!important;line-height:1.55!important;border-radius:14px!important;box-sizing:border-box!important;width:100%!important}
.msg{font-size:16px!important;font-weight:650!important;line-height:1.75!important}.msg.bot{font-weight:680!important}
.footer{margin-top:48px}
@media(max-width:760px){
 .topbar,.academy-header{min-height:64px!important;padding:8px 12px!important;gap:8px!important}.topbar .brand img,.academy-header .brand img{width:46px!important;height:46px!important}.academy-nav{display:none!important}.top-actions{gap:6px!important}.header-cta,.lang-btn,.icon-btn{min-height:44px!important;font-size:14px!important;padding:0 11px!important}
 .academy-hero,.airport-hero,.orders-hero{padding-left:16px!important;padding-right:16px!important}.hero-copy h1{font-size:clamp(30px,9vw,44px)!important;line-height:1.18!important}.hero-copy p{font-size:17px!important;line-height:1.7!important;font-weight:650!important}
 .chat-card,.chat-shell,.options-wrap{width:calc(100% - 24px)!important;margin-left:auto!important;margin-right:auto!important}.msg{font-size:16.5px!important}.choice,.primary-btn,.secondary-btn{width:100%!important;min-height:52px!important;font-size:16px!important;font-weight:800!important}
 #answerArea{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.order-options-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.order-option{min-height:54px!important;font-size:14px!important}
 .composer,.persistent-composer{gap:8px!important}.footer-grid{grid-template-columns:1fr!important;gap:24px!important;padding-left:20px!important;padding-right:20px!important}.footer a,.footer p{font-size:16px!important;line-height:1.7!important}.footer h4{font-size:18px!important}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* HerRide FINAL unified shell v3 */
.service-site-header.site-header{position:sticky!important;top:0!important;z-index:1000!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;padding:14px 7%!important;min-height:0!important;height:auto!important;background:rgba(22,9,18,.62)!important;backdrop-filter:blur(18px)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 10px 30px rgba(22,9,18,.18)!important;color:#fff!important}
.service-site-header .brand{display:block!important}.service-site-header .brand img{width:82px!important;height:82px!important;object-fit:contain!important;filter:drop-shadow(0 0 14px rgba(255,90,170,.22))!important}
.service-site-header .nav{display:flex!important;align-items:center!important;gap:22px!important;font-weight:800!important}.service-site-header .nav a{color:#fff!important;text-shadow:0 3px 12px rgba(0,0,0,.35)!important;margin:0!important}.service-site-header .header-actions{display:flex!important;align-items:center!important;gap:10px!important}.service-site-header .lang-toggle,.service-site-header .menu-btn{border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.94)!important;border-radius:999px!important;padding:10px 16px!important;font-family:inherit!important;font-weight:800!important;color:#d94f93!important;cursor:pointer!important;min-height:44px!important}.service-site-header .main-btn.small{display:inline-flex!important;padding:11px 18px!important;border-radius:999px!important}.service-site-header .sound-toggle{display:inline-grid!important;place-items:center!important;min-height:44px!important}
.footer{background:linear-gradient(135deg,rgba(18,7,15,.92),rgba(77,17,54,.84)),url('assets/footer-bg.png') center/cover!important;color:#fff!important;padding:54px 7% 20px!important;margin-top:48px!important}.footer:before{content:""!important;position:absolute!important;inset:0!important;background:url('assets/motion-bg-2.png') center/cover!important;opacity:.08!important;filter:blur(6px)!important;pointer-events:none!important}.footer>*{position:relative!important}.footer-grid{display:grid!important;grid-template-columns:1.4fr 1fr 1.2fr 1fr!important;gap:28px!important;max-width:1400px!important;margin:auto!important}.footer-brand img{width:140px!important;height:140px!important;object-fit:contain!important;animation:none!important;filter:drop-shadow(0 0 20px rgba(255,90,170,.42))!important}.footer a{display:flex!important;align-items:center!important;gap:9px!important;color:rgba(255,255,255,.90)!important;margin:8px 0!important}.footer p{color:rgba(255,255,255,.90)!important}.footer h3,.footer h4{color:#fff!important}
.chat-tools{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.chat-tools .tool-btn,#voiceBtn,#writeBtn{min-height:48px!important;width:100%!important;border-radius:14px!important;font-weight:800!important}.back-btn,#backBtn,.back-step-btn{min-height:48px!important;border-radius:14px!important;font-weight:800!important}
input,textarea,select,.chat-answer-input,#persistentInput{font-size:17px!important;font-weight:700!important;line-height:1.55!important}.msg{font-size:16.5px!important;font-weight:680!important;line-height:1.78!important}
@media(max-width:820px){.service-site-header.site-header{padding:10px 12px!important;gap:8px!important;background:rgba(22,9,18,.86)!important}.service-site-header .brand img{width:64px!important;height:64px!important}.service-site-header .menu-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important}.service-site-header .nav{position:absolute!important;top:84px!important;left:12px!important;right:12px!important;display:none!important;flex-direction:column!important;background:rgba(25,12,22,.97)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 20px 50px rgba(0,0,0,.28)!important;border-radius:22px!important;padding:18px!important}.service-site-header .nav.open{display:flex!important}.service-site-header .main-btn.small{display:none!important}.service-site-header .lang-toggle{padding:9px 12px!important;font-size:14px!important}.service-site-header .sound-toggle{width:40px!important;height:40px!important;min-height:40px!important}.footer-grid{grid-template-columns:1fr!important;text-align:center!important}.footer a{justify-content:center!important}.footer-brand img{width:140px!important;height:140px!important}.chat-tools{grid-template-columns:1fr 1fr!important}.chat-tools .tool-btn,#voiceBtn,#writeBtn{font-size:15px!important;min-height:50px!important}.msg{font-size:16.5px!important}.choice,.primary-btn,.secondary-btn,#backBtn,.back-btn{min-height:52px!important;font-size:16px!important}.persistent-composer textarea,.persistent-composer input,.chat-answer-input{font-size:17px!important;min-height:52px!important}}
