.appointment-page-shell{--green:#103f2f;--dark:#082b20;--sage:#e9f0eb;--gold:#b58b45;--line:rgba(16,63,47,.13);padding:clamp(58px,8vw,108px) 24px;scroll-margin-top:110px}.appointment-page-shell .appointment-container{max-width:1120px;border:1px solid var(--line);border-radius:30px;background:#fffdf8;box-shadow:0 35px 90px #07261b24}.appointment-page-shell .appointment-header{padding:clamp(38px,5vw,62px) 30px clamp(32px,4vw,48px);background:radial-gradient(circle at 88% 10%,rgba(218,185,112,.2),transparent 28%),linear-gradient(135deg,#071f17,#14523b)}.appointment-page-shell .appointment-header:before{content:"PERSONAL WELLNESS CONSULTATION";display:block;margin-bottom:14px;color:#dfc17b;font-size:10px;font-weight:800;letter-spacing:.22em}.appointment-page-shell .appointment-header h1{max-width:720px;margin-inline:auto;font-family:var(--font-heading-family,Georgia,serif);font-size:clamp(32px,4vw,50px);font-weight:500;letter-spacing:-.035em}.appointment-page-shell .appointment-header p{max-width:620px;margin:10px auto 0;line-height:1.65}.appointment-page-shell .step-indicator{justify-content:center;gap:clamp(36px,10vw,126px);padding:25px 24px;background:#f1f6f2}.appointment-page-shell .step:not(:last-child):after{top:19px;right:calc(clamp(36px,10vw,126px)*-.75);width:clamp(48px,9vw,118px);background:#d5e2d8}.appointment-page-shell .step-circle{width:38px;height:38px;border:1px solid var(--line)}.appointment-page-shell .step.completed .step-circle,.appointment-page-shell .step.completed:not(:last-child):after{background:var(--gold);color:#fff}.appointment-page-shell .step.active .step-circle{transform:scale(1.08)}.appointment-page-shell .step-content{padding:clamp(34px,5vw,62px)}.appointment-page-shell .step-title{margin-bottom:34px;color:var(--green);font-family:var(--font-heading-family,Georgia,serif);font-size:clamp(27px,3vw,36px)}.appointment-page-shell .date-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:25px}.appointment-page-shell .date-tab{max-width:none;min-width:0;min-height:104px;display:flex;flex-direction:column;justify-content:center;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fbfaf5;color:#42594f;box-shadow:none}.appointment-page-shell .date-tab:hover{transform:translateY(-2px);border-color:#8fb09b;background:#f3f7f3}.appointment-page-shell .date-tab.active{position:relative;transform:translateY(-2px);border-color:var(--green);background:var(--green);box-shadow:0 12px 28px #0d382a2e}.appointment-page-shell .date-tab.active:not(.date-tab-custom):after{content:"\2713";position:absolute;top:9px;right:11px;color:#e1c57f}.appointment-page-shell #custom-input{height:40px;border-color:#103f2f33;text-align:center}.appointment-page-shell .date-tab-custom.active #custom-input{background:#fff;color:var(--dark)}.appointment-page-shell .slots-container{margin-top:0;padding:clamp(20px,3vw,30px);border:1px solid var(--line);border-radius:17px;background:var(--sage);box-shadow:none}.appointment-page-shell .slots-header{padding-bottom:16px;border-bottom:1px solid var(--line)}.appointment-page-shell .slots-title{color:var(--green);font-size:15px}.appointment-page-shell #selected-date{padding:6px 11px;border-radius:999px;background:#fff;color:#5c7067;font-size:12px}.appointment-page-shell .slots-scroll{overflow:visible;padding:0}.appointment-page-shell .slots{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:17px 0 0}.appointment-page-shell .slots button{min-width:0;padding:11px 7px;border-color:var(--line);color:var(--green);box-shadow:none}.appointment-page-shell .slots button:hover{transform:translateY(-2px);border-color:var(--green);background:#fff}.appointment-page-shell .slots button.active{box-shadow:0 7px 18px #0d382a29}.appointment-page-shell .navigation-buttons{justify-content:flex-end;margin-top:28px}.appointment-page-shell .navigation-buttons .btn{flex:0 1 190px;border-radius:999px}.appointment-page-shell .btn-secondary{border-color:var(--line);background:transparent;color:var(--green)}.appointment-page-shell .appointment-step-two{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr);gap:22px;padding:0;background:transparent}.appointment-page-shell .card{padding:clamp(22px,3vw,32px);border:1px solid var(--line);box-shadow:0 12px 35px #092b1e0f}.appointment-page-shell .card:hover{transform:none}.appointment-page-shell .appointment-card{background:var(--sage)}.appointment-page-shell .mobile-entry-card,.appointment-page-shell .patient-form{background:#fff}.appointment-page-shell .appointment-header-card{color:var(--green)}.appointment-page-shell .appointment-header-card i,.appointment-page-shell .datetime-row i,.appointment-page-shell .hospital-info a{color:var(--gold)}.appointment-page-shell :is(.form-group input,.patient-form input,.patient-form select){border-color:var(--line);background:#fdfcf8}.appointment-page-shell .continue-btn,.appointment-page-shell .pay-button{border-radius:999px;box-shadow:0 12px 25px #0d382a26}@media(max-width:820px){.appointment-page-shell .slots{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-page-shell .appointment-step-two{grid-template-columns:1fr}}.appointment-page-shell .date-tab-custom #custom-trigger{min-height:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}.appointment-page-shell .date-tab-custom #custom-trigger:after{content:"  \2197";color:var(--gold)}.booking-calendar{max-width:620px;margin:-8px auto 28px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fffdf8;box-shadow:0 22px 55px #07261b1f;animation:calendarReveal .22s ease-out}@keyframes calendarReveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.booking-calendar__header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:18px}.booking-calendar__header strong{text-align:center;color:var(--green);font-family:var(--font-heading-family,Georgia,serif);font-size:21px;font-weight:600}.booking-calendar__header button{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--sage);color:var(--green);font-size:25px;cursor:pointer}.booking-calendar__header button:hover{border-color:var(--green);background:var(--green);color:#fff}.booking-calendar__header button:last-child{justify-self:end}.booking-calendar__weekdays,.booking-calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.booking-calendar__weekdays{margin-bottom:8px;color:#71837a;font-size:10px;font-weight:750;letter-spacing:.06em;text-align:center;text-transform:uppercase}.booking-calendar__days button,.booking-calendar__days span{display:grid;place-items:center;aspect-ratio:1;min-height:42px;border:0;border-radius:11px;background:transparent;color:#29463a;font:inherit;font-size:13px}.booking-calendar__days button{cursor:pointer}.booking-calendar__days button:hover{background:var(--sage);color:var(--green)}.booking-calendar__days button.is-today{box-shadow:inset 0 0 0 1px var(--gold);color:var(--green);font-weight:700}.booking-calendar__days button.is-selected{background:var(--green);color:#fff;box-shadow:0 8px 18px #0d382a33}.booking-calendar__days button:disabled{cursor:not-allowed;color:#b8c1bc;text-decoration:line-through;background:transparent}.booking-calendar__note{display:flex;align-items:center;justify-content:center;gap:7px;margin:17px 0 0;padding-top:14px;border-top:1px solid var(--line);color:#708178;font-size:11px}.booking-calendar__note span{width:7px;height:7px;border-radius:50%;background:#c7d2cc}@media(max-width:600px){.appointment-page-shell{padding:38px 12px}.appointment-page-shell .appointment-container{border-radius:20px}.appointment-page-shell .appointment-header{padding:38px 20px 32px}.appointment-page-shell .step-indicator{gap:12px;justify-content:space-between}.appointment-page-shell .step{flex:1;padding:0 2px}.appointment-page-shell .step:not(:last-child):after{right:-20px;width:40px}.appointment-page-shell .step-content{padding:29px 16px 34px}.appointment-page-shell .date-tabs{grid-template-columns:1fr 1fr}.appointment-page-shell .date-tab-custom{grid-column:1/-1;min-height:115px}.appointment-page-shell .slots{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-page-shell .slots-header{align-items:flex-start;flex-direction:column;gap:9px}.appointment-page-shell .navigation-buttons{display:grid;grid-template-columns:1fr 1fr}.appointment-page-shell .navigation-buttons .btn{width:100%}}@media(max-width:480px){.booking-calendar{padding:15px 10px;border-radius:16px}.booking-calendar__weekdays,.booking-calendar__days{gap:2px}.booking-calendar__days button,.booking-calendar__days span{min-height:38px;border-radius:9px}.booking-calendar__weekdays{font-size:9px}}html:has(.appointment-page-shell){scroll-behavior:smooth}.appointment-page-shell{padding:28px 24px 48px}.appointment-page-shell .appointment-header{padding:22px 28px 20px}.appointment-page-shell .appointment-header:before{margin-bottom:7px;font-size:9px}.appointment-page-shell .appointment-header h1{font-size:clamp(28px,3vw,38px)}.appointment-page-shell .appointment-header p{margin-top:5px;font-size:13px;line-height:1.45}.appointment-page-shell .step-indicator{padding:13px 20px}.appointment-page-shell .step-circle{width:32px;height:32px}.appointment-page-shell .step:not(:last-child):after{top:16px}.appointment-page-shell .step-label{font-size:11px}.appointment-page-shell .step-content{padding:22px 36px 25px}.appointment-page-shell .step-title{margin-bottom:17px;padding-bottom:10px;font-size:clamp(23px,2.5vw,29px)}.appointment-page-shell .date-tabs{gap:10px;margin-bottom:14px}.appointment-page-shell .date-tab{min-height:74px;padding:10px 13px;border-radius:12px;font-size:13px}.appointment-page-shell .date-tab small{margin-top:3px;font-size:10px}.appointment-page-shell #custom-input{height:32px;min-height:32px;margin-top:4px}.appointment-page-shell .slots-container{padding:15px 20px}.appointment-page-shell .slots-header{margin-bottom:0;padding-bottom:9px}.appointment-page-shell .slots{gap:7px;padding-top:10px}.appointment-page-shell .slots button{min-height:36px;padding:7px 5px;font-size:12px}.appointment-page-shell .navigation-buttons{margin-top:16px}.appointment-page-shell .navigation-buttons .btn{min-height:43px;padding:10px 18px}.appointment-page-shell .appointment-step-two{gap:16px}.appointment-page-shell .card{padding:22px}.appointment-page-shell .booking-calendar{margin-bottom:15px;padding:15px}.appointment-page-shell .booking-calendar__days button,.appointment-page-shell .booking-calendar__days span{min-height:35px}@media(min-width:821px)and (min-height:700px){.appointment-page-shell .appointment-container,.appointment-page-shell #step-1.active{min-height:0}}@media(max-width:600px){.appointment-page-shell{padding:20px 10px 34px}.appointment-page-shell .appointment-header{padding:25px 16px 22px}.appointment-page-shell .appointment-header h1{font-size:29px}.appointment-page-shell .step-indicator{padding:12px 8px}.appointment-page-shell .step-content{padding:20px 14px 24px}.appointment-page-shell .date-tab{min-height:68px}.appointment-page-shell .date-tab-custom{min-height:92px}.appointment-page-shell .slots-container{padding:14px}.appointment-page-shell .slots button{min-height:40px}}html.booking-calendar-open,html.booking-calendar-open body{overflow:hidden}.booking-calendar-backdrop{position:fixed;z-index:2998;top:0;right:0;bottom:0;left:0;background:#041811ab;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:calendarFade .2s ease}.booking-calendar-backdrop[hidden]{display:none}.booking-calendar{position:fixed;z-index:2999;top:50%;left:50%;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 40px);margin:0;padding:26px;overflow:auto;transform:translate(-50%,-50%);border:1px solid rgba(181,139,69,.28);border-radius:24px;background:#fffdf8;box-shadow:0 38px 100px #02170f66;animation:calendarModal .25s cubic-bezier(.2,.8,.2,1)}.booking-calendar[hidden]{display:none}.booking-calendar__close{position:absolute;z-index:2;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:0;border:1px solid var(--line);border-radius:50%;background:#f1f5f1;color:var(--green);font-size:23px;line-height:1;cursor:pointer}.booking-calendar__close:hover{background:var(--green);color:#fff}.booking-calendar .booking-calendar__header{padding:5px 42px 0}.booking-calendar .booking-calendar__days button,.booking-calendar .booking-calendar__days span{min-height:48px}@keyframes calendarFade{0%{opacity:0}to{opacity:1}}@keyframes calendarModal{0%{opacity:0;transform:translate(-50%,-46%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:520px){.booking-calendar{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:20px 12px;border-radius:19px}.booking-calendar .booking-calendar__header{padding:8px 36px 0}.booking-calendar .booking-calendar__days button,.booking-calendar .booking-calendar__days span{min-height:40px}}.appointment-page-shell .pay-button-confirm{height:auto;min-height:64px;padding:9px 14px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(135deg,#0b3628,#15543d);box-shadow:0 16px 32px #082d2133}.appointment-page-shell .pay-button-confirm:hover{transform:translateY(-2px);background:linear-gradient(135deg,#082d21,#124a36);box-shadow:0 20px 38px #082d2142}.appointment-page-shell .pay-button-confirm .default-text{display:grid;grid-template-columns:42px 1fr 28px;align-items:center;gap:11px;width:100%;text-align:left}.appointment-page-shell .pay-button-lock{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e0c27b29;color:#e0c27b}.appointment-page-shell .pay-button-lock svg{width:19px}.appointment-page-shell .pay-button-copy small,.appointment-page-shell .pay-button-copy strong{display:block}.appointment-page-shell .pay-button-copy small{margin-bottom:3px;color:#ffffff9e;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.appointment-page-shell .pay-button-copy strong{color:#fff;font-size:13px;line-height:1.35}.appointment-page-shell .pay-button-arrow{color:#e0c27b;font-size:20px;transition:transform .2s}.appointment-page-shell .pay-button-confirm:hover .pay-button-arrow{transform:translate(3px)}.appointment-page-shell .pay-button-confirm.loading{pointer-events:none;opacity:.88}.appointment-page-shell .appointment-fee-note{margin-top:12px!important;padding:12px 14px!important;border-color:var(--line)!important;background:#f8f4ea!important;color:#66776f!important;font-size:11px!important;line-height:1.6!important;text-align:center}
/*# sourceMappingURL=/cdn/shop/t/21/assets/book-appointment-enhanced.css.map */
