@font-face { font-family:Jost; font-style:normal; font-weight:400; font-display:swap; src:url("tikida/jost-regular.a30ea6851b11.ttf") format('truetype'); }
@font-face { font-family:Jost; font-style:normal; font-weight:600; font-display:swap; src:url("tikida/jost-semibold.cc204425c059.ttf") format('truetype'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:600; font-display:swap; src:url("tikida/cormorant.9868f4ffd74c.ttf") format('truetype'); }
:root { --tikida-blue:#23418e; --tikida-deep:#152c66; }
.app-body, .login-body, .tikida-public { --font-sans:Jost,'Segoe UI',sans-serif; font-family:var(--font-sans); letter-spacing:0; }
.tikida-brand-logo { display:block; width:100%; max-width:218px; height:auto; aspect-ratio:590 / 146; object-fit:contain; }
.app-body .brand-block { background:var(--tikida-blue); padding:24px 18px; }
.app-body .brand-mark { display:flex; justify-content:center; }
.app-body .nav-link.is-active { background:#edf1fa; color:var(--tikida-blue); box-shadow:inset 3px 0 var(--tikida-blue); }
.app-body .quick-booking, .app-body .bk-button:not(.secondary), .app-body .stock-button:not(.secondary), .login-body .primary-button { background:var(--tikida-blue); border-color:var(--tikida-blue); color:#fff; }
.app-body .quick-booking:hover, .login-body .primary-button:hover { background:var(--tikida-deep); }
.app-body .bottom-nav .is-active { background:#edf1fa; color:var(--tikida-blue); }
.app-body .page-heading h1, .app-body .booking-heading h1, .app-body .stock-heading h1 { color:var(--tikida-blue); font-weight:600; }
[data-tikida=thalasso] { --spa-accent:#00a0dd; }
[data-tikida=palace] { --spa-accent:#ce0182; }
[data-tikida=golf] { --spa-accent:#b4975b; }
[data-tikida=dunas] { --spa-accent:#99aa4c; }
[data-tikida=taghazout] { --spa-accent:#4b5947; }
[data-tikida=palmeraie] { --spa-accent:#dc875b; }
.app-body .spa-card[data-tikida], .spa-choice[data-tikida] { border-top:4px solid var(--spa-accent,var(--tikida-blue)); overflow:hidden; }
.app-body .spa-card h2, .spa-choice h2 { font-family:'Cormorant Garamond',Georgia,serif; font-size:28px; font-weight:600; line-height:1.15; }
.app-body .spa-card p, .app-body .spa-card dd { overflow-wrap:anywhere; }
.login-body { background:#fff; }
.login-body .login-shell { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; padding:40px 20px; min-height:100dvh; background:url("tikida/palace.676e24e3da46.jpg") center / cover no-repeat; }
.login-body .login-visual { display:block; background:none; padding:0; min-height:0; text-align:center; overflow:visible; }
.login-body .login-visual::before { display:none; }
.login-body .visual-card { padding:0; background:none; backdrop-filter:none; text-shadow:0 2px 12px #000; }
.login-body .visual-kicker { color:white; font-weight:600; }
.login-body .visual-card h1 { font-family:'Cormorant Garamond',Georgia,serif; font-size:48px; color:white; font-weight:600; }
.login-body .login-panel { width:min(100%,420px); background:transparent; padding:0; }
.login-body .login-card { width:100%; padding:28px; background:white; border-radius:8px; box-shadow:0 12px 40px #0002; }
.login-body .login-logo { background:var(--tikida-blue); padding:16px; justify-content:center; border-radius:4px; margin-bottom:24px; }
.login-body .login-heading h2 { font:600 32px 'Cormorant Garamond',Georgia,serif; color:var(--tikida-blue); }
.login-body input { font-size:16px; }
.tikida-public { --green:var(--tikida-blue); background:#fafcfb; color:#293b48; }
.tikida-public .public-nav { background:var(--tikida-blue); border:0; }
.tikida-public .public-nav > span { color:white; }
.tikida-public .public-nav a { display:block; flex:0 1 218px; }
.tikida-public h1, .tikida-public h2 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; color:var(--tikida-blue); }
.tikida-public button:hover, .tikida-public .button:hover { background:var(--tikida-deep); color:#fff; }
.tikida-public .booking-steps button { background:transparent; }
.tikida-public .booking-steps button:hover { color:var(--tikida-blue); }
.tikida-public .booking-steps button[aria-current=step] span { background:var(--tikida-blue); }
@media(max-width:600px) {
  .login-body .login-shell { padding:24px 16px; gap:16px; }
  .login-body .visual-card h1 { font-size:36px; }
  .login-body .login-card { padding:22px; }
  .tikida-public .public-nav a { flex-basis:170px; }
}
