root{display:block}:root{--booking-bg:#f4efe7;--booking-surface:#fffdf8;--booking-border:#ddd1c1;--booking-text:#2f261f;--booking-muted:#726457;--booking-accent:#6e8b78;--booking-accent-strong:#49624f;--booking-accent-soft:#e6efe7;--booking-shadow:0 20px 50px rgba(53, 36, 22, 0.08)}body,html{height:100%;background:radial-gradient(circle at top left,#fff7ec 0,transparent 28%),linear-gradient(180deg,#f6f0e8 0,#f2ece4 100%);color:var(--booking-text)}#main{min-height:100%}#book-appointment-wizard{min-height:480px;padding:0;margin:24px auto 32px;background:var(--booking-surface);border:1px solid var(--booking-border);border-radius:28px;box-shadow:var(--booking-shadow);overflow:hidden}#book-appointment-wizard #header{overflow:auto;height:auto;padding:28px 22px 18px;background:linear-gradient(135deg,#7b9b87 0,#4d6854 100%)}#book-appointment-wizard #company-name{float:none;display:block;text-align:center;font-size:30px;font-weight:600;color:#fff;margin:10px 0 0}#book-appointment-wizard #company-name #company-logo{display:block;margin:0 auto 14px;max-height:72px;filter:drop-shadow(0 8px 16px rgba(0, 0, 0, .15))}#book-appointment-wizard #company-name .booking-hero-text{color:rgba(255,255,255,.88);font-size:15px;font-weight:400;margin:10px auto 18px;max-width:30rem}#book-appointment-wizard #company-name .display-booking-selection{color:#edf5ee;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.8rem;font-weight:500;padding:6px 12px;background:rgba(255,255,255,.08)}#book-appointment-wizard #steps{float:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px auto 0;width:100%}#book-appointment-wizard #book-appointment-form #book-appointment-submit{width:100%;margin-right:0}#book-appointment-wizard #form-message{text-align:center;margin-bottom:30px}#book-appointment-wizard .wizard-frame{height:auto;padding:24px 20px 12px}#book-appointment-wizard .wizard-frame .frame-container{height:auto;min-height:500px;padding:10px 0 0}#book-appointment-wizard .frame-container .frame-title{font-weight:600;text-align:center;margin-bottom:12px;color:var(--booking-text)}#book-appointment-wizard .frame-container .frame-subtitle{color:var(--booking-muted);font-size:1rem;margin:0 auto 24px;max-width:34rem}#book-appointment-wizard .frame-container .frame-content{float:none}#book-appointment-wizard .wizard-frame .command-buttons{float:none;margin:24px auto 8px;text-align:center;display:flex;justify-content:space-between;gap:12px}#book-appointment-wizard .wizard-frame .command-buttons .btn{min-width:120px;margin-right:0;border-radius:16px;min-height:54px;font-size:1rem;font-weight:600;padding:.85rem 1.1rem}#book-appointment-wizard .wizard-frame .flatpickr-calendar{margin:25px auto}#book-appointment-wizard .wizard-frame #select-time{max-width:360px;margin:auto;padding:15px 0}#book-appointment-wizard .book-step{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70px;background:rgba(255,255,255,.14);padding:10px 8px;border-radius:18px;transition:all .3s linear}#book-appointment-wizard .book-step strong{font-size:15px;display:block;text-align:center;color:rgba(255,255,255,.82);transition:all .3s linear;cursor:default}#book-appointment-wizard .book-step span{color:rgba(255,255,255,.82);font-size:.72rem;font-weight:600;line-height:1.2;margin-top:4px;text-align:center}#book-appointment-wizard .active-step{background:#fff}#book-appointment-wizard .active-step strong{color:var(--booking-accent-strong);font-size:18px}#book-appointment-wizard .active-step span{color:var(--booking-accent-strong)}#book-appointment-wizard #frame-footer{padding:18px 20px 22px;text-align:center;border-top:1px solid #ebe7df;background:#fbf8f3}#book-appointment-wizard #available-hours{overflow:auto;margin:15px 0;padding-right:0;width:auto;max-height:320px}#book-appointment-wizard #available-hours div{margin-right:0}#book-appointment-wizard #available-hours .available-hour{margin-bottom:12px;min-height:52px;border-radius:14px;font-weight:600;border-color:#cdbfae}#book-appointment-wizard #available-hours .selected-hour{background-color:var(--booking-accent);border-color:var(--booking-accent);color:#fff}#book-appointment-wizard .span3{min-width:270px}#book-appointment-wizard #select-timezone{margin-bottom:15px}#book-appointment-wizard #appointment-details p,#book-appointment-wizard #customer-details p{font-size:16px;line-height:28px}#book-appointment-wizard #wizard-frame-1 label{font-size:1rem;margin-bottom:10px}#book-appointment-wizard input.form-control,#book-appointment-wizard select.form-select,#book-appointment-wizard textarea.form-control{border-radius:16px;border-color:#d7cbbe;padding:.9rem 1rem;font-size:1rem;min-height:54px;box-shadow:none}#book-appointment-wizard textarea.form-control{min-height:110px}#book-appointment-wizard .btn-dark,#book-appointment-wizard .btn-primary{background:var(--booking-accent-strong);border-color:var(--booking-accent-strong)}#book-appointment-wizard .btn-outline-secondary{border-color:#cdbfae;color:var(--booking-text)}#book-appointment-wizard .captcha-title{float:left;margin:7px 0 10px 0}#book-appointment-wizard .captcha-title .fa-sync-alt{cursor:pointer;transition:all .3s linear}#book-appointment-wizard .captcha-title .fa-sync-alt:hover{color:#1a865f}#book-appointment-wizard .captcha-image{float:left;margin-bottom:20px;border-radius:3px}#book-appointment-wizard .captcha-text{width:100%;margin-bottom:20px}#book-appointment-wizard #service-description{overflow-y:auto;clear:both;max-height:180px;box-shadow:none;color:var(--booking-muted)}#book-appointment-wizard #select-language,#book-appointment-wizard .backend-link{display:block;min-width:120px;margin:15px auto 0;padding:8px 10px;border-radius:999px}#book-appointment-wizard .booking-card{background:linear-gradient(180deg,#fffefb 0,#faf6ef 100%);border:1px solid #eadfce;border-radius:24px;padding:20px;box-shadow:0 10px 24px rgba(53,36,22,.05)}#book-appointment-wizard .booking-card__title{color:var(--booking-accent-strong);font-size:.9rem;font-weight:700;letter-spacing:.06em;margin-bottom:14px;text-transform:uppercase}#book-appointment-wizard .booking-help-text{color:var(--booking-muted);font-size:.92rem;margin-top:6px}#book-appointment-wizard .provider-selection{margin-top:18px}#book-appointment-wizard .form-control.is-invalid,#book-appointment-wizard .form-select.is-invalid{background-image:none;border-width:2px}@media (max-width:767px){#book-appointment-wizard{margin:0;border:0;border-radius:0}#book-appointment-wizard #header{padding:22px 16px 18px}#book-appointment-wizard #company-name{font-size:24px}#book-appointment-wizard #company-name .booking-hero-text{font-size:14px;margin-bottom:14px}#book-appointment-wizard #steps{grid-template-columns:repeat(2,minmax(0,1fr))}#book-appointment-wizard .wizard-frame{padding:18px 14px 10px}#book-appointment-wizard .wizard-frame .frame-container{min-height:auto}#book-appointment-wizard .wizard-frame .command-buttons{flex-direction:column-reverse}#book-appointment-wizard #book-appointment-form,#book-appointment-wizard .wizard-frame .command-buttons .btn{width:100%}#book-appointment-wizard #appointment-details,#book-appointment-wizard #customer-details{text-align:left!important}#book-appointment-wizard .booking-card{padding:18px 16px;border-radius:20px}}.popover .popover-title{text-align:center}.popover .popover-content #language-list .language{margin:15px 0}#book-appointment-wizard #wizard-frame-4 .frame-container .frame-content{max-width:630px}@media (min-width:768px){.wrapper{min-height:100vh}#book-appointment-wizard{border-radius:.25rem;overflow:hidden;box-shadow:rgba(138,195,255,.12) 0 1px 5px 0}#book-appointment-wizard #company-name{text-align:left;display:inline-block;float:left;margin:0 auto;min-width:400px;line-height:1.4}#book-appointment-wizard #company-name #company-logo{display:inline-block;float:left;margin-right:14px;margin-top:0;margin-bottom:0}#book-appointment-wizard #steps{display:inline-block;float:right;margin:5px auto}#book-appointment-wizard .wizard-frame{padding:10px 20px}#book-appointment-wizard .wizard-frame .command-buttons{display:flex;justify-content:space-between}#book-appointment-wizard .captcha-title{margin-right:20px;margin-top:7px}#book-appointment-wizard .captcha-image{float:right}#book-appointment-wizard #select-language{width:100px;padding:5px;margin:5px auto}#book-appointment-wizard #frame-footer small{display:flex}#book-appointment-wizard .footer-options,#book-appointment-wizard .footer-powered-by{width:50%}#book-appointment-wizard .footer-powered-by{text-align:left;padding:5px 5px 5px 0}#book-appointment-wizard .footer-options{text-align:right}#book-appointment-wizard #select-language{display:inline-block}#book-appointment-wizard .backend-link{display:inline-block;min-width:120px;padding:5px;margin:5px 0}}#message-frame,#success-frame{background:var(--bs-body-bg);text-align:center;height:auto;border:none;padding:35px}#message-frame .alert,#success-frame .alert{margin-top:20px}#message-frame #message-icon,#success-frame #success-icon{margin-top:20px;margin-right:20px;width:64px;display:block;margin:auto;float:none!important}#success-frame .btn{margin-bottom:10px;width:80%;max-width:300px}@media (min-width:768px){#message-frame,#success-frame{height:100%}}.booking-header-bar{padding:15px 0;margin:0;background:#f3f2e7;border-bottom:1px solid #e4e1c9;text-align:center}.ui-dialog .ui-dialog-title{font-size:1.2em}@media (min-width:768px){.booking-header-bar{padding:15px 0;margin:0;background:#f3f2e7;border-bottom:1px solid #e4e1c9;text-align:left}}