*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color: #0052cc;--secondary-color: #f9f9f9;--accent-color: #ff9800;--text-color: #333;--light-text: #fff;--shadow: 0 4px 8px rgba(0, 0, 0, .1)}.landing{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:0;padding:2rem 1rem;background-color:#f0f0f0;width:100%;flex-grow:1;justify-content:center;text-align:center}@media (max-width: 1024px){.landing{max-width:100%;padding:2rem 1rem}}@media (max-width: 768px){.landing{max-width:100%;padding:2rem 1rem}.landing>*{width:100%}}@media (max-width: 480px){.landing{font-size:small;margin-top:3vh;padding:1.5rem}}html,body,#root{height:100%}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1 0 auto;min-height:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:Roboto,Arial,sans-serif;line-height:1.6;color:var(--text-color);overflow-x:hidden}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.flex-container,.reservation-container{display:flex;flex-direction:column;gap:1rem;margin:0 auto}.navbar.sticky-top{z-index:1000}[id]{scroll-margin-top:80px}nav{display:flex;justify-content:space-between;align-items:center;padding:1rem}.logo{font-size:1.5rem;font-weight:700}.nav-links{display:flex;list-style:none}.nav-links li{margin-left:1.5rem}.nav-links a{color:var(--light-text);text-decoration:none;transition:opacity .3s}.nav-links a:hover{opacity:.8}.hamburger{display:none;cursor:pointer;background:none;border:none;color:var(--light-text);font-size:1.5rem}@media (max-width: 768px){.hamburger{display:block}.nav-links{position:absolute;top:100%;left:0;width:100%;flex-direction:column;background-color:var(--primary-color);padding:1rem 0;display:none;box-shadow:var(--shadow)}.nav-links.active{display:flex}.nav-links li{margin:.5rem 0;text-align:center}.dropdown-menu-end[data-bs-popper]{left:0}}@media (min-width: 768px) and (max-width: 1024px){.dropdown-menu.show{display:block;left:0}}.hero-home{width:100%;height:50vh;display:flex;flex-direction:column;overflow:hidden}.hero-home-top{flex:0 0 50%;display:flex;justify-content:center;align-items:center;overflow:hidden}.hero-home-top:empty{flex:0 0 0%;height:0}.hero-logo{max-height:90%;max-width:90%;object-fit:contain}.hero-home-bottom{flex:0 0 50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1rem;color:var(--light-text);overflow:hidden;box-sizing:border-box}.hero-home-top:empty+.hero-home-bottom{flex:1}.hero-home-bottom h1{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.2;margin:0 0 1rem;flex-shrink:0;max-height:60%}.hero-home-bottom .cta-button{background-color:var(--accent-color)!important;color:var(--light-text)!important;padding:.75rem 1.5rem;font-size:1rem;border-radius:4px;flex-shrink:0;max-width:fit-content;margin:0}.hero-home .mainTitleHome{color:#c00;font-weight:700}@keyframes blink3on1off{0%,74.999%{opacity:1}75%,to{opacity:0}}.blink-3-1{animation:blink3on1off 2s linear infinite}@media (max-width: 480px){.modal-content table th,.modal-content table td{padding:10px 6px!important;font-size:.95rem!important}.rates-modal{width:100vw!important;max-width:100vw!important;padding:10px 6px!important;border-radius:18px!important}.rates-modal table{width:98vw!important}.modal-overlay{padding:0!important}}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:2rem 20px;background-color:var(--secondary-color)}@media screen and (max-width: 768px){.features{grid-template-columns:1fr}}.feature-card{background-color:var(--light-text);padding:2rem;border-radius:8px;box-shadow:var(--shadow);text-align:center}.feature-card .icon{font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem;transition:color .3s}.feature-card .icon:hover{color:#050000}.feature-card h3{margin-bottom:1rem}.about{padding:5rem 5%;text-align:center;max-width:800px;margin:0 auto;background-color:#fff}.about h2{margin-bottom:2rem;color:var(--primary-color)}.price-details{background-color:var(--secondary-color);padding:2rem 5%;text-align:center}.price-details h2{margin-bottom:2rem}.price-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;max-width:calc(900px + 2rem);margin:1rem auto 0}.price-card{background-color:var(--light-text);padding:1rem;border-radius:8px;box-shadow:var(--shadow);width:300px}.price-card .price{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin:1rem 0;text-align:center}@media (max-width: 900px){.price-cards{max-width:calc(600px + 1rem)}}@media (max-width: 480px){.price-cards{max-width:300px}}.discover-florence{padding:5rem 5%;background-color:#fff}.discover-florence h2{text-align:center;color:var(--primary-color);margin-bottom:3rem}.discover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto}@media screen and (max-width: 1024px){.discover-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width: 768px){.discover-grid{grid-template-columns:1fr}}.discover-card{background-color:var(--light-text);border-radius:8px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform .3s}.discover-card:hover{transform:translateY(-5px)}.discover-card img{width:100%;height:200px;object-fit:cover}.discover-card h3{padding:0 1rem;margin:1rem 0 .5rem}.discover-card p{padding:0 1rem;margin-bottom:1rem}.swal2-container{z-index:20000!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vh,40px) 16px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;z-index:2000;touch-action:manipulation}.modal-content{background-color:var(--light-text);border-radius:8px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;position:relative}.close-modal{position:absolute;top:10px;right:15px;font-size:1.5rem;cursor:pointer;color:var(--light-text);z-index:1002}.modal-header{position:relative}.modal-header img{width:100%;height:250px;object-fit:cover}.modal-title{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(transparent,#000000b3);color:var(--light-text);padding:1rem;margin:0}.modal-body{padding:1.5rem}.modal-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:1.5rem}.detail-item{display:flex;align-items:center;gap:inherit}@media (max-width: 576px){.modal-content{margin:0;width:95%;border-radius:0}.modal-header img{height:200px;border-radius:0}.modal-details{grid-template-columns:1fr}}.map-section{padding:2rem 20px}.map-section h2{text-align:center;margin-bottom:2rem}.map-container{max-width:1000px;margin:0 auto}.map-image{width:100%;height:auto;border-radius:8px;box-shadow:var(--shadow)}footer{background-color:#f0f0f0;color:#333;padding:2rem 1rem;text-align:center;box-shadow:0 -4px 8px #0000001a}.footer-body{width:100%;margin:0 auto;padding-inline:clamp(16px,6vw,72px)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));column-gap:2rem;row-gap:1.25rem;align-items:start}.footer-col{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.footer-col h4{margin:0 0 .25rem;font-size:1.1rem;font-weight:700;letter-spacing:.2px}.footer-line{display:flex;align-items:center;justify-content:center;gap:.6rem}.footer-line i{width:1.1em;text-align:center}.footer-col a,.footer-col span{font-size:.95rem;color:#333;text-decoration:none;white-space:normal;word-break:break-word}.hyperlink{text-decoration:underline}.social-links{display:flex;gap:.9rem;justify-content:center;align-items:center}.footer-bottom{margin-top:16px}.footer-bottom p{margin:0;font-size:.9rem}.footer-col .footer-link-button{font-size:.95rem;color:#333;background:none;border:none;padding:0;cursor:pointer;text-decoration:none;white-space:normal;word-break:break-word}.footer-col .footer-link-button:hover{text-decoration:none}@media (max-width: 768px){.footer-grid{grid-template-columns:1fr;row-gap:32px}.footer-col{gap:.75rem;padding-block:8px}.footer-bottom{margin-top:32px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08)}}@media (max-width: 480px){.footer-grid{row-gap:40px}.footer-col .footer-line+.footer-line{margin-top:8px}}.boxes-container-selection{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.box-selection.active{border:2px solid #007bff}.boxes-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;width:100%;max-width:1000px;margin:0 auto;align-items:start}@media (max-width: 820px),(min-width: 1024px) and (max-width: 1200px) and (min-height: 1000px){.boxes-container{grid-template-columns:1fr}}.box,.box-selection{background-color:#fff;border-radius:10px;padding:1.5rem;box-shadow:var(--shadow);text-align:center;max-width:400px;width:100%}.box-selection{flex:1 1 calc(25% - 1rem);box-sizing:border-box;cursor:pointer;width:auto}.box h3,.box-selection h3{font-size:1.5rem;margin-bottom:1rem;color:var(--primary-color)}.box p,.box-selection p{margin:.5rem 0;font-size:1rem}.box i,.box-selection i{margin-right:.5rem;color:var(--primary-color)}.box_reservation_details{display:flex;flex-direction:column;gap:1rem;flex-wrap:wrap;justify-content:space-between}.box_datetime{display:flex;flex-direction:row;gap:1rem;z-index:1}.total-summary{display:table;background:#fff;padding:.8rem 1.2rem;border-radius:10px;box-shadow:var(--shadow);text-align:left;min-width:220px;width:auto}.total-summary-row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:1rem;font-weight:700;white-space:nowrap}.total-summary p,.total-summary .summary-label{margin:0;font-size:1rem}@media (max-width: 480px){.total-summary{flex-wrap:wrap}.total-summary .container{display:flex;justify-content:center;align-items:center;flex-direction:column;margin-top:1rem;max-width:220px}.total-summary p{text-align:center}}.confirm-button{display:flex;justify-content:center;margin-top:1rem}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vh,40px) 16px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;z-index:2000;touch-action:manipulation}.dialog-box{z-index:2001}.dialog-box{position:relative;display:inline-block;width:auto;max-width:min(95vw,860px);max-height:min(92vh,820px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 10px 30px #0000002e;padding:12px 14px 10px}.dialog-title{margin:0 0 6px;font-size:1.25rem;font-weight:700;text-align:center;line-height:1.2}.dialog-close{display:none!important}.box-list{display:flex;flex-direction:column;gap:8px;width:100%;max-width:100%}.dialog-box .box-item.box-item--compact{border:1px solid #e5e7eb;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;grid-template-areas:"title title" "img   meta" "spec  spec";align-items:center;gap:10px 12px;padding:12px;border-radius:8px;background:#fff;box-shadow:0 1px 3px #00000014;width:100%}.title-col{grid-area:title;margin-bottom:2px;display:flex;justify-content:center;align-items:center}.img-col{grid-area:img;display:flex;justify-content:center;align-items:center}.meta-col{grid-area:meta;display:grid;grid-template-rows:auto auto;gap:4px;align-content:center;justify-items:center}.spec-col{grid-area:spec;display:flex;justify-content:center;margin-top:2px}.dimension-title{text-align:center;font-size:1rem;line-height:1.15;font-weight:700;letter-spacing:.2px;word-break:keep-all;overflow-wrap:anywhere}.dimension-image{display:block;margin:0 auto;width:auto;max-width:min(140px,100%);max-height:120px;object-fit:contain;aspect-ratio:4 / 3}.price-row{font-weight:600;font-size:.95rem;text-align:center}.price-value{margin-right:6px}.price-suffix{opacity:.8}.counter-group--inline{display:inline-flex;align-items:center;gap:4px}.counter-btn{min-width:34px!important;padding:2px 0!important}.count{min-width:24px;text-align:center;font-size:1rem;font-weight:600}.availability{font-size:.9rem;opacity:.85;text-align:center}.dialog-box .MuiButton-root.dialog-ok{display:block;margin:10px auto 0;width:min(220px,90%)}@media (max-width: 380px){.count{min-width:26px}}@media (min-width: 901px){.dialog-box{padding:8px 10px;max-height:min(93vh,830px)}.box-list{gap:6px;padding-top:0}.dialog-box .box-item.box-item--compact{grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;grid-template-areas:"title img meta" "spec  spec spec";gap:10px 10px;padding:8px 12px 10px;border-top:0}.img-col,.meta-col{border:0;padding:0}.dimension-image{max-width:90%;max-height:130px;margin:0 auto}.price-row{font-size:.95rem;text-align:center}.counter-btn{min-width:30px!important;padding:1px 0!important}.count{min-width:24px;font-size:.95rem}.spec-col .availability{font-size:.9rem;line-height:1.2}}.res-page{background:var(--page-bg, #f5f6f8);min-height:auto;height:auto;padding-top:0!important;margin-top:0!important}.res-page .boxes-container{display:block;max-width:1080px;margin:0 auto}.res-page .res-header{margin:0;padding-top:20px!important;margin-bottom:20px!important}.res-page .res-title{margin:0}.res-page .res-card{background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:16px}.res-page .res-card--info{align-items:center;text-align:center;gap:8px}.res-page .res-card--info .res-info__title{margin:0 0 4px}.res-page .res-card--info .res-info__row{justify-content:center;gap:.4rem;margin:2px 0;line-height:1.2}.res-page .res-field-row{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 768px){.res-page .res-field-row{grid-template-columns:1fr 1fr}}.res-page .res-inline{display:flex;gap:2rem;align-items:center;flex-wrap:wrap}.res-page .res-inline__label{padding-top:.5rem;margin:0}.res-page .res-promo{display:flex;gap:10px;width:100%}.res-page .res-promo__btn{white-space:nowrap;height:56px}.res-page .res-info__title{margin:0 0 8px;color:var(--primary-color, #0d6efd)}.res-page .res-info__row{margin:.25rem 0;display:flex;align-items:center;gap:.5rem}.res-page .res-info__row .icon{color:var(--fa-brands-azure, #0ea5e9)}@media (min-width: 1400px){.res-page .boxes-container{max-width:980px}}.paypal-button-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:400px;margin:10vh auto;flex-grow:1}@media (max-width: 500px){.paypal-button-container{max-width:90%;padding:15px}}@media (min-width: 768px){.paypal-button-container{max-width:450px}}.paypal-button-container div{width:100%!important}.confirm-container{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;align-items:flex-start;margin:2rem auto}.confirm-left,.confirm-right{flex:1;min-width:300px;display:flex;flex-direction:column;align-items:center;gap:1rem}.personal-details-layout .container>.MuiFormControl-root,.confirmation-details-layout .container>.MuiFormControl-root{margin-bottom:1rem}.personal-details-layout .cta-button{margin-top:2rem}.confirm-layout{display:flex;flex-direction:column;gap:2rem}.confirm-top{display:flex;flex-direction:row;gap:45rem;max-width:100%}@media (max-width: 480px){.confirm-layout{max-width:100%}.confirm-top,.confirm-content{flex-wrap:wrap}.confirm-content2{display:flex!important;flex-direction:column!important;flex-wrap:wrap}.confirm-label2{white-space:normal!important;overflow-wrap:break-word!important;display:block;max-width:100%}}@media (max-width: 820px),(min-width: 1024px) and (max-width: 1200px) and (min-height: 1000px),(min-width: 769px) and (max-width: 912px) and (min-height: 1000px){.confirm-layout{max-width:100%}.confirm-top{flex-wrap:wrap;gap:0rem;padding-left:1rem}.confirm-content{padding-left:2%;flex-wrap:wrap}}@media (min-width: 1024px) and (max-height: 700px){.confirm-layout{max-width:100%}.confirm-top{flex-wrap:wrap;gap:20%;padding-left:1rem}.confirm-content{padding-left:2%;flex-wrap:wrap}}.confirm-content{display:flex;flex-direction:row;gap:3rem}.confirm-content2{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.confirm-label{width:16rem}.input-field{width:100%;height:50px;font-size:1rem;border-radius:5px;border:1px solid #ccc;padding:10px}.input-error{border:1px solid red}.input-error::placeholder{color:red}.input-wrapper{position:relative}.error-message{position:absolute;bottom:-20px;left:0;font-size:.85rem;color:red;display:none}.input-error+.error-message{display:block}.confirm-button button{width:200px;height:50px;font-size:1rem}.confirmation-details-layout .MuiPaper-root,.confirmation-details-layout .MuiBox-root{max-width:none!important}.confirmation-details-layout .MuiGrid-item .MuiBox-root .MuiPaper-root,.confirmation-details-layout .MuiGrid-item .MuiBox-root>.MuiBox-root{max-width:none!important;width:100%!important}.confirmation-details-layout .MuiGrid-container{max-width:none!important;overflow:visible!important}.confirmation-details-layout .map-right-column{max-width:none!important}.confirmation-details-layout .MuiGrid-container{max-width:none!important;width:100%!important;margin:0!important}.confirmation-details-layout .map-wrapper{width:100%!important;max-width:none!important;min-width:0!important}.confirmation-details-layout .leaflet-container{width:100%!important;height:500px!important}.cta-button{display:inline-block;padding:1rem 2rem;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:5px;transition:background .3s}.cta-button:hover{background:var(--secondary-color)}.box-list-manage-booking{display:flex;flex-direction:column;gap:1rem;width:88%;text-align:left}.dimension-label{font-size:1rem;font-weight:700;text-align:left;flex:1}.count{font-size:1.4rem;font-weight:700;width:40px}.price{flex:1;text-align:right}.cnt-button:hover,.counter-btn:hover{filter:brightness(.9)}@media (max-width: 768px){.price{font-size:10px;min-width:40px}.dimension-label{font-size:.75rem!important;width:3rem!important}}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:.75rem;display:flex;justify-content:center;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cookie-banner__content{width:100%;max-width:960px;background:#fff;border-radius:10px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem;font-size:.9rem}.cookie-banner__title{margin:0;font-size:1rem;font-weight:600}.cookie-banner__text{margin:0;line-height:1.4}.cookie-banner__buttons{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;align-items:center;margin-top:.25rem}.cookie-banner__btn{border-radius:999px;padding:.4rem .9rem;font-size:.85rem;cursor:pointer;border:1px solid transparent}.cookie-banner__btn--reject{background:#fff;color:#333;border-color:#ccc}.cookie-banner__btn--accept{background:#ff9a00;color:#fff;font-weight:600}.cookie-banner__link{font-size:.8rem;text-decoration:underline;color:#555}@media (max-width: 600px){.cookie-banner__buttons{flex-direction:column-reverse;align-items:stretch}.cookie-banner__link{align-self:flex-start}}.policy-page{background:var(--secondary-color);padding:2rem 1rem 3rem}@media (max-width: 600px){.policy-page{padding:1.5rem .75rem 2.5rem}}.policy-container{background:#fff;border-radius:12px;box-shadow:var(--shadow);max-width:900px;margin:0 auto;padding:2rem 1.75rem}@media (max-width: 600px){.policy-container{padding:1.5rem 1.25rem;border-radius:10px}}.policy-header{margin-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.06);padding-bottom:1rem}.policy-header h1{font-size:clamp(1.6rem,2.3vw,2.1rem);margin-bottom:.4rem}.policy-intro,.policy-subtitle{font-size:.98rem;color:#555}.policy-content{display:flex;flex-direction:column;gap:1.5rem;font-size:.96rem}.policy-section h2{font-size:1.2rem;margin-bottom:.4rem;color:var(--primary-color)}.policy-section h3{font-size:1.05rem;margin-top:.6rem;margin-bottom:.3rem}.policy-section p{margin:.25rem 0;text-align:justify}.policy-list{list-style:disc;padding-left:1.4rem;margin-top:.25rem}.policy-list li{margin:.15rem 0}.policy-markdown{font-size:.96rem}.policy-markdown h1,.policy-markdown h2,.policy-markdown h3{margin-top:1.4rem;margin-bottom:.4rem}.policy-markdown p{margin:.25rem 0;text-align:justify}.policy-markdown ul,.policy-markdown ol{padding-left:1.4rem;margin:.25rem 0}.privacy-updated{margin-top:1.5rem;font-size:.85rem;color:#777;text-align:right}.cookie-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9rem}.cookie-table th,.cookie-table td{border:1px solid rgba(0,0,0,.1);padding:.5rem .75rem;text-align:left;vertical-align:top}.cookie-table th{background:#f7f7f7;font-weight:600}@media (max-width: 600px){.cookie-table{font-size:.85rem}}
