@keyframes scrollReviews{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}*{margin:0;padding:0;box-sizing:border-box}h1{font-size:2em}body{font-family:"Georgia",serif;color:#333;line-height:1.6;background-color:#fffefd}.is-hidden{display:none!important}.skip-link{position:absolute;top:-40px;left:0;background:#c41e3a;color:white;padding:8px;text-decoration:none;z-index:1000;border-radius:0 0 4px 0}.skip-link:focus{top:0}a:focus,button:focus{outline:2px solid #c41e3a;outline-offset:2px}a:focus-visible{outline:2px solid #c41e3a;outline-offset:2px}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000}.modal-content{background:#fff;max-width:500px;margin:10% auto;padding:20px;border-radius:8px;position:relative}.close{position:absolute;top:10px;right:15px;font-size:22px;cursor:pointer}header{background-color:#f8f5f0;padding:15px 40px;box-shadow:0 2px 8px rgba(0,0,0,.3);position:sticky;top:0;z-index:100}header .header-container{display:flex;flex-direction:column;align-items:center}header .header-container .logo-container{display:flex;align-items:center;gap:15px;border-bottom:#333 solid 1px}header .header-container .logo-container .logo{width:90px;height:90px;display:flex;align-items:center;justify-content:center}header .header-container .logo-container .logo img{height:100%}header .header-container .logo-container .site-name{font-size:1.8em;color:#c41e3a;font-weight:bold;letter-spacing:1px;white-space:nowrap}header .header-container nav{margin-top:10px;width:100%}header .header-container nav ul{display:flex;list-style:none}header .header-container nav ul li{display:none}header .header-container nav ul li.booking-btn{display:initial;width:80%;margin:auto}header .header-container nav ul li a{display:inline-block;text-decoration:none;color:#333;font-size:1.05em;transition:color .3s;font-weight:800;width:100%;text-align:center}header .header-container nav ul li a:hover{color:#c41e3a}header .header-container nav ul li a.booking-btn{background-color:#c41e3a;color:white;padding:10px 25px;border-radius:10px;text-decoration:none;transition:background-color .3s,transform .2s;border:0;cursor:pointer;font-weight:500;font-size:1.05em}header .header-container nav ul li a.booking-btn:hover{background-color:#8b1538;transform:translateY(-2px)}.hero-section{background-color:#221101;height:100vh;height:100dvh;min-height:400px;display:flex;align-items:stretch}.hero-section .hero-container{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;text-align:center;color:#fff}.hero-section .hero-container picture{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background-color:#221101}.hero-section .hero-container .hero-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;display:block;filter:brightness(70%);vertical-align:middle}.hero-section .hero-container .hero-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;padding:1rem;width:100%;max-width:90%}.hero-section .hero-container .hero-content h1{font-size:2.5rem;margin:0 0 .5em}.hero-section .hero-container .hero-btn{display:none}.description-section{padding:0 10px;margin-top:20px}.description-section h2{font-size:2.2em;margin-bottom:20px;text-align:center;color:#333}.description-section .description-container .description-card{gap:50px;align-items:center;margin-bottom:30px;margin-left:auto;margin-right:auto;background-color:#f8f5f0;border-radius:10px;padding-bottom:10px;box-shadow:0 4px 15px rgba(0,0,0,.15)}.description-section .description-container .description-card .reverse{direction:rtl}.description-section .description-container .description-card .reverse>*{direction:ltr}.description-section .description-container .description-card .description-image{width:100%;aspect-ratio:360/360;overflow:hidden;background-color:#e8e4df;display:flex;align-items:center;justify-content:center}.description-section .description-container .description-card .description-image img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;box-shadow:0 4px 15px rgba(0,0,0,.1);border-radius:10px 10px 0 0}.description-section .description-container .description-card .description-text{text-align:center}.description-section .description-container .description-card .description-text h3{font-size:1.5em;color:#c41e3a;margin:10px 0}.description-section .description-container .description-card .description-text p{color:#666;font-size:1.05em;line-height:1.8}.presentation-section{padding:0 10px;margin-top:20px}.presentation-section h2{font-size:2.2em;margin-bottom:20px;text-align:center;color:#333}.presentation-section .presentation-container .presentation-card{gap:50px;align-items:center;margin-bottom:30px;margin-left:auto;margin-right:auto;background-color:#f8f5f0;border-radius:10px;padding:10px;box-shadow:0 4px 15px rgba(0,0,0,.15)}.presentation-section .presentation-container .presentation-card .presentation-image{display:flex;justify-content:center;align-items:center;width:100%;margin-bottom:10px}.presentation-section .presentation-container .presentation-card .presentation-image img{width:auto;max-height:300px;-o-object-fit:cover;object-fit:cover;box-shadow:0 4px 15px rgba(0,0,0,.1);border-radius:10px}.presentation-section .presentation-container .presentation-card .presentation-text{text-align:center}.presentation-section .presentation-container .presentation-card .presentation-text p{color:#666;font-size:1.05em;line-height:1.8}.discount-banner-section{padding:0 10px;margin-top:20px;margin-bottom:20px}.discount-banner-section .discount-banner-container{max-width:800px;margin:0 auto;text-align:center}.discount-banner-section .discount-banner-container .discount-banner-img{width:100%;height:auto;border-radius:10px;box-shadow:0 4px 15px rgba(0,0,0,.15);display:block}.offres-section{padding:0 10px}.offres-section h2{font-size:2.2em;margin-bottom:20px;text-align:center;color:#333}.offres-section .offres-container .offre-card{gap:50px;align-items:center;margin-bottom:30px;max-width:1100px;margin-left:auto;margin-right:auto;background-color:#f8f5f0;border-radius:10px;padding-bottom:10px;box-shadow:0 4px 15px rgba(0,0,0,.15)}.offres-section .offres-container .offre-card .offre-image{width:100%}.offres-section .offres-container .offre-card .offre-image img{width:100%;height:auto;box-shadow:0 4px 15px rgba(0,0,0,.1);border-radius:10px 10px 0 0}.offres-section .offres-container .offre-card .btn{background-color:#f8f5f0;color:#c41e3a;padding:5px 15px;border-radius:10px;text-decoration:none;transition:background-color .3s,transform .2s;border:0;cursor:pointer;font-weight:500;font-size:.95em;margin-top:10px}.offres-section .offres-container .offre-card .offre-text{text-align:center}.offres-section .offres-container .offre-card .offre-text h3{font-size:1.5em;color:#c41e3a;margin:10px 0 0 0}.offres-section .offres-container .offre-card .offre-text .offre-oil{font-size:1.2em;color:#c41e3a;margin:0 0 10px 0}.offres-section .offres-container .offre-card .offre-text p,.offres-section .offres-container .offre-card .offre-text ul{color:#666;line-height:1.8}.offres-section .offres-container .offre-card .offre-text .description_small{font-size:.95em}.offres-section .offres-container .offre-card .offre-text .description_big{font-size:.95em;text-align:left;padding:1rem}.offres-section .offres-container .offre-card .prices .prices-container h4{font-size:1.3em;color:#c41e3a;margin:15px 0;text-align:center;line-height:1}.offres-section .offres-container .offre-card .prices .prices-container h4 span{font-size:.5em}.offres-section .offres-container .offre-card .prices .prices-container table{margin:auto}.offres-section .offres-container .offre-card .prices .prices-container table td{padding:0 10px}.offres-section .offres-container .offre-card .prices .prices-container .price{text-align:center}.offres-section .offres-container .offre-card .prices .prices-container .price span{font-size:.7em}.reviews-section{padding:0 10px}.reviews-section h2{font-size:2.2em;margin-bottom:20px;text-align:center;color:#333}.reviews-section .reviews-container .review-card{gap:50px;align-items:center;margin-bottom:30px;max-width:1100px;margin-left:auto;margin-right:auto;background-color:#f8f5f0;border-radius:10px;padding:15px;box-shadow:0 4px 15px rgba(0,0,0,.15)}.reviews-section .reviews-container .review-card .review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.reviews-section .reviews-container .review-card .review-header .reviewer-name{font-weight:bold;color:#333;font-size:1.05em}.reviews-section .reviews-container .review-card .review-header .review-rating{color:#c41e3a;font-size:.95em;letter-spacing:2px}.reviews-section .reviews-container .review-card .review-text{color:#666;margin-bottom:15px;font-size:.95em;line-height:1.6;font-style:italic}.booking-section{background:#fff;padding:15px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);margin-top:20px}.booking-section h2{font-size:1.5em;margin-bottom:30px;color:#c41e3a;text-align:center;border-bottom:3px solid #c41e3a;padding-bottom:15px}.booking-section .info-item{margin-bottom:25px}.booking-section .info-item strong{display:block;color:#333;margin-bottom:8px;font-size:1.05em}.booking-section .info-item table,.booking-section .info-item p{color:#666;font-size:1em;padding-left:10px}.booking-section .info-item table .schedule-time{padding-left:20px;color:#c41e3a}.booking-section .info-item a{color:#c41e3a;text-decoration:none;font-weight:bold}.booking-section .info-item a:hover{text-decoration:underline}.booking-section .booking-form-wrapper{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(196,30,58,.2);max-width:560px;margin-left:auto;margin-right:auto}.booking-section .booking-form-wrapper h3{font-size:1.2em;color:#333;margin-bottom:1.25rem;text-align:center}.booking-section .reservation-form{display:flex;flex-wrap:wrap;gap:0 1rem}.booking-section .reservation-form .form-row{width:100%;margin-bottom:1rem}.booking-section .reservation-form .form-row.form-row--half{flex:1 1 calc(50% - .5rem);min-width:140px}.booking-section .reservation-form .form-row.form-row--captcha{margin-bottom:1rem}.booking-section .reservation-form .form-row.form-row--submit{margin-bottom:0;margin-top:.5rem}.booking-section .reservation-form .form-row label{display:block;font-weight:600;color:#333;margin-bottom:.35rem;font-size:.95em}.booking-section .reservation-form .form-row label .required{color:#c41e3a}.booking-section .reservation-form .form-row input,.booking-section .reservation-form .form-row textarea{width:100%;padding:.6rem .75rem;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:1em;background:#fff}.booking-section .reservation-form .form-row input:focus,.booking-section .reservation-form .form-row textarea:focus{outline:2px solid #c41e3a;outline-offset:2px;border-color:#c41e3a}.booking-section .reservation-form .form-row input::-moz-placeholder,.booking-section .reservation-form .form-row textarea::-moz-placeholder{color:#888}.booking-section .reservation-form .form-row input::placeholder,.booking-section .reservation-form .form-row textarea::placeholder{color:#888}.booking-section .reservation-form .form-row textarea{resize:vertical;min-height:100px}.booking-section .reservation-form .form-row .field-error{display:block;margin-top:.35rem;font-size:.9em;color:#c41e3a}.booking-section .reservation-form .form-message{width:100%;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.95em}.booking-section .reservation-form .form-message.form-message--error{background:#fde8e8;color:#b91c1c;border:1px solid #fecaca}.booking-section .reservation-form .form-message.form-message--success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.booking-section .reservation-form .btn-reservation{padding:.75rem 1.5rem;background:#c41e3a;color:#fff;border:0;border-radius:6px;font-family:inherit;font-size:1em;font-weight:600;cursor:pointer;transition:background .2s}.booking-section .reservation-form .btn-reservation:hover:not(:disabled) {background:#a01830}.booking-section .reservation-form .btn-reservation:focus{outline:2px solid #c41e3a;outline-offset:2px}.booking-section .reservation-form .btn-reservation:disabled{opacity:.7;cursor:not-allowed}footer{background-color:#333;color:white;text-align:center;padding:40px 20px;font-size:.95em}footer .footer-info{font-size:.7em;padding-top:10px}footer .footer-content{max-width:1100px;margin:0 auto}footer .footer-content p{margin-bottom:20px}footer .footer-content .footer-links{margin-bottom:20px}footer .footer-content .footer-links .separator{margin:0 10px;color:#666}footer .footer-content .footer-links a{font-size:.85em}footer .footer-content .footer-links a,footer .footer-content .footer-links #openModalLegal,footer .footer-content .footer-links #openModalPrivacy,footer .footer-content .footer-links #openModalCookies{color:#ccc;text-decoration:none;transition:color .3s}footer .footer-content .footer-links a:hover,footer .footer-content .footer-links #openModalLegal:hover,footer .footer-content .footer-links #openModalPrivacy:hover,footer .footer-content .footer-links #openModalCookies:hover{color:#c41e3a}footer .footer-content .footer-links #openModalLegal,footer .footer-content .footer-links #openModalPrivacy,footer .footer-content .footer-links #openModalCookies{background-color:transparent;border:0}footer .footer-content .social-links{display:flex;justify-content:center;gap:25px}footer .footer-content .social-links a{transition:color .3s,transform .3s;display:inline-flex;align-items:center}footer .footer-content .social-links a img{height:32px}@media(min-width:768px){.hero-section .hero-container{width:100%;display:flex;flex-direction:row;justify-content:center}.description-section .description-container{width:100%;display:flex;flex-direction:row;justify-content:center}.description-section .description-container .description-card{width:30%;margin:10px}.description-section .description-container .description-card .description-text{padding:0 10px}.presentation-section .presentation-container .presentation-card .presentation-image{float:left;margin:0 1.5rem 1rem 0;max-width:250px}.presentation-section .presentation-container .presentation-card .presentation-image img{width:100%;border-radius:10px;display:block}.presentation-section .presentation-container .presentation-card .presentation-text{text-align:left}.presentation-section .presentation-container .presentation-card .presentation-text p{text-align:justify;line-height:1.6}.offres-section .offres-container{width:100%;display:flex;flex-wrap:wrap;justify-content:center}.offres-section .offres-container .offre-card{width:30%;margin:10px}.reviews-section{margin-top:20px}.reviews-section .reviews-container{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding:1rem}.reviews-section .reviews-container .reviews-track{display:flex;gap:1rem;animation:scrollReviews 40s linear infinite}.reviews-section .reviews-container::after{content:"";display:block}.reviews-section .reviews-container .review-card{flex:0 0 auto;width:400px;scroll-snap-align:start;background:#f9f9f9;border-radius:10px;padding:1rem;box-shadow:0 2px 6px rgba(0,0,0,.1)}.booking-section .booking-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start;width:100%}.booking-section .booking-container .info-item:nth-child(1),.booking-section .booking-container .info-item:nth-child(2){grid-column:1}.booking-section .booking-container .info-item:nth-child(3){grid-column:2;grid-row:1/span 2;margin:auto}}@media(min-width:992px){header .header-container{flex-direction:row;align-items:flex-start;max-width:1200px;margin:auto}header .header-container .logo-container{border:0}header .header-container nav{margin:0;display:flex;justify-content:flex-end;align-items:center;padding:1rem 2rem}header .header-container nav ul{display:flex;gap:1.5rem;margin:0;padding:0}header .header-container nav ul li{display:initial}.hero-section .hero-container{max-width:1200px;margin:auto}.hero-section .hero-container .hero-img{-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent)}.description-section .description-container{max-width:1200px;margin:auto}.presentation-section .presentation-container{max-width:1200px;margin:auto}.discount-banner-section .discount-banner-container{max-width:700px}.offres-section .offres-container{max-width:1200px;margin:auto}.reviews-section .reviews-container{max-width:1200px;margin:auto}.booking-section .booking-container{max-width:1200px;margin:auto}.booking-section .booking-container .info-item:nth-child(3){margin:auto}}