﻿.reserves-container{padding-top:0;font-family:"Inter",sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.presentation{height:40vh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.presentation .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-overlay);z-index:1}.presentation .content{position:relative;z-index:2;text-align:center}.presentation .content .logo{width:150px;margin:0 auto 20px}.presentation .content h1{font-size:60px;color:var(--text-light);margin-bottom:10px;line-height:1}.presentation .content p{font-size:24px;color:var(--text-light);margin-bottom:10px}.presentation .content .btn-place{background:linear-gradient(135deg, var(--primary-color), var(--accent-color));color:var(--text-light);padding:10px 20px;border-radius:25px;font-weight:600;width:fit-content;margin:0 auto}.presentation .content .btn-place:hover{background:linear-gradient(135deg, var(--primary-dark), var(--accent-dark));transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,107,53,.3)}.presentation .content .order-info{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:20px}.presentation .content .order-info .order-table,.presentation .content .order-info .order-time{background:rgba(255,255,255,.2);color:var(--text-light);padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 15px rgba(0,0,0,.1)}.menu-layout{display:flex;max-width:1200px;margin:0 auto;padding:40px 20px;gap:40px}.menu-layout.read-only{justify-content:center}.menu-layout.read-only .menu-main{max-width:900px;padding-bottom:40px}.menu-main{flex:1;min-width:0;padding-bottom:100px}.step-hidden{display:none !important}.step-disabled{opacity:.4;pointer-events:none;filter:grayscale(100%)}.step-active{animation:fadeInUp .6s ease}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scroll-to-section{scroll-behavior:smooth}.menu-sidebar{width:280px;background:linear-gradient(135deg, #ffffff, #f8f9fa);border-radius:20px;box-shadow:0 15px 30px rgba(0,0,0,.08),0 6px 12px rgba(0,0,0,.04);border:1px solid rgba(255,255,255,.8);position:sticky;top:24px;max-height:500px;overflow-y:auto;backdrop-filter:blur(10px)}.menu-sidebar .cart-content{padding:24px;height:100%;display:flex;flex-direction:column}.menu-sidebar .cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.menu-sidebar .cart-header h3{margin:0;font-size:20px;font-weight:700;color:#2c3e50;letter-spacing:-0.5px}.menu-sidebar .cart-header .cart-header-actions button{background:linear-gradient(135deg, #f8f9fa, #e9ecef);border:1px solid rgba(0,0,0,.05);color:#495057;font-size:12px;font-weight:500;cursor:pointer;padding:6px 12px;border-radius:16px;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.05)}.menu-sidebar .cart-header .cart-header-actions button:hover{background:linear-gradient(135deg, #e9ecef, #dee2e6);border-color:rgba(102,126,234,.2);transform:translateX(5px)}.menu-sidebar .cart-items{flex:1;margin-bottom:12px}.menu-sidebar .cart-items .reservation-timeline{padding:8px 0}.menu-sidebar .cart-items .reservation-timeline .timeline-step{display:flex;align-items:flex-start;margin-bottom:12px;position:relative}.menu-sidebar .cart-items .reservation-timeline .timeline-step:not(:last-child)::after{content:"";position:absolute;left:18px;top:36px;height:calc(100% + 4px);width:2px;background:linear-gradient(to bottom, #e9ecef, #dee2e6);z-index:1}.menu-sidebar .cart-items .reservation-timeline .timeline-step .step-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;margin-right:12px;position:relative;z-index:2;transition:all .3s ease}.menu-sidebar .cart-items .reservation-timeline .timeline-step .step-icon.pending{background:#e9ecef;color:#6c757d;border:2px solid #dee2e6}.menu-sidebar .cart-items .reservation-timeline .timeline-step .step-icon.active{background:linear-gradient(135deg, #007bff, #0056b3);color:#fff;border:2px solid #007bff;box-shadow:0 4px 12px rgba(0,123,255,.3)}.menu-sidebar .cart-items .reservation-timeline .timeline-step .step-icon.completed{background:linear-gradient(135deg, #28a745, #1e7e34);color:#fff;border:2px solid #28a745;box-shadow:0 4px 12px rgba(40,167,69,.3)}.menu-sidebar .cart-items .reservation-timeline .timeline-step .step-icon.completed::before{content:"✓";font-size:18px;font-weight:700}.menu-sidebar .cart-items .reservation-timeline .timeline-step .step-content{flex:1}.menu-sidebar .cart-items .reservation-timeline .timeline-step .step-content .step-title{font-weight:600;font-size:14px;color:#495057;margin-bottom:4px}.menu-sidebar .cart-items .reservation-timeline .timeline-step .step-content .step-value{font-size:13px;color:#6c757d}.menu-sidebar .cart-items .reservation-timeline .timeline-step .step-content .step-value.selected{color:#007bff;font-weight:600}.menu-sidebar .cart-items .reservation-timeline .timeline-step.completed .step-content .step-title{color:#28a745}.menu-sidebar .cart-items .reservation-timeline .timeline-step.completed .step-content .step-value{color:#28a745;font-weight:600}.menu-sidebar .cart-items .reservation-timeline .timeline-step.active .step-content .step-title{color:#007bff}.menu-sidebar .cart-footer{border-top:1px solid var(--border-light);padding-top:24px}.menu-sidebar .cart-footer .cart-total{margin-bottom:24px}.menu-sidebar .cart-footer .cart-total .total-line{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.menu-sidebar .cart-footer .cart-total .total-line.total-final{font-weight:700;font-size:16px;color:var(--primary-color);padding-top:8px;border-top:1px solid var(--border-light)}.menu-sidebar .cart-footer .cart-actions .order-btn{width:100%;background:linear-gradient(45deg, var(--primary-color), var(--primary-light));color:#fff;border:none;border-radius:16px;padding:12px;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s cubic-bezier(0.175, 0.885, 0.32, 1.275);box-shadow:0 8px 20px rgba(102,126,234,.3)}.menu-sidebar .cart-footer .cart-actions .order-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 30px rgba(102,126,234,.4);background:linear-gradient(135deg, #5a6fd8, #6a5bb0)}.menu-sidebar .cart-footer .cart-actions .order-btn:disabled{background:var(--button-disabled);color:var(--button-disabled-text);cursor:not-allowed;transform:none;box-shadow:none}.menu-sidebar .cart-footer .cart-actions .order-btn .order-icon{margin-right:8px}.menu-main{flex:1;min-width:0}.services-section{margin-bottom:60px;transition:all .6s ease}.services-section.compacted{margin-bottom:30px}.services-section.compacted .category-title{font-size:24px;margin-bottom:10px}.services-section.compacted .category-description{font-size:14px;margin-bottom:20px;opacity:.8}.services-section.compacted .products-grid{display:none}.services-section.compacted .selected-service-summary{display:block}.services-section .selected-service-summary{display:none;background:linear-gradient(135deg, #ffffff, #f8f9fa);border-radius:20px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.1);border:2px solid var(--primary-color);position:relative}.services-section .selected-service-summary .service-info{display:flex;justify-content:space-between;align-items:center}.services-section .selected-service-summary .service-info .service-details{flex:1}.services-section .selected-service-summary .service-info .service-details .service-name{font-size:18px;font-weight:700;color:#2c3e50;margin-bottom:5px}.services-section .selected-service-summary .service-info .service-details .service-meta{display:flex;gap:15px;font-size:14px;color:#666}.services-section .selected-service-summary .service-info .service-details .service-meta .meta-item{background:var(--bg-secondary);padding:4px 12px;border-radius:12px}.services-section .selected-service-summary .service-info .service-details .service-price{font-size:20px;font-weight:700;color:var(--primary-color);margin-top:8px}.services-section .selected-service-summary .service-info .modify-service-btn{background:linear-gradient(45deg, #f8f9fa, #e9ecef);border:1px solid #dee2e6;color:#495057;padding:8px 16px;border-radius:15px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.services-section .selected-service-summary .service-info .modify-service-btn:hover{background:linear-gradient(45deg, #e9ecef, #dee2e6);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px)}.calendar-section,.time-section{margin-bottom:60px;transition:all .6s ease;text-align:center;margin-bottom:50px}.calendar-section.step-hidden,.time-section.step-hidden{display:none;height:0;overflow:hidden}.calendar-section.step-disabled,.time-section.step-disabled{opacity:.3;pointer-events:none;filter:grayscale(100%) blur(1px)}.calendar-section.step-active,.time-section.step-active{animation:slideInFromTop .8s ease}.calendar-section .category-title,.time-section .category-title{font-size:36px;font-weight:700;color:#333;margin:0 0 15px 0;position:relative;display:inline-block}.calendar-section .category-title::after,.time-section .category-title::after{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:60px;height:4px;background:linear-gradient(45deg, var(--primary-color), var(--primary-light));border-radius:2px}.calendar-section .category-title .step-indicator,.time-section .category-title .step-indicator{display:inline-block;background:var(--primary-color);color:#fff;width:30px;height:30px;border-radius:50%;text-align:center;line-height:30px;font-size:16px;font-weight:700;margin-right:15px;animation:pulse 2s infinite}.calendar-section .step-description,.time-section .step-description{color:#666;font-size:16px;margin-bottom:30px;text-align:center}@keyframes slideInFromTop{from{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(102,126,234,.7)}70%{box-shadow:0 0 0 10px rgba(102,126,234,0)}100%{box-shadow:0 0 0 0 rgba(102,126,234,0)}}.calendar-headers{display:grid;grid-template-columns:repeat(7, 1fr);gap:12px;margin-bottom:12px;padding:0 30px}.calendar-headers .calendar-header{text-align:center;font-weight:600;font-size:12px;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;padding:8px;background:rgba(255,255,255,.7);border-radius:8px;backdrop-filter:blur(5px)}.calendar-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:12px;background:linear-gradient(135deg, #f8f9fa, #e9ecef);padding:30px;border-radius:25px;box-shadow:0 8px 25px rgba(0,0,0,.08);margin-bottom:30px}.calendar-day{background:#fff;border-radius:12px;text-align:center;padding:16px 8px;cursor:pointer;box-shadow:0 3px 15px rgba(0,0,0,.06);transition:all .3s ease;border:2px solid rgba(0,0,0,0);position:relative;overflow:hidden;min-height:80px;display:flex;flex-direction:column;justify-content:center}.calendar-day.empty{background:rgba(0,0,0,0);box-shadow:none;cursor:default;pointer-events:none;opacity:0}.calendar-day::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(45deg, var(--primary-color), var(--primary-light));transform:scaleX(0);transition:transform .3s ease}.calendar-day:hover:not(.unavailable):not(.disabled):not(.empty){transform:translateY(-6px);box-shadow:0 10px 30px rgba(102,126,234,.12);border-color:rgba(102,126,234,.2)}.calendar-day:hover:not(.unavailable):not(.disabled):not(.empty)::before{transform:scaleX(1)}.calendar-day.today{border-color:var(--accent-color);background:linear-gradient(135deg, var(--accent-color), var(--accent-light));color:#fff;font-weight:700;box-shadow:0 6px 20px rgba(255,161,0,.25)}.calendar-day.selected{background:linear-gradient(45deg, var(--primary-color), var(--primary-light));color:#fff;box-shadow:0 6px 20px rgba(102,126,234,.25);transform:translateY(-4px)}.calendar-day.unavailable{background:linear-gradient(135deg, #f8f9fa, #e9ecef);color:#6c757d;cursor:not-allowed;opacity:.6;border-color:#dee2e6}.calendar-day.unavailable::after{content:"❌";position:absolute;top:4px;right:4px;font-size:10px;opacity:.8}.calendar-day.limited-availability{background:linear-gradient(135deg, #fff3cd, #ffeaa7);border-color:#ffc107}.calendar-day.limited-availability::after{content:"⚠️";position:absolute;top:4px;right:4px;font-size:10px}.calendar-day.limited-availability:hover:not(.disabled){background:linear-gradient(135deg, #ffecb5, #ffd93d);transform:translateY(-4px);box-shadow:0 8px 25px rgba(255,193,7,.25)}.calendar-day.full-availability{border-color:#28a745}.calendar-day.full-availability::after{content:"✅";position:absolute;top:4px;right:4px;font-size:10px;opacity:.8}.calendar-day.full-availability:hover:not(.disabled){border-color:#28a745;box-shadow:0 8px 25px rgba(40,167,69,.15)}.calendar-day.disabled{opacity:.3;cursor:not-allowed;filter:grayscale(100%)}.calendar-day .day-number{font-size:18px;font-weight:700;display:block;margin-bottom:3px;line-height:1}.calendar-day .day-name{font-size:11px;opacity:.8;text-transform:uppercase;font-weight:600;letter-spacing:.5px;line-height:1}.calendar-day .availability-indicator{font-size:9px;margin-top:3px;font-weight:600;line-height:1;padding:2px 4px;border-radius:6px;text-transform:uppercase;letter-spacing:.3px}.calendar-day .availability-indicator.full{color:#fff;background:#28a745;box-shadow:0 1px 3px rgba(40,167,69,.3)}.calendar-day .availability-indicator.limited{color:#000;background:#ffc107;box-shadow:0 1px 3px rgba(255,193,7,.3)}.calendar-day .availability-indicator.none{color:#fff;background:#dc3545;box-shadow:0 1px 3px rgba(220,53,69,.3)}.time-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:15px;max-width:1000px;margin:0 auto;min-height:100px}.time-grid.loading{opacity:.6;pointer-events:none}.time-grid.loading::after{content:"Cargando horarios disponibles...";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);font-size:16px;color:#666;font-weight:500}.time-grid.no-slots{display:flex;align-items:center;justify-content:center;min-height:200px}.time-grid.no-slots .no-slots-message{text-align:center;color:#666}.time-grid.no-slots .no-slots-message .icon{font-size:48px;margin-bottom:20px;opacity:.5}.time-grid.no-slots .no-slots-message .title{font-size:20px;font-weight:600;margin-bottom:10px}.time-grid.no-slots .no-slots-message .subtitle{font-size:14px;opacity:.8}.time-slot{background:#fff;border-radius:15px;text-align:center;padding:20px;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:all .3s ease;border:2px solid rgba(0,0,0,0);font-weight:600;font-size:16px;position:relative;overflow:hidden;animation:slideInScale .4s ease}.time-slot::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(45deg, var(--primary-color), var(--primary-light));transform:scaleX(0);transition:transform .3s ease}.time-slot:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(102,126,234,.15);border-color:rgba(102,126,234,.2)}.time-slot:hover::before{transform:scaleX(1)}.time-slot.selected{background:linear-gradient(45deg, var(--primary-color), var(--primary-light));color:#fff;box-shadow:0 8px 25px rgba(102,126,234,.3);transform:translateY(-5px)}.time-slot.limited{background:linear-gradient(135deg, #fff3cd, #ffeaa7);border-color:#ffc107}.time-slot.limited::after{content:"Últimas plazas";position:absolute;bottom:5px;left:50%;transform:translateX(-50%);font-size:9px;color:#856404;font-weight:500}@keyframes slideInScale{from{opacity:0;transform:scale(0.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.menu-category{margin-bottom:80px;text-align:center;transition:all .6s ease}.menu-category.compacted{margin-bottom:30px}.menu-category.compacted .category-title{font-size:24px;margin-bottom:10px}.menu-category.compacted .category-title::after{width:40px;height:3px}.menu-category.compacted .category-description{font-size:14px;margin-bottom:20px;opacity:.8}.menu-category.compacted .products-grid{display:none}.menu-category.compacted .selected-service-summary{display:block;animation:slideDown .6s ease}.menu-category .category-title{font-size:36px;font-weight:700;color:#333;margin:0 0 15px 0;position:relative;display:inline-block;transition:all .3s ease}.menu-category .category-title::after{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:60px;height:4px;background:linear-gradient(45deg, var(--primary-color), var(--primary-light));border-radius:2px;transition:all .3s ease}.menu-category .category-title .step-indicator{display:inline-block;background:var(--primary-color);color:#fff;width:30px;height:30px;border-radius:50%;text-align:center;line-height:30px;font-size:16px;font-weight:700;margin-right:15px;animation:pulse 2s infinite}.menu-category .category-title .step-indicator.completed{background:#28a745;animation:none}.menu-category .category-description{color:#666;margin:0 0 50px 0;font-size:18px;line-height:1.5;transition:all .3s ease}.menu-category .selected-service-summary{display:none;background:linear-gradient(135deg, #ffffff, #f8f9fa);border-radius:20px;padding:25px;box-shadow:0 15px 35px rgba(0,0,0,.1);border:2px solid var(--primary-color);position:relative;margin:0 auto 30px auto;max-width:600px}.menu-category .selected-service-summary .service-info{display:flex;justify-content:space-between;align-items:center}.menu-category .selected-service-summary .service-info .service-details{flex:1;text-align:left}.menu-category .selected-service-summary .service-info .service-details .service-name{font-size:20px;font-weight:700;color:#2c3e50;margin-bottom:8px}.menu-category .selected-service-summary .service-info .service-details .service-meta{display:flex;gap:15px;font-size:14px;color:#666;margin-bottom:10px;flex-wrap:wrap}.menu-category .selected-service-summary .service-info .service-details .service-meta .meta-item{background:var(--bg-secondary);padding:6px 12px;border-radius:12px;font-weight:500}.menu-category .selected-service-summary .service-info .service-details .service-price{font-size:22px;font-weight:700;color:var(--primary-color)}.menu-category .selected-service-summary .service-info .modify-service-btn{background:linear-gradient(45deg, #f8f9fa, #e9ecef);border:1px solid #dee2e6;color:#495057;padding:10px 20px;border-radius:15px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.menu-category .selected-service-summary .service-info .modify-service-btn:hover{background:linear-gradient(45deg, #e9ecef, #dee2e6);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px)}@keyframes slideDown{from{opacity:0;transform:translateY(-20px);max-height:0}to{opacity:1;transform:translateY(0);max-height:200px}}.products-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:20px;max-width:1200px;margin:0 auto}.menu-item{display:flex;background:var(--card-bg);border-radius:12px;padding:20px;box-shadow:0 4px 20px var(--shadow-color);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;position:relative;flex-direction:column;border:1px solid var(--border-light)}.menu-item::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--primary-color), var(--primary-light), var(--accent-color));transform:scaleX(0);transition:transform .4s ease}.menu-item:hover{transform:translateY(-5px);box-shadow:0 8px 30px var(--shadow-hover)}.menu-item:hover::before{transform:scaleX(1)}.menu-item .item-content{margin-bottom:15px}.menu-item .item-content .item-name{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px 0;line-height:1.3}.menu-item .item-content .item-details{margin-bottom:12px;display:flex;flex-direction:column;gap:6px}.menu-item .item-content .item-details .detail-item{display:inline-block;background:var(--bg-secondary);color:var(--text-secondary);padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;width:fit-content}.menu-item .item-content .item-price-dots{display:flex;align-items:center;justify-content:space-between}.menu-item .item-content .item-price-dots .dots{flex:1;height:1px;background:repeating-linear-gradient(to right, var(--border-color) 0, var(--border-color) 3px, transparent 3px, transparent 8px);margin:0 15px}.menu-item .item-content .item-price-dots .price{font-size:18px;font-weight:700;color:var(--primary-color)}.menu-item .add-to-cart-btn{background:linear-gradient(135deg, var(--primary-color), var(--accent-color));color:var(--text-light);border:none;padding:8px 16px;border-radius:20px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:13px;align-self:flex-end;min-height:36px;display:flex;align-items:center;justify-content:center}.menu-item .add-to-cart-btn:hover{background:linear-gradient(135deg, var(--primary-dark), var(--accent-dark));transform:scale(1.05)}.theme-toggle{position:absolute;top:20px;right:20px;z-index:1000;background:var(--bg-secondary);color:var(--text-light);border:none;border-radius:50%;width:50px;height:50px;cursor:pointer;font-size:20px;transition:all .3s ease;box-shadow:0 4px 15px var(--shadow-color)}.theme-toggle:hover{transform:scale(1.1);box-shadow:0 6px 20px var(--shadow-hover)}.mobile-cart-nav{position:fixed;bottom:0;left:0;width:100vw;background:linear-gradient(135deg, #ffffff, #f8f9fa);box-shadow:0 -10px 30px rgba(0,0,0,.15);z-index:999;display:none;border-top:1px solid var(--border-light);backdrop-filter:blur(10px)}.mobile-cart-nav .mobile-cart-content{display:flex;justify-content:space-between;align-items:center;padding:24px;max-width:1200px;margin:0 auto}.mobile-cart-nav .mobile-cart-summary .cart-count,.mobile-cart-nav .mobile-cart-summary .cart-total-mobile{margin:0;font-weight:600;font-size:16px}.mobile-cart-nav .mobile-cart-summary .cart-total-mobile{color:var(--primary-color);font-weight:700;font-size:18px}.mobile-cart-nav .mobile-cart-actions{display:flex;gap:12px}.mobile-cart-nav .mobile-cart-actions .mobile-btn{background:linear-gradient(45deg, var(--primary-color), var(--primary-light));color:#fff;border-radius:25px;padding:12px 24px;font-weight:600;font-size:14px;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(102,126,234,.3)}.mobile-cart-nav .mobile-cart-actions .mobile-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4);background:linear-gradient(135deg, #5a6fd8, #6a5bb0)}.mobile-cart-nav .mobile-cart-actions .mobile-btn:disabled{background:var(--button-disabled);color:var(--button-disabled-text);cursor:not-allowed;transform:none;box-shadow:none}@media(max-width: 1200px)and (min-width: 901px){.menu-sidebar{width:260px}.menu-sidebar .cart-content{padding:19px}.menu-sidebar .cart-header h3{font-size:18px}.menu-sidebar .timeline-step{margin-bottom:19px}.menu-sidebar .timeline-step .step-icon{width:32px;height:32px;font-size:13px;margin-right:10px}.menu-sidebar .timeline-step .step-content .step-title{font-size:13px}.menu-sidebar .timeline-step .step-content .step-value{font-size:12px}.menu-sidebar .cart-footer{padding-top:19px}.menu-sidebar .cart-footer .cart-total{margin-bottom:19px}.menu-sidebar .cart-footer .cart-total .total-line{font-size:13px;margin-bottom:6px}.menu-sidebar .cart-footer .cart-total .total-line.total-final{font-size:15px}}@media(max-width: 900px){.menu-layout{flex-direction:column;gap:16px}.menu-sidebar{width:100%;position:static;max-height:none;display:none}.mobile-cart-nav{display:block}.calendar-grid{grid-template-columns:repeat(7, 1fr);gap:10px;padding:20px}.calendar-day{padding:15px 5px}.calendar-day .day-number{font-size:16px}.calendar-day .day-name{font-size:10px}.calendar-day.unavailable::after,.calendar-day.limited-availability::after,.calendar-day.full-availability::after{font-size:10px;top:3px;right:3px}.time-grid{grid-template-columns:repeat(3, 1fr);gap:10px}.time-slot{padding:15px;font-size:14px}.time-slot.limited::after{font-size:8px;bottom:3px}.products-grid{grid-template-columns:1fr;gap:20px}.menu-item{padding:15px}.menu-item .item-content .item-name{font-size:16px}.menu-item .item-content .item-price-dots .price{font-size:16px}.menu-item .add-to-cart-btn{padding:6px 14px;font-size:12px;min-height:32px}.menu-category.compacted .selected-service-summary{padding:20px}.menu-category.compacted .selected-service-summary .service-info{flex-direction:column;gap:15px}.menu-category.compacted .selected-service-summary .service-info .service-details{text-align:center}.menu-category.compacted .selected-service-summary .service-info .service-details .service-meta{justify-content:center}.menu-category.compacted .selected-service-summary .service-info .modify-service-btn{align-self:center}.presentation .content h1{font-size:40px}.presentation .content p{font-size:18px}.calendar-section,.time-section,.menu-category{margin-bottom:40px}.calendar-section .category-title,.time-section .category-title,.menu-category .category-title{font-size:28px}.calendar-section .category-title .step-indicator,.time-section .category-title .step-indicator,.menu-category .category-title .step-indicator{width:25px;height:25px;line-height:25px;font-size:14px;margin-right:10px}}[data-theme=dark] .menu-sidebar{background:linear-gradient(135deg, var(--bg-secondary), var(--bg-tertiary));border:1px solid var(--border-color);color:var(--text-primary)}[data-theme=dark] .menu-sidebar .cart-header h3{color:var(--text-primary)}[data-theme=dark] .reservation-timeline .timeline-step::after{background:linear-gradient(to bottom, var(--border-color), var(--border-light))}[data-theme=dark] .reservation-timeline .timeline-step .step-icon.pending{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}[data-theme=dark] .reservation-timeline .timeline-step .step-icon.active{background:linear-gradient(135deg, #007bff, #0056b3);border-color:#007bff}[data-theme=dark] .reservation-timeline .timeline-step .step-icon.completed{background:linear-gradient(135deg, #28a745, #1e7e34);border-color:#28a745}[data-theme=dark] .reservation-timeline .timeline-step .step-content .step-title{color:var(--text-primary)}[data-theme=dark] .reservation-timeline .timeline-step .step-content .step-value{color:var(--text-secondary)}[data-theme=dark] .reservation-timeline .timeline-step .step-content .step-value.selected{color:#007bff}[data-theme=dark] .reservation-timeline .timeline-step.completed .step-content .step-title{color:#28a745}[data-theme=dark] .reservation-timeline .timeline-step.completed .step-content .step-value{color:#28a745}[data-theme=dark] .reservation-timeline .timeline-step.active .step-content .step-title{color:#007bff}[data-theme=dark] .calendar-headers .calendar-header{background:rgba(64,64,64,.7);color:var(--text-secondary)}[data-theme=dark] .calendar-grid{background:linear-gradient(135deg, var(--bg-tertiary), var(--bg-secondary))}[data-theme=dark] .calendar-day{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .calendar-day:hover:not(.unavailable):not(.disabled):not(.empty){background:var(--bg-tertiary);border-color:#007bff}[data-theme=dark] .calendar-day.today{background:linear-gradient(135deg, var(--accent-color), var(--accent-light));border-color:var(--accent-color)}[data-theme=dark] .calendar-day.selected{background:linear-gradient(45deg, #007bff, #0056b3);border-color:#007bff}[data-theme=dark] .calendar-day.unavailable{background:linear-gradient(135deg, var(--bg-tertiary), var(--bg-secondary));color:var(--text-muted);border-color:var(--border-light)}[data-theme=dark] .calendar-day.limited-availability{background:linear-gradient(135deg, #663d00, #cc7a00);border-color:#ffc107;color:#fff}[data-theme=dark] .calendar-day.full-availability{border-color:#28a745}[data-theme=dark] .calendar-day .availability-indicator.full{background:#28a745;color:#fff}[data-theme=dark] .calendar-day .availability-indicator.limited{background:#ffc107;color:#000}[data-theme=dark] .calendar-day .availability-indicator.none{background:#dc3545;color:#fff}[data-theme=dark] .time-grid{background:linear-gradient(135deg, var(--bg-tertiary), var(--bg-secondary))}[data-theme=dark] .time-slot{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .time-slot:hover:not(.unavailable){background:var(--bg-tertiary);border-color:#007bff}[data-theme=dark] .time-slot.selected{background:linear-gradient(45deg, #007bff, #0056b3);border-color:#007bff;color:#fff}[data-theme=dark] .time-slot.unavailable{background:var(--bg-tertiary);color:var(--text-muted);border-color:var(--border-light)}[data-theme=dark] .time-slot.limited{background:linear-gradient(135deg, #663d00, #cc7a00);border-color:#ffc107;color:#fff}[data-theme=dark] .menu-category{color:var(--text-primary)}[data-theme=dark] .menu-category .category-title{color:var(--text-primary)}[data-theme=dark] .menu-category .category-description{color:var(--text-secondary)}[data-theme=dark] .menu-category.compacted{background:var(--bg-tertiary)}[data-theme=dark] .menu-item{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .menu-item:hover{background:var(--bg-secondary);border-color:#007bff}[data-theme=dark] .menu-item .item-name{color:var(--text-primary)}[data-theme=dark] .menu-item .item-price{color:var(--primary-color)}[data-theme=dark] .step-description{color:var(--text-secondary)}[data-theme=dark] .category-title{color:var(--text-primary)}.reservation-details .detail-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-light);transition:all .3s ease}.reservation-details .detail-row:hover{padding-left:8px;background:var(--bg-secondary);margin:0 -16px;padding-right:24px;border-radius:12px}.reservation-details .detail-row:last-child{border-bottom:none}.reservation-details .detail-row .detail-label{font-size:15px;color:var(--text-secondary);font-weight:500;display:flex;align-items:center;gap:8px}.reservation-details .detail-row .detail-value{font-size:15px;color:var(--text-primary);font-weight:600}.important-info{background:var(--card-bg);border-radius:20px;padding:32px;margin-bottom:32px;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-light);position:relative;overflow:hidden}.important-info::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--warning-color), var(--accent-color))}.important-info h4{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 20px 0;display:flex;align-items:center;gap:10px}.important-info ul{list-style:none;padding:0;margin:0}.important-info ul li{padding:12px 0;border-left:3px solid var(--warning-color);padding-left:20px;margin-bottom:12px;background:rgba(243,156,18,.05);border-radius:0 12px 12px 0;font-size:15px;line-height:1.5;color:var(--text-secondary);transition:all .3s ease}.important-info ul li:hover{background:rgba(243,156,18,.1);border-left-width:4px;padding-left:22px}.important-info ul li:last-child{margin-bottom:0}.reminder-card{background:linear-gradient(135deg, var(--primary-color), var(--accent-color));color:#fff;border-radius:20px;padding:24px;text-align:center;box-shadow:0 8px 32px rgba(255,107,53,.4);position:relative;overflow:hidden}.reminder-card::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);animation:shimmer 3s infinite}.reminder-card h4{margin:0 0 16px 0;font-size:18px;font-weight:600;opacity:.95}.reminder-card .reminder-time{font-size:16px;font-weight:700}.reminder-card .reminder-time .time-remaining{font-size:20px;font-weight:800;text-shadow:0 2px 4px rgba(0,0,0,.3)}.reminder-card.past{background:linear-gradient(135deg, var(--text-muted), #666)}.reminder-card.past .time-remaining{opacity:.8}.contact-info{background:var(--bg-secondary);border-radius:16px;padding:20px;border:1px solid var(--border-light)}.contact-info h4{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 16px 0;display:flex;align-items:center;gap:8px}.contact-info .contact-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.contact-info .contact-item .contact-label{color:var(--text-secondary);font-weight:500}.contact-info .contact-item .contact-value{color:var(--text-primary);font-weight:600}.info-value.status-pendiente{color:var(--warning-color);background:rgba(243,156,18,.1);padding:4px 12px;border-radius:12px}.info-value.status-confirmada{color:var(--success-color);background:rgba(39,174,96,.1);padding:4px 12px;border-radius:12px}.info-value.status-cancelada{color:var(--danger-color);background:rgba(231,76,60,.1);padding:4px 12px;border-radius:12px}.info-value.status-activa{color:var(--primary-color);background:rgba(255,107,53,.1);padding:4px 12px;border-radius:12px}.call-restaurant-btn{background:linear-gradient(135deg, var(--success-color), #27ae60);color:#fff;box-shadow:0 8px 25px rgba(39,174,96,.4)}.call-restaurant-btn:hover{background:linear-gradient(135deg, #27ae60, var(--success-color));transform:translateY(-3px);box-shadow:0 12px 35px rgba(39,174,96,.5)}.call-restaurant-btn:active{transform:translateY(-1px)}.cancel-reservation-btn{background:linear-gradient(135deg, var(--danger-color), #c0392b);color:#fff;box-shadow:0 8px 25px rgba(231,76,60,.4)}.cancel-reservation-btn:hover{background:linear-gradient(135deg, #c0392b, var(--danger-color));transform:translateY(-3px);box-shadow:0 12px 35px rgba(231,76,60,.5)}.cancel-reservation-btn:active{transform:translateY(-1px)}.modify-reservation-btn{background:linear-gradient(135deg, var(--secondary-color), var(--secondary-dark));color:#fff;box-shadow:0 8px 25px rgba(52,152,219,.4)}.modify-reservation-btn:hover{background:linear-gradient(135deg, var(--secondary-dark), var(--secondary-color));transform:translateY(-3px);box-shadow:0 12px 35px rgba(52,152,219,.5)}.modify-reservation-btn:active{transform:translateY(-1px)}.back-reserves-btn{background:var(--bg-secondary);color:var(--text-secondary);border:2px solid var(--border-color);box-shadow:0 4px 15px var(--shadow-color)}.back-reserves-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--primary-color);transform:translateY(-3px);box-shadow:0 8px 25px var(--shadow-hover)}.back-reserves-btn:active{transform:translateY(-1px)}@keyframes shimmer{0%{left:-100%}100%{left:100%}}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.loader-container .loader-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loader-container p{color:var(--text-secondary);font-size:16px;margin:0;line-height:1.5}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}[data-theme=dark] .order-info .order-table,[data-theme=dark] .order-info .order-time{background:rgba(45,45,45,.8);border-color:rgba(255,255,255,.2);color:var(--text-light)}:root{--accommodation-primary: #2c5aa0;--accommodation-secondary: #34c759;--accommodation-accent: #ff9500;--card-shadow-hover: 0 8px 25px rgba(44, 90, 160, 0.15)}.accommodation-info{max-width:1200px;margin:0 auto 32px;padding:0 20px;background:var(--bg-primary);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px var(--shadow-color)}.accommodation-info .accommodation-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:8px;height:400px}.accommodation-info .accommodation-gallery .gallery-item{position:relative;overflow:hidden;background:var(--bg-tertiary);cursor:pointer;transition:transform .3s ease}.accommodation-info .accommodation-gallery .gallery-item:hover{transform:scale(1.02)}.accommodation-info .accommodation-gallery .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.accommodation-info .accommodation-gallery .gallery-item.main-image{grid-row:span 2;border-radius:16px 0 0 16px}.accommodation-info .accommodation-gallery .gallery-item:nth-child(2){border-radius:0 16px 0 0}.accommodation-info .accommodation-gallery .gallery-item:nth-child(3){border-radius:0 0 16px 0}.accommodation-info .accommodation-gallery .gallery-item .image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg, rgba(0, 0, 0, 0.2), transparent);opacity:0;transition:opacity .3s ease}.accommodation-info .accommodation-gallery .gallery-item:hover .image-overlay{opacity:1}.accommodation-info .accommodation-gallery .gallery-item .more-photos{position:absolute;bottom:12px;right:12px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);padding:8px 12px;border-radius:20px;font-size:14px;font-weight:600;color:var(--text-primary)}@media(max-width: 768px){.accommodation-info .accommodation-gallery{grid-template-columns:1fr;grid-template-rows:250px 120px 120px;height:auto}.accommodation-info .accommodation-gallery .gallery-item.main-image{grid-row:1;border-radius:16px 16px 0 0}.accommodation-info .accommodation-gallery .gallery-item:nth-child(2){border-radius:0}.accommodation-info .accommodation-gallery .gallery-item:nth-child(3){border-radius:0 0 16px 16px}}.accommodation-info .accommodation-details{padding:32px}.accommodation-info .accommodation-details .location-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.accommodation-info .accommodation-details .location-header .location-info .location-name{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.accommodation-info .accommodation-details .location-header .location-info .location-address{font-size:16px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.accommodation-info .accommodation-details .location-header .location-info .location-address .location-icon{font-size:16px}.accommodation-info .accommodation-details .location-header .location-info .location-rating{display:flex;align-items:center;gap:12px;margin-top:12px}.accommodation-info .accommodation-details .location-header .location-info .location-rating .stars{color:gold;font-size:18px}.accommodation-info .accommodation-details .location-header .location-info .location-rating .rating-text{font-size:14px;color:var(--text-secondary)}.accommodation-info .accommodation-details .location-header .share-actions{display:flex;gap:12px}.accommodation-info .accommodation-details .location-header .share-actions .action-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:12px;cursor:pointer;transition:all .3s ease;color:var(--text-secondary)}.accommodation-info .accommodation-details .location-header .share-actions .action-btn:hover{background:var(--accommodation-primary);color:#fff;transform:translateY(-2px)}.accommodation-info .accommodation-details .accommodation-description{margin-bottom:32px}.accommodation-info .accommodation-details .accommodation-description .description-text{font-size:16px;line-height:1.6;color:var(--text-secondary);margin-bottom:16px}.accommodation-info .accommodation-details .accommodation-description .show-more-btn{color:var(--accommodation-primary);font-weight:600;cursor:pointer;text-decoration:underline}.accommodation-info .accommodation-details .accommodation-description .show-more-btn:hover{color:var(--accommodation-secondary)}.accommodation-info .accommodation-details .quick-info{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:24px;margin-bottom:32px}.accommodation-info .accommodation-details .quick-info .info-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-light)}.accommodation-info .accommodation-details .quick-info .info-item .info-icon{font-size:24px;flex-shrink:0}.accommodation-info .accommodation-details .quick-info .info-item .info-content .info-label{font-size:14px;color:var(--text-muted);margin-bottom:4px}.accommodation-info .accommodation-details .quick-info .info-item .info-content .info-value{font-size:16px;font-weight:600;color:var(--text-primary)}.accommodation-features{max-width:1200px;margin:0 auto 32px;padding:0 20px}.accommodation-features .features-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:32px}.accommodation-features .features-grid .feature-section{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:16px;padding:24px}.accommodation-features .features-grid .feature-section .section-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:12px}.accommodation-features .features-grid .feature-section .section-title .title-icon{font-size:24px}.accommodation-features .features-grid .feature-section .feature-list{display:grid;gap:12px}.accommodation-features .features-grid .feature-section .feature-list .feature-item{display:flex;align-items:center;gap:12px;padding:8px 0}.accommodation-features .features-grid .feature-section .feature-list .feature-item .feature-icon{font-size:18px;color:var(--accommodation-secondary);flex-shrink:0}.accommodation-features .features-grid .feature-section .feature-list .feature-item .feature-name{font-size:14px;color:var(--text-secondary)}.accommodation-features .features-grid .feature-section .feature-list .feature-item.premium .feature-icon{color:var(--accommodation-accent)}.accommodation-features .features-grid .feature-section .feature-list .feature-item.premium .feature-name{font-weight:600}.accommodation-policies{max-width:1200px;margin:0 auto 32px;padding:0 20px}.accommodation-policies .policies-container{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:16px;padding:24px}.accommodation-policies .policies-container .policies-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:20px;display:flex;align-items:center;gap:12px}.accommodation-policies .policies-container .policies-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:24px}.accommodation-policies .policies-container .policies-grid .policy-section .policy-header{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.accommodation-policies .policies-container .policies-grid .policy-section .policy-list .policy-item{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:14px;color:var(--text-secondary)}.accommodation-policies .policies-container .policies-grid .policy-section .policy-list .policy-item .policy-icon{color:var(--accommodation-secondary);margin-top:2px;flex-shrink:0}.accommodation-location{max-width:1200px;margin:0 auto 32px;padding:0 20px}.accommodation-location .location-container{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:16px;overflow:hidden}.accommodation-location .location-container .location-header{padding:24px 24px 0}.accommodation-location .location-container .location-header .location-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:8px;display:flex;align-items:center;gap:12px}.accommodation-location .location-container .location-header .location-description{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.accommodation-location .location-container .map-container{height:300px;background:var(--bg-tertiary);position:relative}.accommodation-location .location-container .map-container .map-placeholder{display:flex;align-items:center;justify-content:center;height:100%;flex-direction:column;gap:12px;color:var(--text-muted)}.accommodation-location .location-container .map-container .map-placeholder .map-icon{font-size:48px}.accommodation-location .location-container .map-container .map-placeholder .map-text{font-size:16px;font-weight:500}.accommodation-location .location-container .location-details{padding:16px 24px 24px;border-top:1px solid var(--border-light)}.accommodation-location .location-container .location-details .detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.accommodation-location .location-container .location-details .detail-item .detail-label{color:var(--text-secondary)}.accommodation-location .location-container .location-details .detail-item .detail-value{color:var(--text-primary);font-weight:600}.accommodation-container .menu-item{border:2px solid var(--border-light);transition:all .3s ease,border-color .2s ease}.accommodation-container .menu-item:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover);border-color:var(--accommodation-primary)}.accommodation-container .menu-item .item-content .item-name{color:var(--accommodation-primary);font-weight:700;margin-bottom:12px}.accommodation-container .menu-item .item-content .item-details{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.accommodation-container .menu-item .item-content .item-details .detail-item{background:var(--bg-secondary);color:var(--text-secondary);padding:4px 10px;border-radius:16px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px}.accommodation-container .menu-item .item-content .item-features{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px}.accommodation-container .menu-item .item-content .item-features .feature-tag{background:linear-gradient(135deg, var(--accommodation-secondary), var(--accommodation-primary));color:#fff;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:500}.accommodation-container .menu-item .item-content .item-features .feature-more{background:var(--bg-tertiary);color:var(--text-muted);padding:3px 8px;border-radius:12px;font-size:11px;font-style:italic}.accommodation-container .menu-item .add-to-cart-btn{background:linear-gradient(135deg, var(--accommodation-primary), var(--accommodation-secondary));padding:12px 20px;font-weight:600}.accommodation-container .menu-item .add-to-cart-btn:hover{background:linear-gradient(135deg, var(--accommodation-secondary), var(--accommodation-primary));transform:translateY(-2px)}.accommodation-container .reservation-timeline .timeline-step.completed .step-icon{background:var(--accommodation-secondary)}.accommodation-container .reservation-timeline .timeline-step.active .step-icon{background:var(--accommodation-primary);animation:pulse-accommodation 2s infinite}@keyframes pulse-accommodation{0%{box-shadow:0 0 0 0 rgba(44,90,160,.4)}70%{box-shadow:0 0 0 10px rgba(44,90,160,0)}100%{box-shadow:0 0 0 0 rgba(44,90,160,0)}}@media(max-width: 768px){.accommodation-info{margin:0 16px 32px;padding:0;border-radius:12px}.accommodation-info .accommodation-details{padding:20px}.accommodation-info .accommodation-details .location-header{flex-direction:column;gap:16px;align-items:flex-start}.accommodation-info .accommodation-details .quick-info{grid-template-columns:1fr;gap:12px}.accommodation-features{margin:0 16px 32px;padding:0}.accommodation-features .features-grid{grid-template-columns:1fr;gap:16px}.accommodation-features .features-grid .feature-section{padding:20px}.accommodation-policies{margin:0 16px 32px;padding:0}.accommodation-policies .policies-container{padding:20px}.accommodation-policies .policies-container .policies-grid{grid-template-columns:1fr;gap:16px}.accommodation-location{margin:0 16px 32px;padding:0}.accommodation-location .location-container .map-container{height:250px}}.accommodation-info .accommodation-gallery .gallery-item:hover img{transform:scale(1.05)}.accommodation-features .feature-section:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow-hover)}.accommodation-description .description-text{overflow:hidden;max-height:4.8em;transition:max-height .3s ease}.accommodation-description .description-text.expanded{max-height:none}.action-btn.favorited{background:var(--accommodation-accent) !important;color:#fff !important;transform:translateY(-2px) scale(1.05) !important}.temporary-message{animation:slideIn .3s ease}@keyframes slideIn{from{transform:translateX(300px);opacity:0}to{transform:translateX(0);opacity:1}}[data-theme=dark] .accommodation-info{background:var(--bg-secondary);border:1px solid var(--border-color)}[data-theme=dark] .accommodation-info .accommodation-gallery .gallery-item{background:var(--bg-tertiary)}[data-theme=dark] .accommodation-features .feature-section,[data-theme=dark] .accommodation-policies .policies-container,[data-theme=dark] .accommodation-location .location-container{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .quick-info .info-item{background:var(--bg-tertiary);border-color:var(--border-color)}/*# sourceMappingURL=accommodation.css.map */
