@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&display=swap');
@import url('ola-task-heroes.css?v=1');
@import url('ola-compact-heroes.css?v=1');
@import url('ola-field-controls.css?v=1');
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .guest-btn{border-radius:0!important;box-shadow:none!important}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .guest-btn--solid{background:linear-gradient(135deg,#c89a59,#a9783c)!important;border-color:#c89a59!important;color:#20140c!important}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .guest-btn--ghost{background:rgba(14,12,10,.22)!important;border-color:rgba(255,255,255,.3)!important;color:#fff!important}

/* Readability corrections for existing client components, not a new layout/theme.
   Admin, employee and business-configuration screens keep their own typography. */
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page){font-family:Montserrat,Arial,sans-serif}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) :is(button,input,select,textarea){font-family:inherit}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .guest-btn{min-height:44px!important;font-size:11px!important;letter-spacing:.035em!important;padding:0 14px!important;white-space:nowrap}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .guest-btn--solid{color:#20140c!important;text-shadow:none!important}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) :is(.service-card__action,.booking-shell--customer .btn,.reservation-btn,.detail-btn,.btnx,.coupon-copy,.coupon-link,.vip-btn,.notif-btn,.notif-link,.payment-btn){font-size:12px!important;line-height:1.4!important;letter-spacing:.025em!important;min-height:44px!important;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) :is(.service-card__action:not(.service-card__action--secondary):not(.service-card__action--favorite),.booking-shell--customer .btn:not(.btn--ghost),.reservation-btn:not(.reservation-btn--danger):not(.reservation-btn--payment),.detail-btn--primary,.btnx--primary,.vip-btn:not(:disabled),.notif-btn--primary){color:#25190f!important;text-shadow:none!important}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) :is(.filter-chip.is-active,.services-filter-chip.is-active){color:#25190f!important;font-size:12px!important}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) :is(.service-card__action,.btn,.btnx,.guest-btn,.reservation-btn,.detail-btn,.coupon-copy,.coupon-link,.vip-btn,.notif-btn,.notif-link,.payment-btn):focus-visible{outline:3px solid #805521!important;outline-offset:3px!important}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .service-card__body{min-width:0}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .service-card__title{max-width:100%;min-width:0;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none;font-size:clamp(22px,2.2vw,28px)!important;line-height:1.2!important}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .service-card__desc{font-size:14px!important;line-height:1.65!important}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) :is(.service-card__meta-label,.booking-summary-label,.booking-bundle-overview__label,.reservation-price-label,.detail-label,.history-stat__label,.repeat-metric__label,.coupon-card__meta-item strong,.vip-stat__label,.payment-box__label){color:#624a37!important;font-size:11px!important;line-height:1.5!important;letter-spacing:.05em!important}
/* Dark summary surfaces need a light label, unlike labels on cream cards. */
body.ola-branded-page .booking-detail-hero :is(.detail-label,.booking-summary-label){color:#eed9b9!important}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) :is(.news-author__date,.news-comment__meta,.news-post__stats,.notif-card__date){color:#635143!important;font-size:12px!important}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .home-context{box-sizing:border-box;min-width:0;flex-wrap:wrap}
body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) :is(.booking-field input,.booking-field select,.booking-field textarea){font-size:16px!important;min-height:44px}
.public-news-page.ola-branded-page .public-post__cta p{color:#554334!important;font-size:14px;line-height:1.7}
.public-news-page.ola-branded-page .btnx--primary{background:#b88b50!important}
.ola-payment-result.ola-branded-page .card{box-sizing:border-box}
.ola-payment-page.ola-branded-page .payment-btn--primary,.ola-payment-result.ola-branded-page .btn--primary{background:linear-gradient(100deg,#805326,#95662f)!important;color:#fff!important;font-size:12px!important;min-height:48px!important}
.legal-page.ola-branded-page .legal-topbar__nav a{font-size:11px;min-height:44px}
.legal-page.ola-branded-page .legal-topbar__nav .legal-topbar__back{color:#20140c}
.page-profile.ola-branded-page .btn{font-size:12px;min-height:44px}
.auth-page-with-footer.ola-branded-page .field label{font-size:12px;line-height:1.5;color:#594330}
.auth-page-with-footer.ola-branded-page .field input{font-size:16px}
.auth-page-with-footer.ola-branded-page .link{font-size:13px;line-height:1.6;display:inline-flex;align-items:center;min-height:32px}
.auth-page-with-footer.ola-branded-page .btn{font-size:12px;letter-spacing:.06em;background:linear-gradient(100deg,#805326,#95662f);color:#fff}
.auth-page-with-footer.ola-branded-page .hint{opacity:1;font-size:12px;line-height:1.5}
.auth-page-with-footer.ola-branded-page .hint.ok{color:#5e472a}
.auth-page-with-footer.ola-branded-page .hint.bad{color:#8a382d}
.auth-page-with-footer.ola-branded-page .toggle-pass{display:grid;place-items:center;min-width:44px;min-height:44px}
.toggle-pass svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.toggle-pass .password-eye-slash{display:none}
.toggle-pass[aria-pressed=true] .password-eye-slash{display:block}
body.ola-branded-page .booking-services-footer .booking-services-footer__business>p{color:#e3d5c4!important;font-size:17px!important;line-height:1.65!important;min-width:0}
body.ola-branded-page .booking-services-footer .language-switcher .language-switcher__flag{width:40px!important;height:40px!important;padding:8px!important;border-radius:50%!important;border:1px solid rgba(224,194,143,.35)!important;background:rgba(255,255,255,.04)!important;box-sizing:border-box}
body.ola-branded-page .booking-services-footer .language-switcher .language-switcher__flag svg{width:22px;height:15px}
body.ola-branded-page .booking-services-footer .language-switcher .language-switcher__option input:checked+.language-switcher__flag{border-color:#dec18c!important;background:rgba(184,139,80,.2)!important;box-shadow:0 0 0 2px rgba(222,193,140,.12)!important}
body.ola-branded-page .booking-services-footer .language-switcher .language-switcher__submit{min-height:40px!important;padding:0 13px!important;font:600 11px/1.4 Montserrat,Arial,sans-serif!important;letter-spacing:.04em!important;border-radius:0!important;background:transparent!important;background-image:none!important;color:#eed9b9!important;border:1px solid rgba(224,194,143,.45)!important;box-shadow:none!important;text-transform:uppercase!important}
body.ola-branded-page .booking-services-footer .language-switcher .language-switcher__submit:hover{background:#b88b50!important;color:#25190f!important}
body.ola-branded-page .booking-services-footer .booking-services-footer__nav a{font-size:12px;line-height:1.6;color:#e3d5c4;display:inline-flex;align-items:center;min-height:32px}
body.ola-branded-page .booking-services-footer .booking-services-footer__business-links a{font-size:11px;min-height:42px}
body.ola-branded-page .booking-services-footer .booking-services-footer__identity span{font-size:11px;color:#d8c8b4}
@media(max-width:700px){
  .ola-payment-result.ola-branded-page>.booking-services-footer{width:calc(100% + 24px)!important;margin:28px -12px -18px!important}
  body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .topbar__inner:has(.guest-actions){gap:8px;flex-wrap:wrap;box-sizing:border-box}
  body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .topbar__inner:has(.guest-actions) .brand{flex:0 0 auto;max-width:100%}
  body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .guest-actions{flex:0 0 auto;flex-wrap:nowrap!important}
  body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .guest-btn{padding:0 9px!important;font-size:10px!important;letter-spacing:0!important}
  body.ola-branded-page .booking-services-footer .language-switcher{flex-wrap:wrap;row-gap:12px}
}
@media(max-width:380px){
  body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .topbar__inner:has(.guest-actions){display:grid;grid-template-columns:1fr;align-content:center;gap:10px;min-height:136px}
  body.ola-branded-page:not(.admin-ola-page):not(.staff-ola-page) .topbar__inner .guest-actions{justify-self:start}
}
.booking-shell--customer .booking-calendar-mobile-hint{display:none}
.booking-shell--customer .booking-day[aria-pressed=true]{outline:2px solid #805521;outline-offset:-2px}
@media(max-width:640px){
  .booking-shell--customer .booking-calendar-mobile-hint{display:block;color:#594330;font-size:12px;line-height:1.6;margin:12px 0}
  .booking-shell--customer .booking-calendar-mobile{max-width:100%;overscroll-behavior-x:contain;--mobile-week-cell-width:76px}
  .booking-shell--customer .booking-calendar-mobile:focus-visible{outline:2px solid #805521;outline-offset:3px}
  .booking-shell--customer .booking-day__state{display:block;width:100%;font-size:10px;line-height:1.3;letter-spacing:0;white-space:normal;overflow-wrap:normal;word-break:normal}
  .booking-shell--customer .booking-day__state span{min-width:0;white-space:normal;overflow:visible;text-overflow:clip}
  .booking-shell--customer .booking-calendar-mobile__weekday{font-size:10px}
}
