.booking-confirmation{text-align:center;padding:2rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;margin-top:1rem;animation:slideIn .5s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.success-icon{font-size:4rem;color:#28a745;margin-bottom:1rem;animation:bounce 1s ease-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.booking-confirmation h3{color:#28a745;margin-bottom:.5rem;font-size:1.8rem}.payment-summary{background:#fff;padding:1.5rem;border-radius:8px;margin:1.5rem 0;text-align:left;border-left:4px solid #007bff;box-shadow:0 2px 8px #0000001a}.timer-container{margin:2rem 0;padding:1.5rem;background:#fffffff2;border-radius:12px;box-shadow:0 4px 15px #0000001a;border:2px solid #ffc107}.countdown-timer{font-size:3.5rem;font-weight:700;color:#dc3545;margin:1rem 0;font-family:Courier New,monospace;text-shadow:2px 2px 4px rgba(0,0,0,.1);transition:color .3s ease}.timer-bar{width:100%;height:12px;background-color:#e9ecef;border-radius:6px;overflow:hidden;margin:1rem 0;box-shadow:inset 0 2px 4px #0000001a}.timer-progress{height:100%;background:linear-gradient(90deg,#28a745,#ffc107,#dc3545);width:100%;transition:width 1s linear;border-radius:6px}.timer-urgent .countdown-timer{color:#dc3545;animation:pulse 1s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.mp-payment-container{margin:2rem 0;min-height:80px;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;border:2px dashed #007bff;position:relative}.mp-payment-container:empty:before{content:"Generando botón de pago...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;font-style:italic}.btn-cancel{background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;margin-top:1rem;transition:all .3s ease;font-size:1rem}.btn-cancel:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.loading-button{position:relative}.loading-button:disabled{opacity:.7;cursor:not-allowed}.loading-button .fas.fa-spinner{animation:spin 1s linear infinite}@media (max-width: 768px){.countdown-timer{font-size:2.5rem}.booking-confirmation,.timer-container{padding:1rem}.success-icon{font-size:3rem}}.payment-summary h4{color:#007bff;margin-bottom:1rem;border-bottom:2px solid #e9ecef;padding-bottom:.5rem}.payment-summary p{margin:.5rem 0;font-size:1.1rem}.payment-summary p:last-child{margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.admin-clickable{cursor:pointer!important;border:2px solid #ffc107}.admin-clickable:hover{background-color:#fff3cd!important;transform:translateY(-2px);box-shadow:0 4px 8px #ffc1074d!important}.admin-actions-container{margin-top:2rem;padding:2rem;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-radius:12px;border:2px solid #ffc107;box-shadow:0 4px 15px #ffc10733}.admin-actions h4{color:#856404;margin-bottom:1rem;text-align:center;font-size:1.3rem}.admin-actions p{text-align:center;margin-bottom:1.5rem;color:#333;font-size:1.1rem}.admin-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-danger{background:#dc3545;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-danger:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 4px 8px #dc35454d}.confirmation-content{text-align:center}.warning-message{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.warning-message i{color:#856404;font-size:2rem;margin-bottom:.5rem}.warning-message p{color:#856404;font-size:1.2rem;font-weight:700;margin:0}.booking-summary{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;text-align:left;border:1px solid #e9ecef}.booking-summary h4{color:#495057;margin-bottom:1rem;text-align:center}.booking-summary p{margin:.5rem 0;color:#495057}.refund-warning{background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;padding:.75rem;margin-top:1rem;color:#155724;font-weight:700}.refund-warning i{color:#28a745;margin-right:.5rem}.confirmation-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:12px}.status-pending_payment{color:#ffc107;font-weight:700}.status-confirmed{color:#28a745;font-weight:700}.status-cancelled{color:#dc3545;font-weight:700}#admin-booking-info{background:#e7f3ff;border-left:4px solid #007bff;padding:1rem;margin:1rem 0;border-radius:4px}#admin-booking-info p{margin:.3rem 0;font-size:.95rem}@media (max-width: 768px){.admin-buttons{flex-direction:column;align-items:center}.btn-secondary,.btn-danger{width:100%;max-width:250px}.confirmation-buttons{flex-direction:column;align-items:center}}.contact-map iframe{border:0}#booking-success{display:none}.booking-success-icon{margin-right:.5rem;color:#28a745}.booking-success-text{color:#000}.timer-container-inline{text-align:center;margin-top:15px;padding:10px;background:#f8f9fa;border-radius:6px;color:#000;border:1px solid red}.timer-text{margin:5px 0;color:#333;font-weight:700}.countdown-timer-inline{font-size:24px;color:#dc3545;font-weight:700}.btn-mercadopago{background-color:#009ee3;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #009ee34d}.btn-mercadopago:hover:not(:disabled){background-color:#007bb5;transform:translateY(-2px);box-shadow:0 4px 12px #009ee366}.btn-mercadopago:disabled{opacity:.7;cursor:not-allowed}.mp-connected-badge{background-color:#4caf5026;color:#2e7d32;padding:12px 20px;border-radius:8px;display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500;border:1px solid rgba(76,175,80,.3);animation:fadeIn .5s ease-out}.mp-connected-badge i{font-size:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.error-message{text-align:center;padding:30px;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;margin:20px 0;color:#721c24}.error-message i{font-size:2rem;margin-bottom:15px;color:#dc3545}.error-message h4{margin-bottom:10px;color:#721c24}.error-message p{margin-bottom:20px;color:#856404}.no-fields-message{display:flex;justify-content:center;align-items:center;min-height:200px;padding:20px}.field-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px}.field-item{display:flex;flex-direction:column;background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;padding:24px;transition:transform .3s ease,box-shadow .3s ease;border:1px solid #e0e0e0}.field-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.field-item h4{color:#1e3a8a;margin-bottom:8px;font-size:1.2rem;font-weight:600}.field-item p{color:#6b7280;margin-bottom:16px;font-size:.95rem;line-height:1.4}.field-details{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-top:12px;border-top:1px solid #f0f0f0}.field-type{background-color:#dbeafe;color:#1e40af;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.field-price{color:#059669;font-weight:600;font-size:1rem}.field-item .btn-secondary{width:100%;padding:12px;background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease}.field-item .btn-secondary:hover{background:linear-gradient(135deg,#1e40af,#2563eb);transform:translateY(-1px)}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:20px}.time-slot{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:15px 10px;text-align:center;cursor:pointer;transition:all .2s ease}.time-slot.available:hover{background-color:#e9f7ef;border-color:#2c5530}.time-slot.selected{background-color:#e6bfc3!important;border-color:#2c5530;opacity:1}.time-slot.occupied{background-color:#f8d7da!important;color:#721c24;cursor:not-allowed;opacity:.7}.time-slot.occupied-admin:hover{border-color:#d94c5a}.time-slot .time{display:block;font-size:1.1rem;font-weight:700;margin-bottom:5px}.time-slot .status{display:block;font-size:.8rem;color:#666}.time-slot.past-admin{background:#f5f5f5;border-color:#ccc;color:#999}.timer-slot-admin{cursor:pointer!important}.time-slot .price{display:none}.loading{text-align:center;padding:20px;color:#666;font-style:italic}.error{text-align:center;padding:20px;color:#721c24;background-color:#f8d7da;border-radius:8px}.no-slots{text-align:center;padding:20px;color:#666;font-style:italic}.booking-details{background-color:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:20px}.booking-details p{margin-bottom:10px}.form-group{margin-bottom:20px}.admin-status{position:fixed;bottom:20px;right:20px;background-color:#2c5530;color:#fff;padding:8px 12px;border-radius:50px;font-size:.9rem;box-shadow:0 2px 10px #0003;z-index:1000}.booking-confirmation{text-align:center;padding:20px;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:12px;color:#fff;margin-top:15px}.timer-container{margin-bottom:25px}.timer-container h3{margin-bottom:10px;font-size:1.4rem;font-weight:600}.timer-container p{margin-bottom:15px;font-size:1.1rem}#countdown-timer{font-weight:700;font-size:1.3rem;background:#fff3;padding:5px 10px;border-radius:6px;display:inline-block}.timer-bar{width:100%;height:8px;background-color:#ffffff4d;border-radius:4px;overflow:hidden;margin-bottom:20px}.timer-progress{height:100%;background:linear-gradient(90deg,#fff,#f0f0f0);border-radius:4px;transition:width 1s linear;width:100%}#mp-payment-container{display:flex;justify-content:center;align-items:center;min-height:60px}@keyframes urgentPulse{0%,to{opacity:1}50%{opacity:.7}}.timer-urgent #countdown-timer{animation:urgentPulse 1s infinite;background:#ffc107e6;color:#000}.timer-urgent .timer-progress{background:linear-gradient(90deg,#ff6b6b,#ff8787)}.btn-loading{opacity:.7;cursor:not-allowed;position:relative}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;margin:auto;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;inset:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.booking-confirmation{padding:15px;margin-top:10px}.timer-container h3{font-size:1.2rem;margin-bottom:8px}.timer-container p{font-size:1rem;margin-bottom:12px}#countdown-timer{font-size:1.1rem;padding:4px 8px}.timer-bar{margin-bottom:15px}}.test-mp-corner{position:fixed;bottom:20px;right:20px;background:#fff;padding:10px;border-radius:8px;box-shadow:0 4px 15px #0003;font-size:11px;z-index:9999;max-width:200px}.test-mp-corner p{margin:0 0 8px;font-weight:700;color:#333}@media (max-width: 768px){.test-mp-corner{bottom:10px;right:10px;padding:8px;font-size:10px;max-width:150px}}.payment-summary p{margin:5px 0;font-size:.9rem;color:#333}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,sans-serif;line-height:1.6;color:#333;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{position:fixed;top:0;width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;box-shadow:0 2px 20px #0000001a}.navbar{padding:1rem 0}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center;font-size:1.5rem;font-weight:700;color:#2c5530}.nav-logo i{margin-right:10px;color:#4caf50}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-menu a{text-decoration:none;color:#333;font-weight:500;transition:color .3s ease}.nav-menu a:hover{color:#4caf50}.nav-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer}.bar{width:25px;height:3px;background:#333;margin:3px 0;transition:.3s}.hero{min-height:100vh;display:flex;align-items:center;background:linear-gradient(135deg,#0c1150,#717cff);color:#fff;padding:120px 20px 80px}.hero-container{display:flex;align-items:center;gap:3rem;max-width:1200px;margin:0 auto;flex-wrap:wrap}@media (max-width: 768px){.hero-container{max-width:none}.hero-image{flex:auto}}.hero-content{flex:1;max-width:600px;z-index:2}.hero h1{font-size:3.5rem;margin-bottom:1rem;font-weight:700;line-height:1.2}.hero p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.hero-image{flex:1;text-align:center}@media (max-width: 768px){.hero-image{flex:auto}}.hero-image img{max-width:100%;height:auto;border-radius:20px;box-shadow:0 20px 40px #0000004d}.btn-primary{background:linear-gradient(45deg,#ff6b35,#f7931e);color:#fff;border:none;padding:15px 30px;font-size:1.1rem;border-radius:50px;cursor:pointer;transition:all .3s ease;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:10px}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 25px #ff6b3566}.btn-danger{background:linear-gradient(45deg,#dc3545,#c82333);color:#fff;border:none;padding:12px 20px;font-size:.95rem;border-radius:50px;cursor:pointer;transition:all .3s ease;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn-danger:hover{background:linear-gradient(45deg,#c82333,#a71e2a);transform:translateY(-2px);box-shadow:0 8px 20px #dc354566}.about{padding:100px 0;background:#f8f9fa}.about h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#2c5530}.about-content{display:flex;flex-direction:column;padding:0 80px;gap:37px}@media (max-width: 768px){.about-content{padding:0 20px}}.about-text p{margin-bottom:1.5rem;font-size:1.1rem;line-height:1.8}.stats{display:flex;gap:2rem;margin-top:2rem}.stat{text-align:center}.stat h3{font-size:2.5rem;color:#4caf50;font-weight:700}.stat p{color:#666;font-weight:500}.about-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.about-images img{width:100%;height:200px;object-fit:cover;border-radius:15px;transition:transform .3s ease}.about-images img:hover{transform:scale(1.05)}.facilities{padding:100px 0}.facilities h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#2c5530}.facilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.facility-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #0000001a;transition:transform .3s ease}.facility-card:hover{transform:translateY(-10px)}.facility-card img{width:100%;height:200px;object-fit:cover}.facility-info{padding:1.5rem}.facility-info h3{color:#2c5530;margin-bottom:.5rem}.contact{padding:100px 0;background:#f8f9fa}.contact h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#2c5530}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-item{display:flex;align-items:center;margin-bottom:2rem}.contact-item i{font-size:1.5rem;color:#4caf50;margin-right:1rem;width:30px}.contact-item h4{color:#2c5530;margin-bottom:.5rem}.contact-map iframe{border-radius:15px}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background-color:#fff;margin:5% auto;padding:0;border-radius:15px;width:85%;max-width:650px;max-height:85vh;overflow-y:auto;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.modal-header h2{color:#2c5530;margin:0;font-size:1.4rem}.close{color:#aaa;font-size:1.5rem;font-weight:700;cursor:pointer;transition:color .3s ease}.close:hover{color:#333}.session-expired-dialog::backdrop{background:#0f172aad;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.session-expired-dialog{width:min(100%,430px);box-sizing:border-box;padding:2rem;border:0;border-radius:18px;background:#fff;box-shadow:0 24px 64px #0f172a47;text-align:center;animation:modalSlideIn .25s ease}.session-expired-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 1.25rem;border-radius:50%;background:#eaf4ec;color:#2c5530;font-size:1.35rem}.session-expired-dialog h2{margin:0;color:#1f2937;font-size:1.5rem}.session-expired-dialog p{margin:.75rem 0 1.75rem;color:#5f6b7a;line-height:1.55}.session-expired-action{width:100%;min-height:48px;border:0;border-radius:10px;background:#2c5530;color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.session-expired-action:hover{background:#214425}.session-expired-action:active{transform:translateY(1px)}.session-expired-action:focus-visible{outline:3px solid rgba(44,85,48,.3);outline-offset:3px}.calendar-container{padding:1.5rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-header h3{font-size:1.2rem;margin:0;color:#2c5530}.calendar-header button{background:#4caf50;color:#fff;border:none;padding:8px 12px;border-radius:50%;cursor:pointer;font-size:1rem;transition:background .3s ease}.calendar-header button:hover{background:#45a049}#calendar{display:block;margin-bottom:1.5rem}.calendar-header-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:.8rem}.calendar-header-day{text-align:center;font-weight:600;color:#666;padding:6px;font-size:.8rem}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:2px solid #eee;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:500;min-height:35px;font-size:.9rem}.calendar-day.available{border-color:#4caf50;color:#4caf50}.calendar-day.available:hover{background:#4caf50;color:#fff}.calendar-day.selected{background:#4caf50;color:#fff;border-color:#4caf50}.calendar-day.disabled{opacity:.3;cursor:not-allowed}.time-slots{margin-top:1.5rem}.time-slots h3{color:#2c5530;margin-bottom:1rem;font-size:1.1rem}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-bottom:1.5rem}.time-slot{padding:12px;border:2px solid #eee;border-radius:8px;text-align:center;cursor:pointer;transition:all .3s ease;font-weight:500;min-height:40px;display:flex;align-items:center;justify-content:center;font-size:.9rem}.time-slot.available{border-color:#4caf50;color:#4caf50}.time-slot.available:hover{background:#4caf50;color:#fff}.time-slot.occupied{background:#f5f5f5;color:#999;cursor:not-allowed}.time-slot.admin-cancelable{background:linear-gradient(45deg,#ffc107,#ffb300);color:#333!important;cursor:pointer!important;border:2px solid #ff9800;position:relative;font-weight:600}.time-slot.admin-cancelable:hover{background:linear-gradient(45deg,#ffb300,#ff9800);transform:translateY(-2px);box-shadow:0 4px 12px #ffc10766}.time-slot.admin-cancelable.selected{background:linear-gradient(45deg,#ff9800,#f57c00);color:#fff!important;border-color:#ff9800;box-shadow:0 0 0 3px #ff98004d}.time-slot.selected{background:#4caf50;color:#fff;border-color:#4caf50}.field-selection{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #eee}.field-selection h3{color:#2c5530;margin-bottom:1rem;font-size:1.1rem}.field-selection .time-slots-grid{margin-bottom:1rem}.field-selection .time-slot{min-height:50px;flex-direction:column;padding:8px}.field-selection .time-slot small{font-size:.75rem;opacity:.8;margin-top:3px}.field-selection-main{padding:1rem 0}.field-card{min-height:80px!important;flex-direction:column;padding:1rem;text-align:center}.field-name{font-weight:600;font-size:1rem;margin-bottom:.3rem}.field-description{font-size:.8rem;opacity:.7;margin-top:.3rem}.back-button{background:#f5f5f5;color:#666;border:none;padding:8px 12px;border-radius:50%;cursor:pointer;font-size:1rem;transition:all .3s ease}.back-button:hover{background:#e0e0e0;color:#333}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 1rem}.calendar-nav h4{margin:0;color:#2c5530;font-size:1.1rem}.calendar-nav button{background:#4caf50;color:#fff;border:none;padding:8px 12px;border-radius:50%;cursor:pointer;font-size:1rem;transition:background .3s ease}.calendar-nav button:hover{background:#45a049}.booking-form{padding:1.5rem}.booking-details{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.booking-details p{margin-bottom:.4rem;font-size:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;font-weight:600;color:#333;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:2px solid #eee;border-radius:6px;font-size:.9rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4caf50}#mercadopago-container{text-align:center;margin-top:1.5rem}#validate-and-pay{width:100%;margin-bottom:1rem}#mp-button-container{width:100%;min-height:50px}#mp-button-container iframe{width:100%!important;min-height:50px!important;border:none!important;border-radius:50px!important}.mercadopago-button{width:100%!important;max-width:none!important;border-radius:50px!important;font-weight:600!important;font-size:1.1rem!important;padding:15px 30px!important;transition:all .3s ease!important;border:none!important;display:block!important;margin:0 auto!important}.mercadopago-button:hover{transform:translateY(-2px)!important;box-shadow:0 8px 20px #007bff4d!important}#mp-button-container:empty:after{content:"Cargando botón de pago...";display:block;text-align:center;padding:15px;color:#666;font-style:italic}.footer{background:#2c5530;color:#fff;padding:3rem 0 1rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3,.footer-section h4{margin-bottom:1rem}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.5rem}.footer-section a{color:#ccc;text-decoration:none;transition:color .3s ease}.footer-section a:hover{color:#fff}.social-links{display:flex;gap:1rem;margin-top:1rem}.social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.337);border-radius:50%;transition:background .3s ease}.social-links a:hover{background:#45a049}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid #4CAF50;color:#ccc}.admin-logout{background:linear-gradient(45deg,#ff6b35,#f7931e)!important;color:#fff!important;padding:8px 15px!important;border-radius:20px!important;font-weight:600!important;transition:all .3s ease!important;cursor:pointer}.admin-logout:hover{transform:translateY(-2px)!important;box-shadow:0 5px 15px #ff6b3566!important}.admin-status{position:fixed;top:80px;right:20px;background:#4caf50e6;color:#fff;padding:8px 15px;border-radius:20px;font-size:.8rem;font-weight:600;z-index:1001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:none}@media (max-width: 768px){.nav-menu{position:fixed;top:0;left:0;transform:translateY(-100%);flex-direction:column;background-color:#fff;width:100%;text-align:center;transition:.3s;box-shadow:0 10px 27px #0000000d;padding:2rem 0}.nav-menu.active{transform:translateY(70px)}.nav-toggle{display:flex}.hero{flex-direction:column;text-align:center;padding:100px 20px 60px}.hero h1{font-size:2.5rem}.hero-content{margin-bottom:2rem}.about-content{grid-template-columns:1fr;gap:2rem}.stats{justify-content:center}.contact-content{grid-template-columns:1fr}.modal-content{margin:8% auto;width:92%;max-height:90vh}.calendar-container,.booking-form,.modal-header{padding:1rem}.modal-header h2{font-size:1.2rem}.calendar{gap:5px}.calendar-day{min-height:32px;font-size:.8rem}.calendar-header-day{padding:6px;font-size:.75rem}.time-slots-grid{grid-template-columns:repeat(auto-fit,minmax(85px,1fr));gap:6px}.time-slot{padding:10px 6px;font-size:.8rem;min-height:35px}.field-selection .time-slot{min-height:45px;padding:6px}.field-selection .time-slot small{font-size:.7rem}.field-card{padding:.5rem}.field-name{font-size:.9rem}.field-description{font-size:.7rem}}@media (max-width: 480px){.hero h1{font-size:2rem}.hero p{font-size:1rem}.about h2,.facilities h2,.contact h2{font-size:2rem}.stats{flex-direction:column;gap:1rem}.about-images{grid-template-columns:1fr}}.occupied-slot-actions{margin-top:1rem;display:flex;justify-content:center;gap:.75rem}.footer-icon{color:#fff!important}.hero-buttons{display:flex;flex-direction:column;gap:10px}.admin-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2c5530,#4caf50);padding:20px}.admin-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000004d;padding:3rem;width:100%;max-width:400px;text-align:center}.admin-logo{font-size:3rem;color:#4caf50;margin-bottom:1rem}.admin-title{font-size:1.8rem;color:#2c5530;margin-bottom:.5rem;font-weight:700}.admin-subtitle{color:#666;margin-bottom:2rem;font-size:1rem}.admin-form{text-align:left}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-group input{width:100%;padding:12px;border:2px solid #eee;border-radius:8px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#4caf50}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:44px}.password-visibility-button{position:absolute;top:50%;right:12px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;background:transparent;color:#666;cursor:pointer}.password-visibility-button:hover,.password-visibility-button:focus-visible{color:#2c5530}.password-visibility-button:focus-visible{outline:2px solid #4caf50;outline-offset:2px;border-radius:4px}.admin-btn{background:linear-gradient(45deg,#ff6b35,#f7931e);color:#fff;border:none;padding:15px 30px;font-size:1.1rem;border-radius:50px;cursor:pointer;transition:all .3s ease;font-weight:600;width:100%;margin-top:1rem}.admin-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #ff6b3566}.admin-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{background:#ffebee;color:#c62828;padding:10px;border-radius:8px;margin-top:1rem;font-size:.9rem}.success-message{background:#e8f5e9;color:#2e7d32;padding:10px;border-radius:8px;margin-top:1rem;font-size:.9rem}.back-to-site{margin-top:2rem;padding-top:2rem;border-top:1px solid #eee}.back-to-site a{color:#666;text-decoration:none;font-size:.9rem;transition:color .3s ease}.back-to-site a:hover{color:#4caf50}@media (max-width: 480px){.admin-card{padding:2rem;margin:10px}.admin-title{font-size:1.5rem}}.password-requirements{background:#f5f5f5;border-radius:8px;padding:1rem;margin-bottom:1.5rem;font-size:.85rem}.password-requirements p{margin:0 0 .5rem;color:#666;font-weight:600}.password-requirements ul{margin:0;padding-left:1.2rem;color:#888}.password-requirements li{margin-bottom:.25rem}.link-button{background:none;border:none;color:#666;text-decoration:none;font-size:.9rem;cursor:pointer;transition:color .3s ease;padding:0;font-family:inherit}.link-button:hover{color:#4caf50}.fields-management-container{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:2rem}.fields-management-container .fields-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.fields-management-container .header-left{display:flex;align-items:center;gap:1.5rem}.fields-management-container .back-link{color:#ffffffb3;text-decoration:none;font-size:.95rem;display:flex;align-items:center;gap:.5rem;transition:color .3s ease}.fields-management-container .back-link:hover{color:#fff}.fields-management-container h1{color:#fff;font-size:1.8rem;font-weight:700;margin:0}.fields-management-container .btn-new-field{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;border:none;padding:.75rem 1.5rem;font-size:1rem;border-radius:50px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #4caf504d}.fields-management-container .btn-new-field:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.fields-management-container .error-banner{background:#f4433626;border:1px solid rgba(244,67,54,.3);color:#ff6b6b;padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.fields-management-container .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#ffffffb3;gap:1rem;font-size:1.1rem}.fields-management-container .loading-container i{font-size:2rem;color:#4caf50}.fields-management-container .empty-state{text-align:center;padding:4rem 2rem;color:#ffffffb3}.fields-management-container .empty-state i{font-size:4rem;color:#fff3;margin-bottom:1.5rem}.fields-management-container .empty-state h2{color:#fff;font-size:1.5rem;margin-bottom:.5rem}.fields-management-container .empty-state p{margin-bottom:1.5rem}.fields-management-container .fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.fields-management-container .field-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;transition:all .3s ease}.fields-management-container .field-card:hover{transform:translateY(-4px);border-color:#4caf504d;box-shadow:0 12px 40px #0000004d}.fields-management-container .field-card-header{padding:1.25rem 1.5rem;background:#ffffff08;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.05)}.fields-management-container .field-card-header h3{color:#fff;font-size:1.15rem;font-weight:600;margin:0}.fields-management-container .field-type-badge{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;font-size:.75rem;padding:.35rem .75rem;border-radius:20px;font-weight:500}.fields-management-container .field-card-body{padding:1.25rem 1.5rem}.fields-management-container .field-price{display:flex;align-items:center;gap:.5rem;color:#4caf50;font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.fields-management-container .field-price i{font-size:1rem}.fields-management-container .field-description{color:#fff9;font-size:.9rem;line-height:1.5;margin:0}.fields-management-container .field-card-actions{display:flex;gap:.75rem;padding:1rem 1.5rem;background:#0003}.fields-management-container .btn-edit{flex:1;background:#ffffff1a;color:#fff;border:none;padding:.6rem 1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;transition:all .3s ease}.fields-management-container .btn-edit:hover{background:#fff3}.fields-management-container .btn-delete{background:#f4433626;color:#ff6b6b;border:none;padding:.6rem 1rem;border-radius:8px;cursor:pointer;transition:all .3s ease}.fields-management-container .btn-delete:hover:not(:disabled){background:#f443364d}.fields-management-container .btn-delete:disabled{opacity:.6;cursor:not-allowed}.fields-management-container .modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fields-management-container .modal-content{background:#1e1e2f;border-radius:20px;width:100%;max-width:480px;box-shadow:0 25px 50px #00000080;border:1px solid rgba(255,255,255,.1)}.fields-management-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.fields-management-container .modal-header h2{color:#fff;font-size:1.3rem;font-weight:600;margin:0}.fields-management-container .modal-close{background:#ffffff1a;border:none;color:#ffffffb3;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.fields-management-container .modal-close:hover{background:#fff3;color:#fff}.fields-management-container .modal-body{padding:1.5rem}.fields-management-container .modal-body .fm-form-group{margin-bottom:1.25rem}.fields-management-container .modal-body .fm-form-group label{display:block;color:#fffc;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.fields-management-container .modal-body .fm-form-group input,.fields-management-container .modal-body .fm-form-group select,.fields-management-container .modal-body .fm-form-group textarea{width:100%;padding:.75rem 1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.fields-management-container .modal-body .fm-form-group input:focus,.fields-management-container .modal-body .fm-form-group select:focus,.fields-management-container .modal-body .fm-form-group textarea:focus{outline:none;border-color:#4caf50;background:#ffffff1f}.fields-management-container .modal-body .fm-form-group input::placeholder,.fields-management-container .modal-body .fm-form-group textarea::placeholder{color:#fff6}.fields-management-container .modal-body .fm-form-group select{cursor:pointer}.fields-management-container .modal-body .fm-form-group select option{background:#1e1e2f;color:#fff}.fields-management-container .modal-body .fm-form-group textarea{resize:vertical;min-height:80px}.fields-management-container .modal-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.fields-management-container .btn-cancel{flex:1;background:#ffffff1a;color:#fffc;border:none;padding:.85rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.fields-management-container .btn-cancel:hover{background:#ffffff26}.fields-management-container .btn-save{flex:1;background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;border:none;padding:.85rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s ease}.fields-management-container .btn-save:hover:not(:disabled){box-shadow:0 4px 15px #4caf5066}.fields-management-container .btn-save:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 640px){.fields-management-container{padding:1rem}.fields-management-container .fields-management-header{flex-direction:column;align-items:stretch}.fields-management-container .header-left{flex-direction:column;align-items:flex-start;gap:.75rem}.fields-management-container .btn-new-field{justify-content:center}.fields-management-container .fields-grid{grid-template-columns:1fr}.fields-management-container .modal-content{margin:1rem}}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1c2824;background:#f5f7f4;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.booking-page{--booking-accent: #315c4c;--booking-accent-dark: #234538;--booking-accent-soft: #e8f1ed;--booking-highlight: #e7a851;--booking-ink: #17251f;--booking-muted: #68746f;--booking-line: #dde4e0;min-height:100vh;background:radial-gradient(circle at 8% 5%,rgba(49,92,76,.09),transparent 24rem),#f5f7f4;color:var(--booking-ink)}.booking-page.is-therapy{--booking-accent: #555e9c;--booking-accent-dark: #414978;--booking-accent-soft: #eff0f9;--booking-highlight: #d89b74;background:radial-gradient(circle at 8% 5%,rgba(85,94,156,.1),transparent 24rem),#f7f7fa}.booking-header{height:78px;border-bottom:1px solid rgba(25,45,36,.09);background:#ffffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.booking-header__inner,.booking-page__container{width:min(1180px,calc(100% - 40px));margin:0 auto}.booking-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between}.booking-brand{display:inline-flex;align-items:center;gap:12px;color:var(--booking-ink);text-decoration:none}.booking-brand>span:last-child{display:flex;flex-direction:column;line-height:1.25}.booking-brand strong{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem}.booking-brand small{color:var(--booking-muted);font-size:.73rem}.booking-brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--booking-accent);color:#fff;box-shadow:0 8px 20px #20453633}.booking-exit{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--booking-line);border-radius:10px;background:#fff;color:#52605a;cursor:pointer}.booking-page__container{padding:34px 0 26px}.booking-stepper{max-width:800px;display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0 auto 30px;padding:0}.booking-stepper__item{position:relative}.booking-stepper__item:not(:last-child):after{position:absolute;z-index:0;top:16px;left:calc(50% + 24px);right:calc(-50% + 24px);height:2px;background:#dbe1de;content:""}.booking-stepper__item.is-complete:not(:last-child):after{background:var(--booking-accent)}.booking-stepper__button{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:#8b958f}.booking-stepper__button:not(:disabled){cursor:pointer}.booking-stepper__number{width:34px;height:34px;display:grid;place-items:center;border:2px solid #dbe1de;border-radius:50%;background:#f5f7f4;font-size:.78rem;font-weight:800}.booking-stepper__item.is-complete .booking-stepper__number,.booking-stepper__item.is-current .booking-stepper__number{border-color:var(--booking-accent);background:var(--booking-accent);color:#fff}.booking-stepper__item.is-current .booking-stepper__number{box-shadow:0 0 0 5px var(--booking-accent-soft)}.booking-stepper__item.is-current .booking-stepper__label,.booking-stepper__item.is-complete .booking-stepper__label{color:var(--booking-ink);font-weight:700}.booking-stepper__label{font-size:.78rem}.booking-panel{min-height:580px;overflow:hidden;border:1px solid rgba(25,45,36,.08);border-radius:24px;background:#fffffffa;box-shadow:0 20px 60px #1d2f2714}.booking-step-content{padding:48px 56px 42px;animation:booking-fade-in .24s ease-out}@keyframes booking-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.booking-title-block{max-width:640px;margin-bottom:30px}.booking-title-block h1,.booking-payment h1,.booking-confirmed h1{margin:4px 0 8px;color:var(--booking-ink);font-size:clamp(1.8rem,4vw,2.55rem);line-height:1.15;letter-spacing:-.035em}.booking-title-block p,.booking-payment__heading p,.booking-confirmed>p{margin:0;color:var(--booking-muted);font-size:1rem;line-height:1.65}.booking-eyebrow,.booking-summary-card__eyebrow{color:var(--booking-accent);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.booking-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.booking-title-row .booking-summary-card{width:310px;flex:none}.booking-back-link{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:0;border:0;background:transparent;color:var(--booking-accent);cursor:pointer;font-size:.84rem;font-weight:750}.booking-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.booking-resource-card{min-height:236px;display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--booking-line);border-radius:18px;background:#fff;color:var(--booking-ink);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.booking-resource-card:hover{transform:translateY(-3px);border-color:var(--booking-accent);box-shadow:0 16px 34px #1f3c301f}.booking-resource-card:focus-visible,.booking-calendar button:focus-visible,.booking-times button:focus-visible,.booking-primary-button:focus-visible,.booking-exit:focus-visible{outline:3px solid color-mix(in srgb,var(--booking-accent) 28%,transparent);outline-offset:3px}.booking-resource-card__icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:20px;border-radius:14px;background:var(--booking-accent-soft);color:var(--booking-accent);font-size:1.1rem}.booking-resource-card__body{flex:1;display:flex;flex-direction:column;gap:8px}.booking-resource-card__body strong{font-size:1.1rem}.booking-resource-card__body span{color:var(--booking-muted);font-size:.88rem;line-height:1.5}.booking-resource-card__footer{width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid #eef1ef}.booking-resource-card__footer>strong{font-size:1.08rem}.booking-resource-card__footer>span{color:var(--booking-accent);font-size:.82rem;font-weight:800}.booking-resource-card__footer i{margin-left:4px}.booking-schedule{display:grid;grid-template-columns:minmax(420px,1.2fr) minmax(330px,.8fr);gap:24px}.booking-calendar,.booking-times{min-height:390px;padding:24px;border:1px solid var(--booking-line);border-radius:18px;background:#fff}.booking-calendar__nav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:22px;text-align:center}.booking-calendar__nav strong{font-size:.98rem}.booking-calendar__nav button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--booking-line);border-radius:10px;background:#fff;color:var(--booking-ink);cursor:pointer}.booking-calendar__nav button:disabled{cursor:not-allowed;opacity:.35}.booking-calendar__weekdays,.booking-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.booking-calendar__weekdays{margin-bottom:8px;color:#929c97;font-size:.68rem;font-weight:750;text-align:center;text-transform:uppercase}.booking-calendar__day{aspect-ratio:1;display:grid;place-items:center;border:0;border-radius:11px;background:transparent;color:#36433d;cursor:pointer;font-size:.86rem;font-weight:650}.booking-calendar__day:not(:disabled):not(.is-selected):hover{background:var(--booking-accent-soft);color:var(--booking-accent)}.booking-calendar__day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--booking-accent);color:var(--booking-accent)}.booking-calendar__day.is-selected{background:var(--booking-accent);color:#fff;box-shadow:0 7px 16px color-mix(in srgb,var(--booking-accent) 25%,transparent)}.booking-calendar__day:disabled{color:#c7cdca;cursor:not-allowed}.booking-calendar__day.is-empty{pointer-events:none}.booking-times{display:flex;flex-direction:column}.booking-times__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:18px;border-bottom:1px solid #edf0ee}.booking-times__heading>div{display:flex;flex-direction:column;gap:4px}.booking-times__heading span{color:var(--booking-muted);font-size:.74rem}.booking-times__heading strong{font-size:.9rem;text-transform:capitalize}.booking-times__count{padding:5px 8px;border-radius:20px;background:var(--booking-accent-soft);color:var(--booking-accent)!important;white-space:nowrap;font-weight:700}.booking-times__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.booking-times__grid button{padding:13px 8px;border:1px solid var(--booking-line);border-radius:10px;background:#fff;color:#33413b;cursor:pointer;font-weight:750;transition:.15s ease}.booking-times__grid button:hover{border-color:var(--booking-accent);color:var(--booking-accent)}.booking-times__grid button.is-selected{border-color:var(--booking-accent);background:var(--booking-accent);color:#fff;box-shadow:0 7px 16px color-mix(in srgb,var(--booking-accent) 22%,transparent)}.booking-times__grid small{font-size:.65rem;font-weight:600}.booking-times__state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--booking-muted);text-align:center;font-size:.85rem}.booking-times__state>i{margin-bottom:4px;color:#a8b1ad;font-size:1.8rem}.booking-times__state strong{color:var(--booking-ink)}.booking-sticky-action{display:flex;align-items:center;justify-content:flex-end;gap:22px;margin-top:24px}.booking-sticky-action>div{display:flex;flex-direction:column;text-align:right}.booking-sticky-action span{color:var(--booking-muted);font-size:.75rem}.booking-sticky-action strong{font-size:.95rem}.booking-primary-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 23px;border:0;border-radius:12px;background:var(--booking-accent);box-shadow:0 9px 20px color-mix(in srgb,var(--booking-accent) 22%,transparent);color:#fff;cursor:pointer;font-weight:800;text-decoration:none;transition:transform .16s ease,background .16s ease}.booking-primary-button:hover:not(:disabled){transform:translateY(-1px);background:var(--booking-accent-dark)}.booking-primary-button:disabled{background:#bdc6c2;box-shadow:none;cursor:not-allowed}.booking-primary-button.is-wide{width:100%}.booking-form-layout,.booking-payment__layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);align-items:start;gap:44px}.booking-customer-form{display:grid;gap:20px}.booking-customer-form label{display:grid;gap:8px;color:#35423c;font-size:.82rem;font-weight:750}.booking-customer-form label>small{color:var(--booking-muted);font-size:.72rem;font-weight:500}.booking-input-wrap{height:52px;display:flex;align-items:center;gap:11px;padding:0 15px;border:1px solid var(--booking-line);border-radius:12px;background:#fff;color:#9aa39f;transition:border-color .16s ease,box-shadow .16s ease}.booking-input-wrap:focus-within{border-color:var(--booking-accent);box-shadow:0 0 0 4px var(--booking-accent-soft);color:var(--booking-accent)}.booking-input-wrap input{min-width:0;flex:1;border:0;outline:0;color:var(--booking-ink);background:transparent}.booking-input-wrap input::placeholder{color:#adb6b2}.booking-form-note{margin:-8px 0 0;color:var(--booking-muted);font-size:.72rem;text-align:center}.booking-form-note i{margin-right:5px;color:var(--booking-accent)}.booking-summary-card{padding:24px;border:1px solid var(--booking-line);border-radius:18px;background:#f9faf9}.booking-summary-card.is-compact{padding:17px 20px}.booking-summary-card h3{margin:6px 0 7px;font-size:1.12rem}.booking-summary-card>p{margin:0 0 18px;color:var(--booking-muted);font-size:.8rem;line-height:1.5}.booking-summary-card dl{display:grid;gap:13px;margin:18px 0 0}.booking-summary-card dl>div{display:flex;justify-content:space-between;gap:14px}.booking-summary-card dt,.booking-summary-card dd{margin:0;font-size:.79rem}.booking-summary-card dt{color:var(--booking-muted)}.booking-summary-card dt i{width:18px;color:var(--booking-accent)}.booking-summary-card dd{color:var(--booking-ink);font-weight:750;text-align:right;text-transform:capitalize}.booking-summary-card__price{margin-top:3px;padding-top:15px;border-top:1px solid var(--booking-line)}.booking-summary-card__price dd{color:var(--booking-accent);font-size:1rem}.booking-inline-message{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border-radius:11px;font-size:.82rem;line-height:1.45}.booking-inline-message.is-error{border:1px solid #f0c5c3;background:#fff1f0;color:#963a35}.booking-inline-message.is-info{border:1px solid #c9d5ec;background:#f0f4fc;color:#3d598e}.booking-payment__heading{display:flex;align-items:center;gap:18px;margin-bottom:28px}.booking-payment__icon,.booking-success-mark{width:58px;height:58px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--booking-accent-soft);color:var(--booking-accent);font-size:1.25rem}.booking-payment__heading h1{font-size:2rem}.booking-payment>.booking-inline-message{margin:-10px 0 24px}.booking-payment__details,.booking-payment__checkout,.booking-confirmation-card{padding:28px;border:1px solid var(--booking-line);border-radius:18px;background:#fff}.booking-payment__details h2{margin:0 0 22px;font-size:1rem}.booking-detail{display:flex;align-items:center;gap:13px;margin:15px 0}.booking-detail>span{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--booking-accent-soft);color:var(--booking-accent)}.booking-detail>div{min-width:0;display:flex;flex-direction:column}.booking-detail small,.booking-payment__contact span{color:var(--booking-muted);font-size:.7rem}.booking-detail strong{overflow:hidden;color:var(--booking-ink);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.booking-payment__contact{display:flex;flex-direction:column;margin-top:20px;padding-top:18px;border-top:1px solid #edf0ee}.booking-payment__contact strong{margin-top:3px;font-size:.83rem}.booking-confirmation-card__total{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid var(--booking-line)}.booking-confirmation-card__total span{color:var(--booking-muted);font-size:.78rem}.booking-confirmation-card__total strong{color:var(--booking-accent);font-size:1.25rem}.booking-payment__checkout{position:sticky;top:24px;border-color:color-mix(in srgb,var(--booking-accent) 24%,white);background:linear-gradient(145deg,#fff,var(--booking-accent-soft));text-align:center}.booking-payment__secure{display:inline-flex;gap:6px;color:var(--booking-accent);font-size:.7rem;font-weight:800;text-transform:uppercase}.booking-payment__checkout>p{margin:24px 0 4px;color:var(--booking-muted);font-size:.78rem}.booking-payment__timer{display:block;color:var(--booking-ink);font-size:3rem;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.2}.booking-payment__progress{height:6px;overflow:hidden;margin:17px 0 24px;border-radius:8px;background:#dce3df}.booking-payment__progress span{height:100%;display:block;border-radius:inherit;background:var(--booking-highlight);transition:width 1s linear}.booking-payment__checkout>small{display:block;margin:13px 8px 0;color:var(--booking-muted);font-size:.68rem;line-height:1.45}.booking-payment__provider{margin-top:22px;padding-top:17px;border-top:1px solid color-mix(in srgb,var(--booking-accent) 12%,white);color:var(--booking-muted);font-size:.68rem}.booking-payment__provider i{margin-right:5px;color:#009ee3}.booking-payment__checkout.is-expired{background:#fafafa}.booking-reference{margin:22px 0 0;color:#8a9590;font-size:.68rem;text-align:center}.booking-confirmed{max-width:680px;margin:0 auto;text-align:center}.booking-confirmed .booking-success-mark{width:72px;height:72px;margin:0 auto 18px;background:var(--booking-accent);color:#fff;box-shadow:0 10px 28px color-mix(in srgb,var(--booking-accent) 25%,transparent);font-size:1.6rem}.booking-confirmed>p{margin-bottom:28px}.booking-confirmation-card{margin-bottom:18px;text-align:left}.booking-confirmed>.booking-primary-button{margin-top:24px}.booking-empty-state,.booking-fatal-error,.booking-loading{min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:30px;text-align:center}.booking-empty-state{min-height:300px;border:1px dashed var(--booking-line);border-radius:18px}.booking-empty-state>i,.booking-fatal-error>i{color:var(--booking-accent);font-size:2.4rem}.booking-empty-state h2,.booking-fatal-error h1,.booking-loading p{margin:0}.booking-empty-state p,.booking-fatal-error p,.booking-loading p{color:var(--booking-muted)}.booking-fatal-error a{color:var(--booking-accent);font-weight:750}.booking-page__footer{display:flex;justify-content:space-between;gap:20px;padding:20px 4px 0;color:#84908a;font-size:.72rem}.booking-page__footer i{margin-right:5px;color:var(--booking-accent)}@media (max-width: 860px){.booking-step-content{padding:36px 30px}.booking-schedule,.booking-form-layout,.booking-payment__layout{grid-template-columns:1fr}.booking-title-row .booking-summary-card{display:none}.booking-payment__checkout{position:static;order:-1}}@media (max-width: 600px){.booking-header{height:68px}.booking-header__inner,.booking-page__container{width:min(100% - 24px,1180px)}.booking-brand-mark{width:38px;height:38px}.booking-brand strong{max-width:190px}.booking-exit span{display:none}.booking-page__container{padding-top:24px}.booking-stepper{margin-bottom:22px}.booking-stepper__label{display:none}.booking-stepper__number{width:30px;height:30px}.booking-stepper__item:not(:last-child):after{top:14px;left:calc(50% + 20px);right:calc(-50% + 20px)}.booking-panel{min-height:540px;border-radius:18px}.booking-step-content{padding:28px 18px 24px}.booking-title-block{margin-bottom:24px}.booking-title-block h1,.booking-payment h1,.booking-confirmed h1{font-size:1.75rem}.booking-resource-grid{grid-template-columns:1fr}.booking-resource-card{min-height:200px}.booking-calendar,.booking-times{min-height:auto;padding:16px}.booking-calendar__weekdays,.booking-calendar__grid{gap:3px}.booking-calendar__day{border-radius:9px}.booking-times{min-height:270px}.booking-times__grid{grid-template-columns:repeat(3,1fr)}.booking-sticky-action{position:sticky;z-index:4;bottom:0;justify-content:space-between;margin:22px -18px -24px;padding:13px 18px;border-top:1px solid var(--booking-line);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.booking-sticky-action .booking-primary-button{min-height:44px}.booking-form-layout,.booking-payment__layout{gap:24px}.booking-summary-card{order:-1}.booking-payment__heading{align-items:flex-start}.booking-payment__icon{width:48px;height:48px}.booking-payment__details,.booking-payment__checkout,.booking-confirmation-card{padding:21px}.booking-payment__timer{font-size:2.6rem}.booking-page__footer{flex-direction:column;align-items:center;gap:5px}}@media (prefers-reduced-motion: reduce){.booking-step-content,.booking-resource-card,.booking-primary-button{animation:none;transition:none}}
