.contact-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;background:#0000008c;justify-content:center;align-items:center;animation:.25s ease-out forwards fadeIn;display:flex;position:fixed;inset:0}.contact-modal-content{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:var(--shadow-lg);overscroll-behavior:contain;max-height:90dvh;padding:32px 28px;animation:.3s ease-out forwards slideUp;position:relative;overflow-y:auto}.contact-modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:1.3rem;transition:color .2s,transform .2s;position:absolute;top:14px;right:16px}.contact-modal-close:hover{color:var(--color-danger);transform:scale(1.1)}.contact-modal-content .form{margin:0}.contact-modal-content h3{text-align:center;color:var(--color-primary);margin-bottom:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.contact-modal-content{margin:0 12px;padding:26px 20px}}.contact-success{text-align:center;animation:.4s ease-out forwards fadeScale}.contact-success h3{color:var(--color-primary);margin-top:12px}.contact-success p{color:var(--color-text-muted);margin-top:6px;font-size:.95rem}.location-block{margin-bottom:16px}.location-block>input[type=text]{box-sizing:border-box;width:100%;margin-top:10px}.location-block .power-outlet-option{margin-top:16px;margin-bottom:0}.checkmark{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 10px;font-size:2rem;animation:.4s ease-out forwards pop;display:flex}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes fadeScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.form-options{margin-top:12px}.form-options h4{color:var(--color-navy);margin-bottom:8px}.option-item{align-items:center;gap:10px;margin-bottom:6px;font-size:.95rem;display:flex}.options-block{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-surface-tint);margin:16px 0;padding:12px}.options-block h4{color:var(--color-primary);margin-bottom:12px}.option-line{cursor:pointer;align-items:center;gap:12px;margin-bottom:10px;font-size:.9rem;display:flex}.option-line input[type=checkbox],.option-line input[type=radio]{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0}.option-line span b{color:var(--color-primary)}.option-content{justify-content:space-between;width:100%;padding-right:8px;display:flex}.option-label{color:var(--color-navy);font-weight:500}.form-total{background-color:var(--color-surface-tint);border-radius:var(--radius-sm);text-align:center;color:var(--color-primary);box-shadow:var(--shadow-sm);margin:16px 0;padding:12px 16px;font-size:1.1rem;font-weight:700}@media (width<=600px){.contact-modal-overlay{overscroll-behavior:contain;align-items:flex-start;padding:20px 0;overflow-y:auto}.contact-modal-content{border-radius:14px;max-height:none;margin:0 12px;overflow-y:visible}}.promo-block h4{margin-bottom:10px}.promo-input-row{gap:8px;display:flex}.form .promo-input-row input{text-transform:uppercase;letter-spacing:.04em;flex:1;min-width:0}.form .promo-input-row .promo-apply{flex-shrink:0;margin-top:0;padding:10px 16px}.promo-applied{border:1.5px dashed var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-navy);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;display:flex}.promo-applied b{color:var(--color-primary);letter-spacing:.06em}.promo-remove{color:var(--color-text-muted);background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.promo-remove:hover{color:var(--color-danger)}.promo-error{color:var(--color-danger);margin:8px 0 0;font-size:.85rem}.form-total-discount{color:var(--color-text-muted);flex-wrap:wrap;justify-content:center;gap:4px 12px;margin-bottom:4px;font-size:.85rem;font-weight:500;display:flex}.form-total-old{text-decoration:line-through}.promo-popup-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2100;background:#00142d99;justify-content:center;align-items:center;padding:16px;animation:.3s ease-out forwards promoFadeIn;display:flex;position:fixed;inset:0}.promo-popup{overscroll-behavior:contain;background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90dvh;animation:.4s cubic-bezier(.2,.8,.2,1) forwards promoSlideUp;position:relative;overflow-y:auto;box-shadow:0 24px 60px #00336659}.promo-popup-close{z-index:1;color:#fff;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.95rem;transition:background .2s,transform .2s;display:flex;position:absolute;top:14px;right:16px}.promo-popup-close:hover{background:#ffffff4d;transform:scale(1.08)}.promo-popup-close:focus-visible{outline-offset:2px;outline:2px solid #fff}.promo-popup-header{text-align:center;color:#fff;background:linear-gradient(135deg, var(--color-navy) 0%, var(--color-primary) 100%);padding:32px 28px 28px;position:relative;overflow:hidden}.promo-popup-header:before,.promo-popup-header:after{content:"";background:#ffffff14;border-radius:50%;position:absolute}.promo-popup-header:before{width:180px;height:180px;top:-80px;left:-60px}.promo-popup-header:after{width:120px;height:120px;bottom:-60px;right:-30px}.promo-popup-eyebrow{letter-spacing:.12em;text-transform:uppercase;background:#ffffff2e;border-radius:999px;margin-bottom:12px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-block}.promo-popup-header h2{color:#fff;margin:0 0 10px;font-size:1.35rem;line-height:1.3;position:relative}.promo-popup-header p{color:var(--color-primary-light);margin:0;font-size:.92rem;position:relative}.promo-popup-body{flex-direction:column;gap:14px;padding:24px 24px 8px;display:flex}.promo-ticket{border-radius:var(--radius-md);background:var(--color-surface-tint);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;overflow:hidden}.promo-ticket-discount{background:var(--color-primary);color:#fff;border-right:2px dashed #fff9;flex:0 0 96px;justify-content:center;align-items:center;padding:12px 8px;display:flex;position:relative}.promo-ticket-discount span{text-align:center;font-family:Orbitron,sans-serif;font-size:1.35rem;font-weight:700}.promo-ticket-content{flex:1;min-width:0;padding:14px 16px}.promo-ticket-description{color:var(--color-navy);margin:0 0 10px;font-size:.92rem;font-weight:500}.promo-ticket-code{border:1.5px dashed var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:6px 6px 6px 12px;display:flex}.promo-ticket-code-value{letter-spacing:.08em;color:var(--color-primary);overflow-wrap:anywhere;font-family:Orbitron,sans-serif;font-size:1.05rem;font-weight:700}.promo-ticket-copy{background:var(--color-primary);color:#fff;border:none;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;font-size:.8rem;font-weight:600;transition:background .2s;display:inline-flex}.promo-ticket-copy:hover{background:var(--color-primary-dark)}.promo-ticket-copy.copied{background:#1e8e3e}.promo-ticket-services{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.promo-ticket-services li{background:var(--color-primary-light);color:var(--color-navy);border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:500}.promo-ticket-end{color:var(--color-text-muted);margin:10px 0 0;font-size:.78rem}.promo-popup-footer{flex-direction:column;align-items:center;gap:6px;padding:16px 24px 24px;display:flex}.promo-popup-footer .btn{width:100%}.promo-popup-later{color:var(--color-text-muted);background:0 0;border:none;padding:8px;font-size:.88rem;text-decoration:underline}.promo-popup-later:hover{color:var(--color-primary)}@keyframes promoFadeIn{0%{opacity:0}to{opacity:1}}@keyframes promoSlideUp{0%{opacity:0;transform:translateY(40px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.promo-popup-header{padding:28px 20px 22px}.promo-popup-header h2{font-size:1.15rem}.promo-popup-body{padding:18px 16px 4px}.promo-popup-footer{padding:14px 16px 20px}.promo-ticket{flex-direction:column}.promo-ticket-discount{border-bottom:2px dashed #fff9;border-right:none;flex-basis:auto;padding:10px}}@media (prefers-reduced-motion:reduce){.promo-popup-overlay,.promo-popup{animation:none}}.modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal{color:#fff;text-align:center;background:#111;border-radius:12px;width:90%;max-width:400px;padding:2.5rem 3rem;animation:.3s forwards slideIn;position:relative;box-shadow:0 8px 24px #0000004d}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-close{cursor:pointer;color:#aaa;background:0 0;border:none;font-size:1.2rem;transition:color .2s;position:absolute;top:10px;right:12px}.modal-close:hover{color:#ff4d4f}.modal h2{color:#00c4ff;margin-bottom:1.5rem;font-family:Orbitron,sans-serif;font-weight:700}.modal input[type=password]{color:#fff;background:#222;border:1px solid #444;border-radius:6px;outline:none;width:100%;margin-bottom:16px;padding:10px 12px;font-size:1rem;transition:border-color .2s}.modal input[type=password]:focus{border-color:#00c4ff}.modal button.btn-auth.login{color:#00c4ff;cursor:pointer;background:0 0;border:2px solid #00c4ff;border-radius:6px;width:100%;padding:10px 0;font-weight:600;transition:all .3s}.modal button.btn-auth.login:hover:not(:disabled){color:#111;background:#00c4ff}.modal button.btn-auth.login:disabled{opacity:.6;cursor:not-allowed}.modal-error{color:#ff4d4f;margin-bottom:10px;font-size:.9rem}.admin-page{margin:0 auto;padding:20px 16px 10px}.table-wrapper{overflow-x:auto}.admin-table{border-collapse:collapse;background:#fff;width:100%}.admin-table th,.admin-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #ddd;align-items:center;padding:12px}.admin-table th{background:#f3f3f3;font-weight:600}.admin-table select{border-radius:6px;padding:4px}.admin-table button{cursor:pointer;background:0 0;border:none;font-size:1.1rem}.admin-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 16px 0;display:grid}.admin-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;flex-direction:column;gap:2px;padding:14px 16px;font-family:inherit;transition:border-color .15s,box-shadow .15s;display:flex}.admin-summary-card:hover{border-color:var(--color-primary)}.admin-summary-card:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.admin-summary-card.highlight{background:#fff9e6;border-color:#e0b84c}.admin-summary-label{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.admin-summary-value{color:var(--color-primary);font-size:1.7rem;line-height:1.2}.admin-summary-card.highlight .admin-summary-value{color:#856404}.admin-summary-hint{color:var(--color-text-muted);font-size:.8rem}.admin-tabs{box-shadow:inset 0 -2px 0 var(--color-border);gap:4px;margin:16px 16px 0;display:flex;overflow:auto hidden}.admin-tab{color:var(--color-text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:1rem;font-weight:600;display:inline-flex}.admin-tab:hover{color:var(--color-primary)}.admin-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-tab-count{background:var(--color-primary);color:#fff;text-align:center;border-radius:11px;min-width:22px;padding:1px 7px;font-size:.75rem;line-height:1.5}.admin-toolbar{flex-wrap:wrap;gap:10px;margin:12px 0 8px;display:flex}.admin-toolbar input,.admin-toolbar select{border-radius:var(--radius-sm);border:1px solid var(--color-input-border);background:var(--color-surface);color:var(--color-text);padding:9px 12px;font-family:inherit;font-size:.95rem}.admin-toolbar input:focus,.admin-toolbar select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.admin-search{flex:260px;min-width:0}.admin-reset{padding:9px 16px}.admin-count{color:var(--color-text-muted);margin:0 0 10px;font-size:.9rem}.admin-empty{color:var(--color-text-muted);padding:28px 12px}.admin-table th .sort-button{font:inherit;color:inherit;white-space:nowrap;padding:0;font-weight:600}.admin-table th .sort-button:hover{color:var(--color-primary)}.badge{border-radius:12px;padding:6px 10px;font-size:.8rem;font-weight:700}.badge.en-attente{color:#856404;background:#fff3cd}.badge.confirmée{color:#155724;background:#d4edda}.badge.annulée{color:#721c24;background:#f8d7da}.badge.payée{color:#155724;background:#d4edda}.badge.à-payer{color:#856404;background:#fff3cd}.admin-data-table{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.admin-data-table th,.admin-data-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:14px 16px}.admin-data-table th{background:var(--color-surface-tint);color:var(--color-navy);font-size:.85rem}.admin-data-table tbody tr:not(.options-row):hover{background:var(--color-surface-tint)}.admin-data-table .options-row td{border-top:none;padding-top:0}.cell-main{color:var(--color-text);font-weight:600}.reservations-table td:nth-child(3) .cell-main{white-space:nowrap}.cell-sub{color:var(--color-text-muted);margin-top:2px;font-size:.85rem}.admin-data-table .badge{white-space:nowrap;display:inline-block}.admin-data-table .promo-admin-tags,.admin-data-table .promo-admin-row-actions{justify-content:flex-start}.row-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.row-actions-line{align-items:center;gap:8px;display:flex}.reservations-table .row-actions select{border:1px solid var(--color-input-border);background:var(--color-surface);padding:6px 8px;font-family:inherit;font-size:.9rem}.reservations-table .action-btn{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.reservations-table .action-btn:disabled{opacity:.5;cursor:default}.reservations-table .action-btn-primary{background:var(--color-primary);color:#fff}.reservations-table .action-btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.reservations-table .action-btn-danger{color:var(--color-danger);background:0 0;padding:7px 9px}.reservations-table .action-btn-danger:hover:not(:disabled){background:#ff4d4f1a}.admin-toast{z-index:1000;color:#fff;cursor:pointer;background:#1e7e34;border-radius:10px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:12px 18px;font-size:.95rem;animation:.25s ease-out admin-toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.admin-toast-icon{font-size:1.1rem;font-weight:700}@keyframes admin-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.options-row{background-color:#f9f9f9}.options-container{flex-wrap:wrap;gap:12px;display:flex}.option-item{background-color:#e8f0fe;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.9rem;display:flex}.option-label{font-weight:500}.option-price{color:#1a73e8;font-weight:700}.promo-code-info{margin-top:6px;font-size:.8rem}.promo-code-info b{color:var(--color-primary);letter-spacing:.04em}.promo-admin-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:16px 0 28px;padding:20px}.promo-admin-form h3{color:var(--color-primary);margin-bottom:16px;font-size:1.05rem}.promo-admin-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.promo-admin-field{color:var(--color-navy);flex-direction:column;gap:6px;font-size:.9rem;font-weight:500;display:flex}.promo-admin-field-wide{grid-column:1/-1}.promo-admin-field input,.promo-admin-field select,.promo-admin-field textarea{border-radius:var(--radius-sm);border:1px solid var(--color-input-border);background:var(--color-surface);color:var(--color-text);padding:10px 12px;font-family:inherit;font-size:.95rem}.promo-admin-field input:focus,.promo-admin-field select:focus,.promo-admin-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.promo-admin-field textarea{resize:vertical}.promo-admin-services{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-surface-tint);margin:18px 0 12px;padding:12px 14px}.promo-admin-services legend{color:var(--color-primary);padding:0 6px;font-weight:600}.promo-admin-select-all{color:var(--color-primary);background:0 0;border:none;margin-bottom:10px;padding:0;font-size:.85rem;text-decoration:underline}.promo-admin-flags{flex-wrap:wrap;gap:0 24px;display:flex}.promo-admin-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.promo-admin-empty{color:var(--color-text-muted);text-align:center}.promo-admin-code{border:1px dashed var(--color-primary);background:var(--color-surface-tint);color:var(--color-primary);letter-spacing:.06em;border-radius:6px;padding:4px 10px;font-weight:700;display:inline-block}.promo-admin-tags{justify-content:center}.promo-admin-tags .option-item{font-size:.8rem}.promo-admin-toggle{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.promo-admin-row-actions{justify-content:center;align-items:center;gap:12px;display:flex}.promo-admin-row-actions .meta-line{margin:0}@media (width<=980px){.admin-summary{grid-template-columns:repeat(2,1fr);gap:10px}.admin-summary-card{padding:12px}.admin-toolbar{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-toolbar .admin-search{grid-column:1/-1}.admin-toolbar select{width:100%;min-width:0}.admin-toolbar .admin-reset{grid-column:1/-1}.admin-data-table{box-shadow:none;background:0 0;overflow:visible}.admin-data-table thead{display:none}.admin-data-table tbody{display:block}.admin-data-table tbody tr:not(.options-row){background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);grid-template-columns:1fr auto;gap:12px 16px;margin-top:12px;padding:14px;display:grid}.admin-data-table tbody tr:not(.options-row):hover{background:var(--color-surface)}.admin-data-table td{border:none;min-width:0;padding:0;display:block}.reservations-table td:first-child{grid-area:1/1}.reservations-table td:nth-child(3){text-align:right;grid-area:1/2}.reservations-table td:nth-child(2){grid-area:2/1/3/3}.reservations-table td:nth-child(4){grid-area:3/1}.reservations-table td:nth-child(5){text-align:right;grid-area:3/2}.reservations-table td:nth-child(6){border-top:1px solid var(--color-border);grid-area:4/1/5/3;padding-top:12px}.admin-data-table td.admin-empty{text-align:center;grid-area:auto/1/auto/-1}.admin-data-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);margin-bottom:4px;font-size:.75rem;display:block}.reservations-table .row-actions{align-items:stretch;width:100%}.reservations-table .row-actions-line{justify-content:space-between}.reservations-table .row-actions select{flex:1;min-height:40px}.reservations-table .action-btn{justify-content:center;min-height:40px}.reservations-table .action-btn-danger{padding:0 14px}.reservations-table tbody tr:has(+.options-row){box-shadow:none;border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.reservations-table tbody tr.options-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-sm);border-top:none;padding:0 14px 14px;display:block}.reservations-table tbody tr.options-row td{padding:0}.messages-table td:first-child{grid-area:1/1;font-weight:600}.messages-table td:nth-child(4){text-align:right;grid-area:1/2;font-weight:600}.messages-table td:nth-child(2){color:var(--color-text-muted);overflow-wrap:anywhere;grid-area:2/1;font-size:.85rem}.messages-table td:nth-child(5){text-align:right;color:var(--color-text-muted);grid-area:2/2;font-size:.85rem}.messages-table td:nth-child(3){overflow-wrap:anywhere;grid-area:3/1/4/3}.messages-table td:nth-child(6){border-top:1px solid var(--color-border);grid-area:4/1/5/3;justify-content:flex-end;padding-top:12px;display:flex}.promo-table td:first-child{grid-area:1/1}.promo-table td:nth-child(6){text-align:right;grid-area:1/2}.promo-table td:nth-child(2){grid-area:2/1}.promo-table td:nth-child(4){text-align:right;color:var(--color-text-muted);grid-area:2/2;font-size:.85rem}.promo-table td:nth-child(3){grid-area:3/1/4/3}.promo-table td:nth-child(5){grid-area:4/1}.promo-table td:nth-child(7){text-align:right;grid-area:4/2}.promo-table td:nth-child(8){border-top:1px solid var(--color-border);grid-area:5/1/6/3;padding-top:12px}.promo-table .promo-admin-row-actions{justify-content:flex-end}.promo-table .promo-admin-toggle{width:22px;height:22px}}@media (width<=600px){.promo-admin-form{padding:16px}.promo-admin-actions{flex-direction:column-reverse}}:root{--color-primary:#06c;--color-primary-dark:#004999;--color-primary-light:#bbd9ff;--color-navy:#036;--color-bg:#f5f9ff;--color-surface:#fff;--color-surface-tint:#f0f8ff;--color-text:#111;--color-text-muted:#555;--color-placeholder:#8a98a8;--color-border:#0066cc1f;--color-input-border:#c9d6e6;--color-focus-ring:#0066cc2e;--color-danger:#ff4d4f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 4px 12px #0033660f;--shadow-md:0 8px 20px #0033661a;--shadow-lg:0 12px 28px #0066cc40;--container-max:1200px}.clickable{cursor:pointer}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--color-bg);color:var(--color-text);font-family:Poppins,sans-serif;overflow-x:visible}h1,h2,h3,.company-name{font-family:Orbitron,sans-serif;font-weight:700}button{cursor:pointer;font-family:inherit}section{scroll-margin-top:140px}.section-title{text-align:center;color:var(--color-primary);margin:56px 20px 8px;font-size:2rem}.section-title:after{content:"";background:var(--color-primary);border-radius:2px;width:60px;height:4px;margin:12px auto 0;display:block}.meta-line{align-items:center;gap:6px;display:flex}.meta-icon.clickable:hover{transform:scale(1.1)}.meta-line svg{flex-shrink:0;display:block}.btn{border-radius:var(--radius-sm);border:2px solid var(--color-primary);justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn:focus-visible{outline:2px solid var(--color-navy);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-secondary{color:var(--color-primary);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-primary);color:#fff}.header-container{z-index:1100;width:100%;position:sticky;top:0}.topbar{background:var(--color-primary);color:#fff;justify-content:center;padding:10px 24px;font-size:.9rem;display:flex}.contact-info{white-space:nowrap;align-items:center;gap:32px;display:flex}.contact-info a{color:inherit;align-items:center;gap:6px;text-decoration:none;display:flex}.contact-info a:hover{text-decoration:underline}.contact-info img,.contact-info svg{flex-shrink:0;width:20px;height:20px}.navbar{background:var(--color-primary-light);justify-content:space-between;align-items:center;padding:16px 32px;display:flex;box-shadow:0 4px 10px #0000001a}.logo-container{align-items:center;gap:12px;display:flex}.logo{border-radius:10px;width:auto;height:40px;box-shadow:5px 5px 5px #4169e1}.logo-big{border-radius:25px;width:auto;max-width:100%;height:auto;max-height:300px;margin-bottom:30px;box-shadow:20px 20px 20px #4169e1}.company-name{color:var(--color-primary);font-size:1.5rem}.navbar .links button,.navbar .links a{color:var(--color-primary);border-radius:var(--radius-sm);background:0 0;border:none;margin-left:16px;padding:8px 16px;font-family:Orbitron,sans-serif;font-size:.85rem;font-weight:700;text-decoration:none;transition:transform .2s,color .2s;display:inline-block}.navbar .links button:hover,.navbar .links a:hover{background:var(--color-primary);color:#fff;transform:scale(1.05)}.navbar .links a.active{box-shadow:inset 0 -3px 0 var(--color-primary)}.navbar .links .nav-promo{align-items:center;gap:8px;display:inline-flex}.nav-promo-dot{background:var(--color-danger);border-radius:50%;flex-shrink:0;width:8px;height:8px;position:relative}.nav-promo-dot:after{content:"";background:var(--color-danger);border-radius:50%;animation:1.8s ease-out infinite navPromoPulse;position:absolute;inset:0}@keyframes navPromoPulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion:reduce){.nav-promo-dot:after{animation:none}}.nav-mobile-actions,.navbar .links .nav-contact{display:none}.nav-cta{white-space:nowrap;padding:8px 14px;font-family:Orbitron,sans-serif;font-size:.8rem}.nav-toggle{color:var(--color-primary);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.hero{color:#fff;text-align:center;background:#111;width:100%;position:relative;overflow:hidden}.hero-image{width:100%;height:auto;display:block}.hero-content{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero:after{content:"";background:#0006;position:absolute;inset:0}.hero-content h1,.hero-content p,.hero-content .btn,.hero-icon{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out;transform:translateY(30px)scale(.98)}.hero-content.visible h1,.hero-content.visible p,.hero-content.visible .btn,.hero-content.visible .hero-icon{opacity:1;transform:none}.hero-content.visible p{transition-delay:.2s}.hero-content.visible .btn{transition-delay:.4s}.hero h1{margin-bottom:16px;font-size:2.5rem}.hero p{margin-bottom:24px;font-size:1.2rem}.hero-intro{text-align:center;max-width:900px;margin:0 auto;padding:40px 20px 0}.hero-intro h1{color:var(--color-primary);margin-bottom:16px;font-size:2.5rem}.hero-intro p{font-size:1.2rem}.hero-icons{flex-wrap:wrap;justify-content:center;gap:40px;margin-top:24px;display:flex}.hero-icon{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.hero-icon img,.hero-icon svg{object-fit:contain;width:50px;height:50px;margin-bottom:6px;display:block}.hero-icon span{font-size:.95rem;font-weight:700}.services-section{background:var(--color-primary-light);margin-top:40px;padding-top:56px}.services-section .section-title{margin-top:0}.services-container{max-width:var(--container-max);grid-template-columns:repeat(3,1fr);gap:24px;margin:0 auto;padding:40px 20px;display:grid}.service-card{border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%;min-width:0;box-shadow:var(--shadow-md);opacity:0;background:#fff;flex-direction:column;justify-content:space-between;padding:20px;transition:opacity .7s,transform .7s,box-shadow .2s;display:flex;transform:translateY(30px)scale(.98)}.service-card.visible{opacity:1;transform:none}.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)scale(1.02)}.service-image{object-fit:cover;border-radius:var(--radius-md);width:100%;max-width:100%;height:160px;margin-bottom:16px}.service-card h3{color:var(--color-navy);text-align:center;margin-bottom:12px}.price{color:var(--color-primary);text-align:center;margin-bottom:12px;font-size:1.3rem;font-weight:700;display:block}.service-card p{color:var(--color-text);margin-bottom:12px}.service-card ul{margin-bottom:16px;padding-left:16px}.service-card ul li{color:var(--color-text);margin-bottom:6px}.service-card-footer{flex-direction:column;gap:12px;margin-top:auto;display:flex}.service-list-wrapper{max-height:4.2em;transition:max-height .5s;overflow:hidden}.service-list-wrapper.expanded{max-height:none}.service-toggle{justify-content:center;align-items:center;gap:6px;display:flex}.service-toggle .chevron{transition:transform .4s}.service-toggle.expanded .chevron{transform:rotate(180deg)}.services-note{background:var(--color-primary-light);padding:0 20px 40px}.services-note p{opacity:.75;max-width:1160px;margin:0 auto;font-size:.85rem;font-style:italic}.reviews{max-width:var(--container-max);flex-wrap:wrap;justify-content:center;gap:20px;margin:0 auto;padding:40px 20px 60px;display:flex}.review{text-align:center;border-radius:var(--radius-lg);border:1px solid var(--color-border);width:300px;max-width:100%;box-shadow:var(--shadow-md);opacity:0;background:#fff;padding:20px;transition:opacity .7s,transform .7s;transform:translateY(30px)scale(.98)}.review.visible{opacity:1;transform:none}.tabs{justify-content:center;gap:12px;margin:20px 0;display:flex}.tabs button{border-radius:var(--radius-sm);background:#fff;border:1px solid #111;padding:10px 20px;font-weight:700}.tabs button.active{color:#fff;background:#111}.tab-content{justify-content:center;margin-top:20px;margin-bottom:40px;display:flex}.form{flex-direction:column;gap:12px;width:100%;max-width:420px;margin:0 auto;animation:.4s ease-out fadeUp;display:flex}.form input:not([type=checkbox]):not([type=radio]),.form textarea,.form select{border-radius:var(--radius-sm);border:1px solid var(--color-input-border);background:var(--color-surface);width:100%;color:var(--color-text);padding:12px 14px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form input::placeholder,.form textarea::placeholder{color:var(--color-placeholder)}.form input:not([type=checkbox]):not([type=radio]):focus,.form textarea:focus,.form select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.form textarea{resize:vertical;min-height:120px}.form .btn{margin-top:12px}.form-field{color:var(--color-navy);flex-direction:column;gap:6px;font-size:.9rem;font-weight:500;display:flex}.form input[type=date],.form input[type=time]{appearance:none;min-height:48px}.footer{color:#fff;background:#000;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:24px;display:grid}.footer>span{text-align:center;grid-column:2}.footer>.footer-credit{grid-column:3;justify-self:end}@media (width<=768px){section{padding-left:16px;padding-right:16px;scroll-margin-top:90px}.section-title{margin-top:40px;font-size:1.5rem}.services-section{padding-top:40px}.topbar{display:none}.navbar{gap:12px;padding:10px 16px;position:relative}.nav-mobile-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.navbar .links{background:var(--color-primary-light);flex-direction:column;max-height:calc(100dvh - 70px);padding:8px 16px 16px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 16px #00000026}.navbar .links.open{display:flex}.navbar .links button,.navbar .links a{text-align:left;width:100%;margin-left:0;padding:14px 12px;font-size:.95rem;display:block}.navbar .links button:hover,.navbar .links a:hover{transform:none}.navbar .links .nav-booking{display:none}.navbar .links .nav-contact{border-top:1px solid #0066cc4d;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.navbar .links .nav-contact a{align-items:center;gap:8px;font-family:Poppins,sans-serif;font-weight:400;display:flex}.navbar .links .nav-contact img{flex-shrink:0;width:20px;height:20px}.logo-container{flex-direction:row;align-items:center;gap:10px;min-width:0}.logo{flex-shrink:0;height:40px}.logo-big{max-width:calc(100% - 10px);max-height:250px;box-shadow:10px 10px 10px #4169e1}.company-name{text-align:left;font-size:.85rem;line-height:1.15}.hero{background-attachment:scroll}.hero h1,.hero-intro h1{font-size:1.8rem}.hero-intro p{font-size:1rem}.hero-content .btn{display:none}.hero-icons{flex-wrap:nowrap;gap:12px;margin-top:0;padding-bottom:8px;overflow-x:auto}.hero-icons::-webkit-scrollbar{display:none}.hero-icon{gap:4px;min-width:64px}.hero-icon img,.hero-icon svg{width:26px;height:26px;margin-bottom:2px}.hero-icon span{white-space:nowrap;font-size:.65rem;line-height:1.1}.services-container{grid-template-columns:1fr;padding:40px 0}.reviews{flex-direction:column;align-items:center}}@media (width>=769px) and (width<=1024px){.services-container{grid-template-columns:repeat(2,1fr)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.faq-section{max-width:900px;margin:0 auto;padding:60px 20px}.faq-section h2{color:var(--color-primary);text-align:center;margin-bottom:16px}.faq-intro{color:var(--color-text-muted);max-width:700px;margin:0 auto 40px;font-size:1rem}.faq-list{flex-direction:column;gap:14px;display:flex}.faq-item{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:box-shadow .3s;overflow:hidden}.faq-item:hover{box-shadow:var(--shadow-lg)}.faq-question{width:100%;color:var(--color-navy);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:18px 20px;font-family:Orbitron,sans-serif;font-size:1rem;font-weight:700;display:flex}.faq-icon{color:var(--color-primary);transition:transform .3s}.faq-item.open .faq-icon{transform:rotate(180deg)}.faq-answer{max-height:0;color:var(--color-text);padding:0 20px;font-size:.95rem;line-height:1.6;transition:max-height .4s,padding .3s;overflow:hidden}.faq-item.open .faq-answer{max-height:300px;padding:0 20px 18px}.faq-answer ul{margin-top:10px;padding-left:18px}.faq-cta{justify-content:center;margin-top:40px;display:flex}.quick-links{background:var(--color-primary);color:#fff;padding:40px 20px;font-family:Poppins,sans-serif}.quick-links .container{flex-wrap:wrap;justify-content:space-between;gap:40px;max-width:1200px;margin:0 auto;display:flex}.quick-links-nav,.quick-links-nav h3,.quick-contact h3{margin-bottom:16px;font-family:Orbitron,sans-serif;font-size:1.2rem;font-weight:700}.quick-links-nav ul{flex-direction:column;gap:10px;list-style:none;display:flex}.quick-links-nav ul li button{color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;padding:4px 0;font-weight:700;transition:color .2s}.quick-links-nav ul li button:hover{color:var(--color-primary-light)}.quick-contact ul.contact-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.quick-contact ul.contact-list li{align-items:center;gap:12px;display:flex}.quick-contact ul.contact-list img{width:30px;height:30px}.quick-contact a{color:#fff;text-decoration:none;transition:color .2s}.quick-links-nav a,.quick-links-nav button{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem;text-decoration:none}.quick-links-nav a:hover,.quick-links-nav button:hover{color:var(--color-primary-light);text-decoration:underline}.quick-links-nav li{margin-bottom:8px}.footer-credit{color:#d4af37;align-items:center;gap:10px;font-size:.9rem;text-decoration:none;transition:opacity .2s;display:inline-flex}.footer-credit img{object-fit:contain;width:40px;height:40px}.footer-credit:hover{opacity:.8;text-decoration:underline}.footer>span,.footer>.footer-credit{grid-row:1}.footer>.footer-install{grid-area:2/2;justify-self:center}@media (width<=768px){.footer{grid-template-columns:1fr;justify-items:center;gap:12px;padding:16px;font-size:.8rem}.footer>span,.footer>.footer-install,.footer>.footer-credit{text-align:center;grid-area:auto/1;justify-self:center}.footer-credit{font-size:.8rem}.footer-credit img{width:30px;height:30px}.quick-links .container{flex-direction:column;gap:24px}}.footer-install{color:inherit;font:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.footer-install:hover{opacity:1}.about-us{background:var(--color-primary-light);text-align:center;padding:60px 20px}.about-us .container{max-width:800px;margin:0 auto}.about-us h2{color:var(--color-primary);margin-bottom:24px;font-family:Orbitron,sans-serif;font-size:2rem;font-weight:700}.about-us p{color:var(--color-text);margin-bottom:16px;font-family:Poppins,sans-serif;font-size:1rem;line-height:1.8}@media (width<=768px){.about-us h2{font-size:1.5rem}.about-us p{font-size:.95rem}}.install-banner{z-index:900;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:calc(100vw - 32px);box-shadow:var(--shadow-md);color:var(--color-text);align-items:center;gap:10px;padding:10px 12px 10px 16px;font-family:Poppins,sans-serif;font-size:.85rem;animation:.3s ease-out installBannerIn;display:flex;position:fixed;bottom:16px;left:16px}.install-banner-action{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:6px 12px;font-weight:600}.install-banner-action:hover{background:var(--color-primary-dark)}.install-banner-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:1.3rem;line-height:1}@keyframes installBannerIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.install-banner{max-width:none;bottom:8px;left:8px;right:8px}.install-banner-text{flex:1}}
