.booking-modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:var(--background-overlay);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);justify-content:center;align-items:center;padding:20px}.booking-modal.active{display:flex}.booking-modal-content{background-color:var(--white-color);margin:auto;padding:var(--space-2xl);border-radius:var(--radius-xl);width:100%;max-width:650px;box-shadow:var(--shadow-xl);position:relative;max-height:90vh;overflow-y:auto;animation:modalSlideUp 0.5s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalSlideUp{from{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.booking-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:2px solid var(--secondary-color)}.booking-modal-header h3{color:var(--primary-color);font-size:1.75rem;margin:0;font-family:var(--accent-font);font-weight:700;position:relative}.booking-modal-header h3::after{content:'';position:absolute;bottom:-22px;right:0;width:60px;height:5px;background:var(--accent-color);border-radius:var(--radius-sm)}.modal-price-tag{margin-top:var(--space-sm);font-size:var(--font-size-md);font-weight:700;color:var(--accent-color);background:rgb(224 197 124 / .1);display:inline-block;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm)}.close-modal{width:45px;height:45px;background:var(--secondary-color);color:var(--primary-color);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);cursor:pointer;transition:var(--transition-default)}.close-modal:hover{background:var(--accent-color);color:var(--white-color);transform:rotate(90deg)}.booking-modal label{display:block;margin-bottom:var(--space-sm);font-weight:700;color:var(--primary-color);font-family:var(--default-font);font-size:.9375rem}.booking-modal .form-control{border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);border:2px solid var(--secondary-color);font-family:var(--default-font);width:100%;background-color:var(--secondary-color);transition:var(--transition-default);color:var(--primary-color);font-weight:400}.booking-modal .form-control:focus{border-color:var(--accent-color);outline:none;background-color:var(--white-color);box-shadow:var(--shadow-focus)}.btn-whatsapp-submit{width:100%;background:var(--primary-color);color:var(--white-color);border:none;padding:var(--space-lg);border-radius:var(--radius-lg);font-size:var(--font-size-lg);font-weight:700;display:flex;align-items:center;justify-content:center;gap:12px;transition:var(--transition-smooth);cursor:pointer;font-family:var(--accent-font);box-shadow:var(--shadow-primary-sm)}.btn-whatsapp-submit i{font-size:var(--font-size-2xl);color:#25D366}.btn-whatsapp-submit:hover{background:var(--accent-color);transform:translateY(-5px);box-shadow:var(--shadow-accent-hover)}.service-content-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.btn-book-popup.added-to-cart{background:#25D366!important;border-color:#25D366!important}.btn-book-popup.added-to-cart::after{background-color:#128c7e!important;background-image:url(https://swanclinicsa.com/wp-content/plugins/elites360-booking/assets/images/check-white.svg)!important;transform:translateY(-50%) scale(1)!important}@media (max-width:768px){.booking-modal{padding:0}.booking-modal-content{padding:30px 20px;border-radius:0;height:100%;max-height:100vh;display:flex;flex-direction:column}.booking-modal-header h3{font-size:var(--font-size-lg)}#popupBookingForm{flex:1;display:flex;flex-direction:column}.btn-whatsapp-submit{margin-top:auto!important;margin-bottom:20px}.sticky-booking-bar.active{display:none}}.date-slot-wrapper,.time-slot-wrapper{margin-top:10px}.date-slot-grid,.time-slot-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:12px;padding:10px 5px;scrollbar-width:thin;scrollbar-color:var(--accent-color,#e0c57c) #fff0;-webkit-overflow-scrolling:touch}.date-slot-grid::-webkit-scrollbar,.time-slot-grid::-webkit-scrollbar{height:6px;width:6px}.date-slot-grid::-webkit-scrollbar-thumb,.time-slot-grid::-webkit-scrollbar-thumb{background-color:var(--accent-color,#e0c57c);border-radius:var(--radius-sm)}.date-chip,.time-slot-chip{flex:0 0 auto;background:var(--secondary-color);border:2px solid var(--secondary-color);padding:12px 18px;text-align:center;border-radius:var(--radius-lg);cursor:pointer;font-weight:700;transition:all 0.4s cubic-bezier(.175,.885,.32,1.275);color:var(--primary-color);font-size:var(--font-size-sm);user-select:none;min-width:110px;animation:chipEntrance 0.5s ease backwards}@keyframes chipEntrance{from{opacity:0;transform:translateY(15px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.date-chip:nth-child(1),.time-slot-chip:nth-child(1){animation-delay:0.05s}.date-chip:nth-child(2),.time-slot-chip:nth-child(2){animation-delay:0.1s}.date-chip:nth-child(3),.time-slot-chip:nth-child(3){animation-delay:0.15s}.date-chip:nth-child(4),.time-slot-chip:nth-child(4){animation-delay:0.2s}.date-chip:nth-child(5),.time-slot-chip:nth-child(5){animation-delay:0.25s}.date-chip:nth-child(6),.time-slot-chip:nth-child(6){animation-delay:0.3s}.date-chip:nth-child(7),.time-slot-chip:nth-child(7){animation-delay:0.35s}.date-chip:nth-child(8),.time-slot-chip:nth-child(8){animation-delay:0.4s}.date-chip:nth-child(9),.time-slot-chip:nth-child(9){animation-delay:0.45s}.date-chip:nth-child(10),.time-slot-chip:nth-child(10){animation-delay:0.5s}.date-chip:nth-child(n+11),.time-slot-chip:nth-child(n+11){animation-delay:0.6s}.date-chip:hover,.time-slot-chip:hover{background:var(--white-color);border-color:var(--accent-color);transform:translateY(-5px);box-shadow:var(--shadow-md)}.date-chip.active,.time-slot-chip.active{background:var(--accent-color)!important;color:var(--white-color)!important;border-color:var(--accent-color)!important;box-shadow:var(--shadow-accent)}.time-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));flex-wrap:wrap;overflow-x:hidden;overflow-y:auto;max-height:250px}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slots-loading{text-align:center;padding:20px;color:var(--accent-color,#e0c57c);font-style:italic}.booking-summary-block{background:var(--secondary-color);border:1px solid var(--divider-color);border-radius:var(--radius-xl);padding:25px;margin:var(--space-sm) 0 25px;animation:fadeIn 0.4s ease}.summary-header h4{color:var(--accent-color);font-size:var(--font-size-base);font-weight:700;margin:0 0 var(--space-md) 0;font-family:var(--default-font)}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;color:var(--primary-color);font-weight:700}.summary-item .item-name{display:flex;align-items:center;gap:10px}.summary-item .remove-item{color:var(--error-color);cursor:pointer;font-size:var(--font-size-sm);transition:transform 0.2s ease}.summary-item .remove-item:hover{transform:scale(1.2)}.summary-divider{border:none;border-top:1px dashed #cedae8;margin:15px 0}.summary-total{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--primary-color);font-size:var(--font-size-md)}.summary-total .total-amount{color:var(--accent-color);font-size:1.625rem;font-family:var(--accent-font)}@media (max-width:768px){.date-slot-grid,.time-slot-grid{padding:5px 5px}.date-chip,.time-slot-chip{padding:5px 10px;min-width:80px;font-size:var(--font-size-xs)}}