html,body{height:100%;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#root{height:100%;min-height:100vh;min-height:100dvh}*{box-sizing:border-box}body{line-height:1.6;color:#333;background-color:#f8f9fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}button{border:none;background:none;font-family:inherit;cursor:pointer;touch-action:manipulation}input,textarea,select{font-family:inherit;font-size:16px}a{color:inherit;text-decoration:none;touch-action:manipulation}img{max-width:100%;height:auto;display:block}iframe,embed,object,video{max-width:100%;width:100%;height:auto;display:block}svg,picture{max-width:100%;height:auto;display:block}*{-webkit-overflow-scrolling:touch}.header{background:linear-gradient(135deg,#2c5aa0,#1e3d72);color:#fff;padding:1rem 0;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.header .container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;position:relative}.logo{text-decoration:none;color:#fff;z-index:110}.logo h1{margin:0;font-size:2rem;font-weight:700}.logo p{margin:0;font-size:.9rem;opacity:.9;font-style:italic}.hamburger{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;z-index:110}.hamburger span{width:25px;height:3px;background:#fff;margin:3px 0;transition:.3s;border-radius:2px}.hamburger.active span:nth-child(1){transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}.nav{display:flex;gap:2rem}.nav-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:5px;transition:background-color .3s ease;font-weight:500}.nav-link:hover,.nav-link.active{background-color:#fff3}.nav-overlay{display:none}@media (max-width: 768px){.header{padding:.5rem 0}.header .container{padding:0 1rem}.logo h1{font-size:1.5rem}.logo p{font-size:.8rem}.hamburger{display:flex}.nav{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:linear-gradient(135deg,#2c5aa0,#1e3d72);flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:6rem 2rem 2rem;gap:0;transition:right .3s ease;z-index:120;box-shadow:-5px 0 15px #0000001a}.nav.nav-open{right:0}.nav-link{width:100%;padding:1rem 0;border-radius:0;border-bottom:1px solid rgba(255,255,255,.1);font-size:1.1rem;text-align:left}.nav-link:last-child{border-bottom:none}.nav-overlay{display:block;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:115}}@media (max-width: 480px){.logo h1{font-size:1.3rem}.logo p{font-size:.75rem}.nav{width:250px;padding:5rem 1.5rem 1.5rem}.nav-link{font-size:1rem;padding:.8rem 0}}.footer{background:#1e3d72;color:#fff;padding:2rem 0 1rem;margin-top:auto}.footer .container{max-width:1200px;margin:0 auto;padding: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;color:#87ceeb}.footer-section p{margin:.5rem 0;opacity:.9}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:.5rem 0}.footer-link{color:#fff;text-decoration:none;opacity:.9;transition:all .3s ease;display:inline-block}.footer-link:hover{color:#87ceeb;opacity:1;transform:translate(5px)}.footer-bottom{text-align:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2);opacity:.8}@media (max-width: 768px){.footer{padding:1.5rem 0 1rem}.footer .container{padding:0 1rem}.footer-content{grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem}.footer-section{text-align:center}}@media (max-width: 480px){.footer{padding:1rem 0 .5rem}.footer .container{padding:0 .5rem}.footer-content{gap:1rem;margin-bottom:1rem}.footer-section h3,.footer-section h4{font-size:1.1rem;margin-bottom:.8rem}.footer-section p{font-size:.9rem}.footer-bottom p{font-size:.8rem}}.footer-bottom-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.legal-links{display:flex;gap:1rem;align-items:center}.legal-link{color:#fffc;text-decoration:none;font-size:.9rem;transition:color .3s ease}.legal-link:hover{color:#fff;text-decoration:underline}@media (max-width: 768px){.footer-bottom-content{flex-direction:column;text-align:center;gap:.5rem}.legal-links{justify-content:center}}.home-page{min-height:120vh;width:100%;margin:0;padding:0}.hero{background:linear-gradient(#1e3d72b3,#2c5aa0b3),url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><rect fill="%2387ceeb" width="1200" height="600"/></svg>');background-size:cover;background-position:center;color:#fff;padding:4rem 0;display:flex;align-items:center;min-height:500px;width:100%;position:relative}.hero .container{max-width:1200px;margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;width:100%}.hero-content h1{font-size:3rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero-content p{font-size:1.2rem;margin-bottom:1rem;opacity:.95}.cta-button{display:inline-block;background:#ff6b35;color:#fff;padding:1rem 2rem;text-decoration:none;border-radius:8px;font-weight:700;transition:background .3s ease;margin-top:1rem}.cta-button:hover{background:#e55a2e;transform:translateY(-2px)}.hero-image{display:flex;justify-content:center}.main-facade-image{width:100%;max-width:500px;height:auto;border-radius:15px;box-shadow:0 8px 25px #00000026;transition:transform .3s ease}.main-facade-image:hover{transform:scale(1.02)}.placeholder-image,.placeholder-map{background:#fff3;border:2px dashed rgba(255,255,255,.5);border-radius:10px;padding:3rem;text-align:center;font-size:1.2rem;width:100%;max-width:400px;height:250px;display:flex;align-items:center;justify-content:center}.location-map{width:100%;max-width:400px}.location-map iframe{width:100%;height:300px;border-radius:8px;box-shadow:0 4px 6px #0000001a}.description,.location{padding:4rem 0;background:#fff}.location{background:#f8f9fa}.description-grid,.location-grid{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:start}.location-grid{grid-template-columns:1fr 1fr}.description h2,.location h2{text-align:center;margin-bottom:3rem;color:#2c3e50;font-size:2.5rem}.description-text p{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;color:#333}.features{background:#f8f9fa;padding:2rem;border-radius:10px;border-left:4px solid #2c5aa0}.features h3{margin-bottom:1.5rem;color:#2c3e50}.features ul,.location-text ul{list-style:none;padding:0}.features li,.location-text li{padding:.5rem 0;font-size:1.1rem}.equipment-link{display:inline-block;margin-top:1rem;padding:.8rem 1.5rem;background:#2c5aa0;color:#fff;text-decoration:none;border-radius:25px;font-weight:500;transition:all .3s ease}.equipment-link:hover{background:#1e3d72;transform:translateY(-2px);color:#fff}.location-text{padding-right:2rem}.location-text h3{color:#2c3e50;margin-bottom:1rem}.location-text p{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;color:#333}.cta-section{background:linear-gradient(135deg,#1e3d72,#2c5aa0);color:#fff;padding:4rem 0;text-align:center}.cta-section h2{font-size:2.5rem;margin-bottom:1rem}.cta-section p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.btn-primary,.btn-secondary{padding:1rem 2rem;text-decoration:none;border-radius:8px;font-weight:700;transition:all .3s ease}.btn-primary{background:#ff6b35;color:#fff}.btn-secondary{background:transparent;color:#fff;border:2px solid white}.btn-primary:hover{background:#e55a2e;transform:translateY(-2px)}.btn-secondary:hover{background:#fff;color:#1e3d72;transform:translateY(-2px)}@media (max-width: 768px){.hero{padding:2rem 0;min-height:400px}.hero .container{grid-template-columns:1fr;text-align:center;gap:2rem;padding:0 1rem}.hero-content h1{font-size:2rem;margin-bottom:1rem}.hero-content p{font-size:1rem;margin-bottom:.8rem}.placeholder-image,.placeholder-map{height:200px;font-size:1rem;padding:2rem}.description,.location{padding:2rem 0}.description h2,.location h2{font-size:1.8rem;margin-bottom:2rem}.description-grid,.location-grid{grid-template-columns:1fr;gap:2rem}.location-text{padding-right:0}.features{padding:1.5rem}.cta-section{padding:2rem 0}.cta-section h2{font-size:1.8rem}.cta-buttons{flex-direction:column;align-items:center;gap:1rem}.btn-primary,.btn-secondary{width:250px;padding:1rem 1.5rem}}@media (max-width: 480px){.hero{padding:1.5rem 0;min-height:350px}.hero .container{padding:0 .5rem;gap:1.5rem}.hero-content h1{font-size:1.6rem}.hero-content p{font-size:.9rem}.cta-button{padding:.8rem 1.5rem;font-size:1rem}.description h2,.location h2,.cta-section h2{font-size:1.5rem}.container{padding:0 .5rem}.placeholder-image,.placeholder-map{height:150px;font-size:.9rem;padding:1.5rem}.features{padding:1rem}.features li{font-size:1rem}.btn-primary,.btn-secondary{width:100%;max-width:280px}}.view-icon{font-size:2rem;color:#fff}.image-info h3{margin:0 0 .5rem;color:#fff;font-size:1.2rem}.modal-close{position:absolute;top:1rem;right:1rem;background:#000000b3;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:1001;display:flex;align-items:center;justify-content:center}.modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;color:#fff;border:none;width:50px;height:50px;border-radius:50%;font-size:2rem;cursor:pointer;z-index:1001;display:flex;align-items:center;justify-content:center}.large-icon{font-size:5rem;opacity:.8;color:#fff}.modal-info h2{margin:0 0 1rem;color:#fff}.contact-page{padding:2rem 0;background:#f8f9fa;min-height:100vh}.contact-header{text-align:center;margin-bottom:3rem}.contact-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:1rem}.contact-header p{font-size:1.2rem;color:#666}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem}.contact-info{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 6px #0000001a;height:fit-content}.form-section h2{margin-bottom:2rem;color:#2c3e50}.info-item{display:flex;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}.info-item:last-child{border-bottom:none;margin-bottom:0}.info-icon{font-size:1.5rem;margin-right:1rem;min-width:2rem}.info-icon .icon{display:inline-block;width:28px;height:28px;background:#2c5aa014;border-radius:6px}.icon.email-icon,.icon.phone-icon,.icon.location-icon{background-image:none}.info-item h3{margin:0 0 .5rem;color:#1e3d72;font-size:1.2rem}.info-item p{margin:.2rem 0;color:#666;line-height:1.5}.pricing-info{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-top:2rem}.pricing-info h3{color:#2c3e50;margin-bottom:1rem}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.price-item{display:flex;flex-direction:column;text-align:center;padding:1rem;background:#fff;border-radius:6px;border:2px solid #2c5aa0}.season{font-size:.9rem;color:#666;margin-bottom:.5rem}.price{font-size:1.3rem;font-weight:700;color:#1e3d72}.pricing-note{font-size:.9rem;color:#666;font-style:italic;margin:0}.contact-form-section{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 6px #0000001a}.contact-form-section h2{color:#2c3e50;margin-bottom:2rem;font-size:1.8rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group.full-width{grid-column:span 2}.form-group input,.form-group select,.form-group textarea{padding:.8rem;border:2px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2c5aa0}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{background:#2c5aa0;color:#fff;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .3s ease;align-self:flex-start}.submit-btn:hover{background:#1e3d72}.success-message{text-align:center;padding:3rem 2rem;background:#d4edda;border-radius:10px;border:2px solid #c3e6cb}.success-icon{font-size:3rem;margin-bottom:1rem}.success-message h3{color:#155724;margin-bottom:1rem}.success-message p{color:#155724;margin:0}.map-section{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 6px #0000001a}.map-section h2{color:#2c3e50;margin-bottom:2rem;text-align:center;font-size:1.8rem}.map-placeholder{height:300px;background:linear-gradient(135deg,#87ceeb,#4682b4);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}.contact-map{width:100%;border-radius:10px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.contact-map iframe{width:100%;height:400px;border-radius:10px}.map-content{max-width:400px}.map-icon{font-size:3rem;margin-bottom:1rem;display:block}.map-content h3{margin-bottom:1rem;font-size:1.5rem}.map-content p{margin-bottom:1.5rem;opacity:.9}.map-features{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.map-features span{background:#fff3;padding:.5rem 1rem;border-radius:20px;font-size:.9rem}@media (max-width: 768px){.contact-page{padding:1rem 0}.contact-header h1{font-size:2rem}.contact-content{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.form-row{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.pricing-grid{grid-template-columns:1fr}.map-features{flex-direction:column;align-items:center;gap:.5rem}.contact-info,.contact-form-section,.map-section{padding:1.5rem}.info-item{flex-direction:column;text-align:center;align-items:center;gap:.5rem}.info-icon{margin-right:0;margin-bottom:.5rem}}@media (max-width: 480px){.contact-page{padding:.5rem 0}.container{padding:0 .5rem}.contact-header{margin-bottom:2rem}.contact-header h1{font-size:1.6rem}.contact-header p{font-size:1rem}.contact-info,.contact-form-section,.map-section{padding:1rem;margin:0 .5rem}.contact-info h2,.contact-form-section h2,.map-section h2{font-size:1.5rem}.form-group input,.form-group select,.form-group textarea{padding:.8rem;font-size:1rem}.submit-btn{width:100%;padding:1rem;font-size:1rem}.price-item{padding:.8rem}.map-placeholder{height:250px}.map-content h3{font-size:1.2rem}.map-features span{padding:.4rem .8rem;font-size:.8rem}}.tarifs-page{padding:2rem 0 4rem}.tarifs-header h1{margin:0 0 .5rem}.tarifs-header p{color:#555;margin:0 0 1.5rem}.tarifs-page h1,.tarifs-page h2,.tarifs-page h3{color:#111}.tarifs-header-top{display:flex;align-items:center;justify-content:flex-start;gap:1rem;margin-bottom:.4rem}.year-switch{display:flex;align-items:center;gap:.75rem}.year-btn{background:#fff;border:2px solid #ddd;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;transition:all .15s ease}.year-btn[disabled]{opacity:.45;cursor:default}.year-btn:not([disabled]):hover{transform:translateY(-2px);box-shadow:0 4px 10px #00000014}.year-btn.prev{margin-right:.25rem}.year-btn.next{margin-left:.25rem}@media (max-width: 600px){.tarifs-header{text-align:left}.year-switch{gap:.5rem}.year-btn{width:36px;height:36px}}.tarifs-content{display:flex;gap:2rem;align-items:flex-start}.calendars{flex:2}.calendars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.month-card{background:#fff;border-radius:12px;padding:.8rem;box-shadow:0 6px 18px #0000000f}.month-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.month-header strong{font-size:1rem}.month-year{font-size:.8rem;color:#666}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:.75rem;color:#4a5568;text-align:center;margin-bottom:6px}.weekdays div{opacity:.9}.month-grid{display:flex;flex-direction:column;gap:4px}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day{height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#f3f7fb;font-size:.85rem}.day.empty{background:transparent}.day.season-basse{background:#64b5f61f;border:1px solid rgba(100,181,246,.22)}.day.season-moyenne{background:#ffd54f1f;border:1px solid rgba(255,213,79,.22)}.day.season-haute{background:#ff8a651f;border:1px solid rgba(255,138,101,.22)}.day.season-basse:hover,.day.season-moyenne:hover,.day.season-haute:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000000f}.pricing-panel{flex:1;min-width:260px}.pricing-panel h2{margin-top:0}.pricing-intro{color:#555}.tarifs-page>.pricing-panel{width:100%;margin:0 0 1rem;padding:.5rem 0}.pricing-panel .pricing-cards{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap;align-items:stretch}.pricing-panel .price-card{flex:1 1 220px;min-width:200px;padding:1rem}.pricing-cards{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.price-card{background:linear-gradient(180deg,#fff,#fbfdff);border-radius:12px;padding:1rem;box-shadow:0 6px 18px #0000000f}.price-card h3{margin:0 0 .25rem}.price{font-size:1.6rem;font-weight:700;color:#1e3d72;margin:.5rem 0}.price-card ul{margin:0;padding-left:1.1rem;color:#555}.price-card.low{border-left:4px solid #64b5f6}.price-card.mid{border-left:4px solid #ffd54f}.price-card.high{border-left:4px solid #ff8a65}.notes{margin-top:1rem;font-size:.95rem;color:#444}.season-legend{display:flex;gap:.75rem;align-items:center;margin:.5rem 0}.season-legend .legend-item{display:flex;gap:.5rem;align-items:center;font-size:.95rem;color:#333}.season-legend .dot{width:14px;height:14px;border-radius:50%;display:inline-block;box-shadow:0 1px 2px #00000014}.dot-basse{background:#64b5f6}.dot-moyenne{background:#ffd54f}.dot-haute{background:#ff8a65}.season-legend--mobile,.season-legend--desktop{display:none}.season-legend--compact{display:flex}.season-legend--compact{gap:.5rem;align-items:center;margin:.4rem 0}.season-legend--compact .legend-item{font-size:.85rem;color:#333}.season-legend--compact .dot{width:10px;height:10px;border-radius:3px}@media (max-width: 700px){.season-legend--compact{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}}@media (max-width: 1000px){.calendars-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.tarifs-content{flex-direction:column}.calendars-grid{grid-template-columns:repeat(2,1fr)}.pricing-panel{order:2}.pricing-panel .pricing-cards{flex-direction:column;gap:.75rem}.pricing-panel .price-card{min-width:unset;width:100%;padding:.9rem}}@media (max-width: 700px){.pricing-panel{display:none}}@media (min-width: 701px){.season-legend .dot{display:none}.season-legend .legend-item{gap:.35rem}.season-legend .legend-item{display:none}}@media (max-width: 420px){.calendars-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}@media (max-width: 380px){.calendars-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.month-card{padding:.4rem}.day{height:26px;font-size:.75rem}.weekdays{font-size:.7rem}}}.gallery-page{padding:2rem 0;background:#f8f9fa;min-height:100vh}.gallery-header{text-align:center;margin-bottom:3rem}.gallery-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:1rem}.gallery-header p{font-size:1.2rem;color:#666}.category-filter{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.8rem 1.5rem;border:2px solid #2c5aa0;background:#fff;color:#2c5aa0;border-radius:25px;cursor:pointer;transition:all .3s ease;font-weight:500}.filter-btn:hover,.filter-btn.active{background:#2c5aa0;color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.gallery-item{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.image-placeholder{height:200px;background:linear-gradient(135deg,#87ceeb,#4682b4);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.image-container{height:200px;position:relative;overflow:hidden}.gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover .gallery-image{transform:scale(1.05)}.placeholder-icon{font-size:3rem;opacity:.8}.image-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.gallery-item:hover .image-overlay{opacity:1}.view-icon{font-size:2rem;color:#111}.image-info{padding:1.5rem}.image-info h3{margin:0 0 .5rem;color:#111;font-size:1.2rem}.image-info p{margin:0;color:#666;line-height:1.5}.modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:#fff;border-radius:10px;max-width:95vw;max-height:95vh;width:fit-content;height:fit-content;position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px #0000004d}@media (max-width: 480px){.modal-content{max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);width:100%;height:auto;margin:.25rem}}.modal-close{position:absolute;top:1rem;right:1rem;background:#000000b3;color:#111;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:1001;display:flex;align-items:center;justify-content:center}.modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;color:#111;border:none;width:50px;height:50px;border-radius:50%;font-size:2rem;cursor:pointer;z-index:1001;display:flex;align-items:center;justify-content:center}.modal-nav.prev{left:1rem}.modal-nav.next{right:1rem}.modal-image{flex:1;min-height:300px;max-height:calc(95vh - 200px);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:1rem}.modal-img{max-width:calc(95vw - 4rem);max-height:calc(95vh - 200px);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #0000001a}.large-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#87ceeb,#4682b4);display:flex;align-items:center;justify-content:center}.large-icon{font-size:5rem;opacity:.8;color:#111}.modal-info{padding:2rem;border-top:1px solid #eee}.modal-info h2{margin:0 0 1rem;color:#111}.modal-info p{margin:0;color:#666;line-height:1.6;font-size:1.1rem}@media (max-width: 768px){.gallery-page{padding:1rem 0}.gallery-header h1{font-size:2rem}.gallery-grid{grid-template-columns:1fr;gap:1.5rem}.category-filter{gap:.5rem;padding:0 1rem}.filter-btn{padding:.6rem 1rem;font-size:.9rem}.modal-content{margin:1rem;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}.modal-image{max-height:calc(100vh - 180px);padding:.5rem}.modal-img{max-width:calc(100vw - 4rem);max-height:calc(100vh - 180px)}.modal-nav{width:40px;height:40px;font-size:1.5rem}.modal-info{padding:1rem}.modal-info h2{font-size:1.3rem}}@media (max-width: 480px){.gallery-header{padding:0 .5rem}.gallery-header h1{font-size:1.6rem}.gallery-header p{font-size:1rem}.gallery-grid{grid-template-columns:1fr;gap:1rem;padding:0 .5rem}.category-filter{flex-wrap:wrap;justify-content:center;padding:0 .5rem}.filter-btn{padding:.5rem .8rem;font-size:.85rem;min-width:auto}.image-info{padding:1rem}.image-info h3{font-size:1.1rem}.modal-overlay{padding:.5rem}.modal-content{margin:.5rem;max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.modal-image{max-height:calc(100vh - 120px);padding:.25rem}.modal-img{max-width:calc(100vw - 2rem);max-height:calc(100vh - 120px)}.modal-nav{width:35px;height:35px;font-size:1.3rem}.modal-nav.prev{left:.5rem}.modal-nav.next{right:.5rem}.modal-close{width:35px;height:35px;font-size:1.3rem;top:.5rem;right:.5rem}.modal-info{padding:.75rem}.modal-info h2{font-size:1.2rem;margin-bottom:.5rem}.modal-info p{font-size:.9rem}}.reviews-page{padding:2rem 0;background:#f8f9fa;min-height:100vh}.reviews-header{text-align:center;margin-bottom:3rem}.reviews-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:2rem}.rating-summary{display:flex;justify-content:center;margin-bottom:2rem}.average-rating{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 4px 6px #0000001a;display:flex;align-items:center;gap:1rem}.rating-score{font-size:3rem;font-weight:700;color:#1e3d72}.stars-display{display:flex;gap:.2rem}.stars-display .star{font-size:1.5rem}.total-reviews{color:#666;font-size:1.1rem}.success-banner{background:#d4edda;color:#155724;padding:1rem 2rem;border-radius:8px;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;border:2px solid #c3e6cb}.success-icon{font-size:1.5rem}.add-review-section{text-align:center;margin-bottom:3rem}.add-review-btn{background:#2c5aa0;color:#fff;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .3s ease}.add-review-btn:hover{background:#1e3d72}.review-form-container{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 6px #0000001a;margin-bottom:3rem}.review-form-container h2{color:#2c3e50;margin-bottom:2rem;text-align:center}.review-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;color:#333;font-weight:500}.form-group input,.form-group textarea{padding:.8rem;border:2px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2c5aa0}.rating-input{display:flex;align-items:center;gap:.5rem}.star-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;opacity:.3;transition:opacity .3s ease}.star-btn.active{opacity:1}.rating-text{margin-left:1rem;color:#666;font-weight:500}.submit-review-btn{background:#ff6b35;color:#fff;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .3s ease;align-self:center}.submit-review-btn:hover{background:#e55a2e}.reviews-list{display:grid;gap:2rem;margin-bottom:4rem}.review-card{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease}.review-card:hover{transform:translateY(-2px)}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.reviewer-info{display:flex;align-items:center;gap:1rem}.reviewer-avatar{width:50px;height:50px;background:#2c5aa0;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700}.reviewer-name{margin:0;color:#1e3d72;font-size:1.1rem}.reviewer-location,.review-date{margin:.2rem 0;color:#666;font-size:.9rem}.review-rating{display:flex;gap:.2rem}.star{font-size:1.2rem}.star.filled{opacity:1}.star:not(.filled){opacity:.3}.review-title{color:#1e3d72;margin:0 0 1rem;font-size:1.2rem}.review-comment{color:#333;line-height:1.6;margin-bottom:1rem}.review-photos{display:flex;gap:1rem;margin-bottom:1rem}.photo-placeholder{width:60px;height:60px;background:#e9ecef;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.review-footer{border-top:1px solid #eee;padding-top:1rem}.review-helpful{color:#666;font-size:.9rem;cursor:pointer;transition:color .3s ease}.review-helpful:hover{color:#2c5aa0}.reviews-stats{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 6px #0000001a}.reviews-stats h2{color:#1e3d72;margin-bottom:2rem;text-align:center}.stats-grid{display:flex;flex-direction:column;gap:1rem}.stat-row{display:flex;align-items:center;gap:1rem}.stat-label{min-width:80px;color:#666;font-size:.9rem}.stat-bar{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.stat-fill{height:100%;background:#2c5aa0;transition:width .3s ease}.stat-count{min-width:40px;color:#666;font-size:.9rem;text-align:right}@media (max-width: 768px){.reviews-page{padding:1rem 0}.reviews-header h1{font-size:2rem}.average-rating{flex-direction:column;text-align:center;gap:.5rem;padding:1.5rem}.rating-number{font-size:2rem}.form-row{grid-template-columns:1fr}.review-form-container{padding:1.5rem;margin:0 1rem 2rem}.review-card{padding:1.5rem;margin:0 1rem 1.5rem}.review-header{flex-direction:column;gap:1rem;align-items:flex-start}.reviewer-info,.review-rating{align-self:flex-start}.reviews-stats{padding:1.5rem;margin:0 1rem}.stat-row{flex-wrap:wrap;gap:.5rem}.stat-bar{min-width:100px;flex:1}}@media (max-width: 480px){.container{padding:0 .5rem}.reviews-header h1{font-size:1.6rem}.reviews-header p{font-size:1rem}.average-rating{padding:1rem}.rating-number{font-size:1.8rem}.total-reviews{font-size:1rem}.add-review-btn{padding:.8rem 1.5rem;font-size:1rem}.review-form-container,.review-card,.reviews-stats{padding:1rem;margin:0 .5rem 1rem}.review-form-container h2,.reviews-stats h2{font-size:1.4rem}.form-group input,.form-group textarea{font-size:1rem}.rating-input{flex-wrap:wrap;justify-content:center}.star-btn{font-size:1.3rem}.submit-review-btn{padding:.8rem 1.5rem;font-size:1rem}.reviewer-avatar{width:40px;height:40px;font-size:1rem}.reviewer-info{gap:.8rem}.review-title{font-size:1.1rem}.review-comment{font-size:.95rem}.stat-row{align-items:center}.stat-label{min-width:70px;font-size:.85rem}.stat-count{min-width:35px;font-size:.85rem}}.equipements-page{padding:2rem 0;background:#f8f9fa;min-height:100vh}.equipements-header{text-align:center;margin-bottom:4rem}.equipements-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:1rem}.equipements-header p{font-size:1.2rem;color:#666}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:4rem}.equipment-category{background:#fff;border-radius:15px;padding:2rem;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.equipment-category:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.category-header{display:flex;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.category-icon{font-size:2.5rem;margin-right:1rem}.category-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.equipment-list{display:flex;flex-direction:column;gap:1rem}.equipment-item{display:flex;align-items:flex-start;padding:1rem;background:#f8f9fa;border-radius:10px;transition:all .3s ease}.equipment-item:hover{background:#e3f2fd;transform:translate(5px)}.item-icon{font-size:1.5rem;margin-right:1rem;margin-top:.25rem;min-width:2rem}.item-content h3{color:#2c3e50;margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.item-content p{color:#666;margin:0;font-size:.9rem;line-height:1.4}.important-info{background:#fff;padding:3rem 2rem;border-radius:15px;box-shadow:0 4px 6px #0000001a;margin-bottom:4rem}.important-info h2{text-align:center;color:#2c3e50;margin-bottom:2rem;font-size:2rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.info-card{text-align:center;padding:2rem;background:#f8f9fa;border-radius:10px;transition:all .3s ease}.info-card:hover{background:#e3f2fd;transform:translateY(-3px)}.info-icon{font-size:3rem;margin-bottom:1rem;display:block}.info-card h3{color:#2c3e50;margin-bottom:1rem;font-size:1.3rem}.info-card p{color:#666;line-height:1.6;font-size:.95rem}.cta-section{text-align:center;background:linear-gradient(135deg,#2c5aa0,#fff);color:#fff;padding:3rem 2rem;border-radius:15px;box-shadow:0 4px 6px #0000001a}.cta-section h2{font-size:2rem;margin-bottom:1rem}.cta-section p{font-size:1.1rem;margin-bottom:2rem;opacity:.9}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:1rem 2rem;border-radius:25px;text-decoration:none;font-weight:600;transition:all .3s ease;border:2px solid transparent}.btn-primary{background:#fff;color:#2c5aa0}.btn-primary:hover{background:#f0f0f0;transform:translateY(-2px)}.btn-secondary{background:transparent;color:#fff;border-color:#fff}.btn-secondary:hover{background:#fff;color:#2c5aa0;transform:translateY(-2px)}@media (max-width: 768px){.equipment-grid{grid-template-columns:1fr;gap:1.5rem}.equipment-category{padding:1.5rem}.equipements-header h1{font-size:2rem}.category-header{flex-direction:column;align-items:flex-start;text-align:center}.category-icon{margin-right:0;margin-bottom:.5rem}.equipment-item{flex-direction:column;text-align:center}.item-icon{margin-right:0;margin-bottom:.5rem;align-self:center}.info-grid{grid-template-columns:1fr;gap:1.5rem}.cta-buttons{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:100%;max-width:250px}}@media (max-width: 480px){.equipements-page{padding:1rem 0}.container{padding:0 1rem}.equipements-header{margin-bottom:2rem}.equipment-category{padding:1rem}.important-info,.cta-section{padding:2rem 1rem}}.mentions-legales-page{padding:2rem 0;background:#f8f9fa;min-height:100vh}.mentions-header{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid #2c5aa0}.mentions-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:1rem}.mentions-content{max-width:900px;margin:0 auto;background:#fff;padding:3rem;border-radius:15px;box-shadow:0 4px 6px #0000001a}.mention-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid #eee}.mention-section:last-of-type{border-bottom:none;margin-bottom:2rem}.mention-section h2{color:#2c5aa0;font-size:1.6rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef}.info-block{margin-bottom:2rem}.info-block:last-child{margin-bottom:0}.info-block h3{color:#34495e;font-size:1.2rem;margin-bottom:1rem;font-weight:600}.info-block p{line-height:1.6;margin-bottom:1rem;color:#555;text-align:justify}.info-block ul{padding-left:1.5rem;margin-bottom:1rem}.info-block li{line-height:1.6;margin-bottom:.5rem;color:#555}.info-block strong{color:#2c3e50;font-weight:600}.last-update{text-align:center;padding-top:2rem;margin-top:2rem;border-top:1px solid #eee}.last-update p{color:#888;font-style:italic;margin:0}@media (max-width: 768px){.mentions-legales-page{padding:1rem 0}.mentions-header h1{font-size:2rem}.mentions-content{padding:2rem 1rem;margin:0 1rem}.mention-section h2{font-size:1.4rem}.info-block h3{font-size:1.1rem}.info-block p{text-align:left}}@media (max-width: 480px){.mentions-header h1{font-size:1.8rem}.mentions-content{padding:1.5rem 1rem}.mention-section h2{font-size:1.3rem}.info-block h3{font-size:1rem}}*{margin:0;padding:0;box-sizing:border-box}html{height:100%}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333;background-color:#f8f9fa;margin:0;padding:0;height:100%}#root{height:100%;min-height:100vh}.App{min-height:100vh;display:flex;flex-direction:column}main{flex:1;width:100%;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 1rem}h1,h2,h3,h4,h5,h6{color:#fff;font-weight:600}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin-bottom:1rem}a{color:#2c5aa0;text-decoration:none;transition:color .3s ease}a:hover{color:#fff}button{cursor:pointer;border:none;border-radius:6px;font-family:inherit;transition:all .3s ease}button:hover{transform:translateY(-1px)}.text-center{text-align:center}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}img{max-width:100%;height:auto}.card{background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:1.2rem;color:#666}@media (max-width: 768px){.container{padding:0 1rem}h1{font-size:2rem}h2{font-size:1.5rem}button,.nav-link,.cta-button,.btn-primary,.btn-secondary{min-height:44px;min-width:44px}}@media (max-width: 480px){.container{padding:0 .5rem}h1{font-size:1.8rem}h2{font-size:1.3rem}h3{font-size:1.2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}}
