/* RAELYN LUXURY VIP — consistent customer/booking journey (2026). */
:root{--lux-blue:#0958f7;--lux-blue-dark:#0348d5;--lux-ink:#172332;--lux-muted:#667386;--lux-cream:#fdfbf8;--lux-gold:#b88a40;--lux-line:#eae4d9;--lux-shadow:0 18px 60px rgba(30,47,75,.09)}
html{scroll-behavior:smooth}
body.raelyn-lux-customer{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif!important;color:var(--lux-ink)!important;background:linear-gradient(155deg,#fff 5%,#fffdf9 60%,#f8faff 100%) fixed!important}
body.raelyn-lux-customer .lux-client-header{position:sticky;top:0;z-index:180;background:rgba(255,255,255,.98);border-bottom:1px solid #ece8e1;box-shadow:0 4px 18px rgba(14,33,61,.045)}
.lux-client-header-inner{max-width:1210px;margin:auto;min-height:82px;padding:9px 28px;display:flex;align-items:center;gap:26px}
.lux-client-logo{display:inline-flex;align-items:center;flex:0 0 auto;text-decoration:none}.lux-client-logo img{display:block;width:170px;max-height:66px;object-fit:contain}
.lux-client-menu{display:flex;align-items:center;gap:25px;margin-left:auto}.lux-client-menu a{font-size:14px;font-weight:650;color:#374151;text-decoration:none;white-space:nowrap}.lux-client-menu a:hover,.lux-client-menu a[aria-current]{color:var(--lux-blue)}
.lux-client-header-actions{display:flex;align-items:center;gap:12px;margin-left:6px}.lux-client-phone{color:var(--lux-ink);font-weight:700;font-size:13px;text-decoration:none;white-space:nowrap}.lux-client-cta,.lux-client-cta:visited{background:var(--lux-blue);border:1px solid var(--lux-blue);color:#fff!important;border-radius:13px;min-height:46px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:750;text-decoration:none;box-shadow:0 6px 16px rgba(9,88,247,.14);white-space:nowrap;transition:background .18s,transform .18s}.lux-client-cta:hover{background:var(--lux-blue-dark);transform:translateY(-1px)}
.lux-client-cta:focus-visible,.lux-client-header a:focus-visible{outline:3px solid #99bbff;outline-offset:3px}
.lux-client-plain{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;color:var(--lux-blue);text-decoration:none;font-weight:750;font-size:14px}
.lux-client-kicker{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#a47e3b}
.lux-client-banner{max-width:1210px;margin:26px auto 0;padding:30px 36px;border:1px solid var(--lux-line);border-radius:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(112deg,#fff 28%,#fffbf3 100%);box-shadow:0 8px 32px rgba(20,42,76,.045)}
.lux-client-banner h1{font-size:clamp(27px,3.4vw,43px);line-height:1.1;letter-spacing:-.055em;margin:10px 0;color:#172332;font-family:Georgia,'Times New Roman',serif}.lux-client-banner h1 em{color:var(--lux-blue);font-style:normal}.lux-client-banner p{color:var(--lux-muted);font-size:15px;line-height:1.6;margin:0}
.lux-client-banner-actions{display:flex;gap:10px;flex-wrap:wrap}
body.raelyn-lux-customer .mero-page-shell{margin-top:26px!important;background:transparent!important}
body.raelyn-lux-customer .mero-left-column .content-panel,body.raelyn-lux-customer .info-card,body.raelyn-lux-customer .mero-reviews-section,body.raelyn-lux-customer .account-menu,body.raelyn-lux-customer .account-card,body.raelyn-lux-customer .notice-box,body.raelyn-lux-customer .notification-item,body.raelyn-lux-customer .account-panel .contact-action{border-radius:18px!important;border:1px solid #eae6df!important;box-shadow:var(--lux-shadow)!important;background:#fff!important}
body.raelyn-lux-customer .hero-photo{border-radius:24px!important;overflow:hidden!important}
body.raelyn-lux-customer .hero-photo img{border-radius:24px!important}
body.raelyn-lux-customer .profile-title h1{color:var(--lux-ink)!important;font-family:Georgia,'Times New Roman',serif!important;letter-spacing:-.04em!important}
body.raelyn-lux-customer .rating-star{color:#d19b42!important}
body.raelyn-lux-customer .book-btn,body.raelyn-lux-customer .customer-auth-submit,body.raelyn-lux-customer .appointment-access-submit,body.raelyn-lux-customer .booking-submit,body.raelyn-lux-customer .save-account,body.raelyn-lux-customer .submit,body.raelyn-lux-customer .booking-staff-card button{background:var(--lux-blue)!important;border-color:var(--lux-blue)!important;color:#fff!important;border-radius:12px!important;box-shadow:0 6px 14px rgba(9,88,247,.13)!important}
body.raelyn-lux-customer .book-btn:hover,body.raelyn-lux-customer .booking-submit:hover{background:var(--lux-blue-dark)!important}
body.raelyn-lux-customer input:focus,body.raelyn-lux-customer select:focus{border-color:var(--lux-blue)!important;outline:2px solid rgba(9,88,247,.13)!important}
body.raelyn-lux-customer a{scroll-margin-top:105px}
/* Reservation funnel overrides legacy MERO styling, while retaining original event handlers. */
body.raelyn-lux-customer #bookingFlowModal .booking-flow-box{width:min(640px,calc(100vw - 28px))!important;max-width:640px!important;max-height:min(830px,calc(100dvh - 38px))!important;height:auto!important;background:#fff!important;border:1px solid var(--lux-line)!important;border-radius:24px!important;box-shadow:0 24px 100px rgba(19,39,68,.22)!important;overflow:auto!important}
body.raelyn-lux-customer #bookingFlowModal .booking-flow-top{height:74px!important;min-height:74px!important;display:grid!important;grid-template-columns:42px 1fr 42px!important;background:linear-gradient(110deg,#fff,#fffaf1)!important;border-bottom:1px solid var(--lux-line)!important;padding:0 22px!important}
body.raelyn-lux-customer #bookingFlowModal .booking-flow-top strong{font-size:19px!important;color:var(--lux-ink)!important;font-weight:800!important;letter-spacing:-.035em!important}
body.raelyn-lux-customer #bookingFlowModal .booking-step-panel{padding:24px 26px 18px!important}
body.raelyn-lux-customer #bookingFlowModal .booking-section-head h3{font-size:25px!important;font-family:Georgia,'Times New Roman',serif!important;font-weight:700!important;letter-spacing:-.04em!important;color:var(--lux-ink)!important}
body.raelyn-lux-customer #bookingFlowModal .booking-service-card{border:1px solid #e7eaf0!important;border-radius:13px!important;padding:17px 15px!important;margin:0 0 10px!important;min-height:86px!important;box-shadow:none!important;background:#fff!important}
body.raelyn-lux-customer #bookingFlowModal .booking-service-card:hover{border-color:#a9c6ff!important;background:#fafdff!important}
body.raelyn-lux-customer #bookingFlowModal .booking-service-card.active{border-color:var(--lux-blue)!important;background:#f6f9ff!important;box-shadow:0 0 0 1px var(--lux-blue) inset!important}
body.raelyn-lux-customer #bookingFlowModal .booking-service-card .service-main strong{font-size:16px!important;color:var(--lux-ink)!important;font-weight:750!important}
body.raelyn-lux-customer #bookingFlowModal .booking-service-card .service-main small{font-size:13px!important;color:var(--lux-muted)!important}
body.raelyn-lux-customer #bookingFlowModal .booking-service-card .service-price{font-size:15px!important;font-weight:750!important;color:#9b702e!important;margin-right:119px!important}
body.raelyn-lux-customer #bookingFlowModal .booking-service-card:after{content:'Alege'!important;background:var(--lux-blue)!important;border-radius:10px!important;height:39px!important;line-height:39px!important;min-width:94px!important;padding:0 12px!important;right:13px!important;font-weight:750!important}
body.raelyn-lux-customer #bookingFlowModal .booking-service-card.active:after{content:'Selectat'!important;background:#19633e!important}
body.raelyn-lux-customer #bookingFlowModal .booking-staff-card{border:1px solid #e5e8ee!important;border-radius:15px!important;background:#fff!important;padding:16px!important;margin-bottom:10px!important}
body.raelyn-lux-customer #bookingFlowModal .booking-staff-card.active{border-color:var(--lux-blue)!important;background:#f6f9ff!important}
body.raelyn-lux-customer #bookingFlowModal .booking-summary{border:1px solid #e8e2d8!important;border-radius:14px!important;background:#fffbf4!important;margin:14px 26px!important;padding:18px!important}
body.raelyn-lux-customer #bookingFlowModal .booking-submit{margin:12px 26px 6px!important;width:calc(100% - 52px)!important;min-height:52px!important;font-weight:800!important;font-size:15px!important}
body.raelyn-lux-customer #bookingFlowModal .booking-trust{margin:14px 20px!important;color:var(--lux-muted)!important;font-size:12px!important}
body.raelyn-lux-customer #bookingFlowModal .booking-slots button.active,body.raelyn-lux-customer #bookingFlowModal .slots button.active{background:var(--lux-blue)!important;color:#fff!important}
body.raelyn-lux-customer .customer-auth-box,body.raelyn-lux-customer .appointment-access-box{border:1px solid var(--lux-line)!important;border-radius:25px!important;box-shadow:0 30px 90px rgba(19,39,68,.22)!important;background:#fff!important}
body.raelyn-lux-customer .customer-auth-tabs button.active{color:var(--lux-blue)!important;border-bottom-color:var(--lux-blue)!important}
body.raelyn-lux-customer .customer-auth-logo,body.raelyn-lux-customer .appointment-access-logo{object-fit:contain!important;border-radius:0!important;background:transparent!important}
/* Account dashboard */
body.raelyn-lux-account .account-shell{width:min(1120px,calc(100% - 48px));margin:30px auto 110px}
body.raelyn-lux-account .account-heading{font:700 clamp(32px,4vw,48px)/1.1 Georgia,serif;letter-spacing:-.045em;color:var(--lux-ink);margin:16px 0 25px}
body.raelyn-lux-account .account-menu,body.raelyn-lux-account .account-panel{max-width:900px}
body.raelyn-lux-account .account-card{padding:26px!important}
body.raelyn-lux-account .account-menu-row{min-height:75px!important;padding:10px 22px!important}
body.raelyn-lux-account .account-menu-row:hover{background:#f8faff!important}
body.raelyn-lux-account .account-menu-icon{background:#f4f7ff!important}
body.raelyn-lux-account .account-menu-icon svg{stroke:#145ce8!important}
body.raelyn-lux-account .account-tab.active{background:#eaf1ff!important;color:var(--lux-blue)!important}
body.raelyn-lux-account .account-bottom-nav{border-top:1px solid var(--lux-line);background:rgba(255,255,255,.98);box-shadow:0 -6px 24px rgba(20,42,76,.06)}
body.raelyn-lux-account .appointment-card{padding:20px 0!important}
body.raelyn-lux-account .appointment-service{font-size:17px!important;color:var(--lux-ink)!important}
body.raelyn-lux-account .appointment-action{color:var(--lux-blue)!important}
body.raelyn-lux-account .field input{border-radius:12px!important;min-height:49px!important}
/* Appointment details and cancellation remain functional. */
body.raelyn-lux-details .page{max-width:1200px!important;margin:20px auto 110px!important}
body.raelyn-lux-details .page .card,body.raelyn-lux-details .info-card,body.raelyn-lux-details .modal-box{background:#fff!important;border:1px solid var(--lux-line)!important;border-radius:20px!important;box-shadow:var(--lux-shadow)!important}
body.raelyn-lux-details .titlebar{border-radius:16px;background:transparent!important}
body.raelyn-lux-details .page .btn{background:var(--lux-blue)!important;border-radius:12px!important;color:#fff!important}
body.raelyn-lux-details .cancel-link{color:#b42318!important}
body.raelyn-lux-details .raelyn-client-bottom-nav{background:#fff!important}
@media(max-width:1050px){.lux-client-header-inner{min-height:72px;padding:9px 18px;gap:14px}.lux-client-logo img{width:135px;max-height:58px}.lux-client-menu{gap:13px}.lux-client-menu a{font-size:12px}.lux-client-phone{display:none}.lux-client-cta{padding:0 12px;font-size:12px}}
@media(max-width:720px){.lux-client-header-inner{min-height:70px;padding:8px 14px;gap:10px;flex-wrap:nowrap}.lux-client-logo img{width:124px;max-height:54px}.lux-client-menu{display:none}.lux-client-header-actions{margin-left:auto;gap:4px}.lux-client-cta{font-size:12px;min-height:40px;padding:0 11px}.lux-client-plain{font-size:12px;padding:0 7px}.lux-client-banner{margin:14px 12px 0;padding:23px 20px;border-radius:19px;display:block}.lux-client-banner h1{font-size:31px}.lux-client-banner p{font-size:13px}.lux-client-banner-actions{margin-top:17px}.lux-client-banner .lux-client-cta{width:100%}body.raelyn-lux-customer .mero-page-shell{margin-top:16px!important}body.raelyn-lux-account .account-shell{width:calc(100% - 24px);margin:17px auto 120px}body.raelyn-lux-account .account-card{padding:18px!important}body.raelyn-lux-customer #bookingFlowModal .booking-flow-box{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;margin:0!important}body.raelyn-lux-customer #bookingFlowModal .booking-flow-top{height:62px!important;min-height:62px!important;padding:0 15px!important}body.raelyn-lux-customer #bookingFlowModal .booking-step-panel{padding:18px 14px!important}body.raelyn-lux-customer #bookingFlowModal .booking-service-card{padding:15px 12px!important}body.raelyn-lux-customer #bookingFlowModal .booking-service-card .service-price{margin-right:88px!important;font-size:13px!important}body.raelyn-lux-customer #bookingFlowModal .booking-service-card:after{right:8px!important;min-width:79px!important;max-width:79px!important;padding:0 5px!important;font-size:12px!important}body.raelyn-lux-customer #bookingFlowModal .booking-submit{margin-left:14px!important;margin-right:14px!important;width:calc(100% - 28px)!important}body.raelyn-lux-customer #bookingFlowModal .booking-summary{margin:10px 14px!important}.raelyn-lux-customer .customer-auth-box,.raelyn-lux-customer .appointment-access-box{border-radius:20px 20px 0 0!important}}
@media(prefers-reduced-motion:reduce){.lux-client-cta{transition:none}}
