/* -------- HERO -------- */
.top-hero{position:relative;height:60vh;min-height:350px;max-height:650px;overflow:hidden}
.top-hero .hero-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
@media (max-width:1024px){.top-hero{height:45vh;min-height:280px}.top-hero .hero-img{object-position:center top}}
@media (max-width:480px){.top-hero{height:auto;min-height:0;padding:0}.top-hero .hero-img{width:100%;height:auto;object-fit:contain}}


/* -------- INTRO -------- */
section#intro{padding:2rem 2rem 3rem;background:#fff;color:#333;max-width:1000px;margin:0 auto;line-height:1.6}
section#intro h1{font-size:2rem;margin-bottom:0;color:var(--color5);text-align:center}
section#intro h2{font-size:1.4rem;margin-bottom:0;color:#747A80;text-align:justify}
@media (max-width:480px){section#intro{padding: .8rem 1.2rem 1.5rem}section#intro h1{font-size:1.2rem}section#intro h2{font-size:1rem}}

/* -------- CONTENEDOR DUAL -------- */
.contenitore-duale{width:100%;box-sizing:border-box;display:flex;flex-direction:row-reverse;gap:5rem;max-width:1400px;margin:.5rem auto;padding:4rem;background:#fff;align-items:center}
.col-descrizione{flex:1 1 50%;padding-right:1rem;padding-left:5rem;border-left:2px solid #ddd;background:#fff;margin-top:5.5rem}
.col-descrizione p a,.col-descrizione p a:hover{text-decoration:none!important;color:inherit!important}
.col-dettagli{flex:1 1 50%;padding-left:2rem}
.descrizione-header{display:flex;align-items:center;background:var(--color5);color:#fff;border-radius:12px 12px 0 0;padding:.5rem}
.descrizione-header .icon-box{flex:0 0 20%;display:flex;justify-content:center;align-items:center}
.descrizione-header svg{width:60px;height:60px}
.descrizione-header h2{flex:0 0 80%;margin:0;font-size:1.5rem;font-weight:700;text-align:left;padding:.5rem}
.col-descrizione h3.descrizione-subtitle{font-size:1.6rem;font-weight:400;color:#fff;background:#077389;padding-top:1.5rem;padding-bottom:.5rem;margin:0;border-top:1px solid #fff;text-align:center}
.col-descrizione p{font-size:1.1rem;margin:.5rem 0 0;margin-top: 0;font-weight:400;color:#fff;text-align:justify;background:#077389;padding:1.2rem}
@media (max-width:768px){.contenitore-duale{flex-direction:column;gap:1rem;padding:1rem}.col-descrizione{padding-right:0;border-left:0;margin-top:0;border-bottom:1px solid #eee;padding-left:0}.descrizione-header svg{width:30px;height:30px}.descrizione-header h2{font-size:1.1rem}.col-descrizione h3.descrizione-subtitle{padding:0 1.2rem;padding-top:2.5rem;font-size:1.3rem;}.col-dettagli{padding:0 1rem}}

/* -------- DETTAGLI -------- */
section#dettagli{max-width:1000px;margin:2rem auto;padding:2rem;background:#f9f9f9;border-radius:12px;text-align:left}
section#dettagli h2{text-align:center;margin-bottom:1.5rem;color:#077389}
#domandi-frequenti{color:#077389;text-align:center}
.info-tour{display:flex;align-items:center;justify-content:flex-start;gap:5rem;margin:0 auto 1.2rem;font-size:1.2rem;font-weight:700;color:#077389;text-align:left;max-width:600px;line-height:1.2}
.info-tour .icon{width:22px;height:22px;stroke:#077389;fill:none;stroke-width:2;position:relative;top:2px}
@media (max-width:768px){.info-tour{flex-direction:column;text-align:center;gap:.5rem}.info-tour img{margin:0 auto}}
.tabella-dettagli{width:100%;border-collapse:collapse;font-size:1rem;color:#077389}
.tabella-dettagli tr{transition:background-color .3s ease}
.tabella-dettagli tr:hover{background-color:#077389}
.tabella-dettagli tr:hover td{color:#fff}
.tabella-dettagli tr:hover .icon{stroke:#fff}
.tabella-dettagli tr:first-child{border-top:1px solid #ddd}
.tabella-dettagli td{padding:.8rem 1.5rem;vertical-align:middle;border-bottom:1px solid #ddd}
.tabella-dettagli td:first-child{width:40%;font-weight:600;color:#077389;transition:color .3s ease}
.tabella-dettagli td:last-child{width:60%;color:#666}
.icon{width:20px;height:20px;margin-right:.6rem;vertical-align:middle;stroke:#077389;fill:none;stroke-width:2;transition:stroke .3s ease}
@media (max-width:768px){.tabella-dettagli,.tabella-dettagli tr,.tabella-dettagli td{display:block;width:100%}.tabella-dettagli tr{margin-bottom:1rem;border-bottom:2px solid #eee;padding-bottom:.8rem}.tabella-dettagli td{border:0;padding:.4rem 0}.tabella-dettagli td:first-child{font-weight:700;color:#077389;display:flex;width:100%;align-items:center;margin-bottom:.3rem;text-align:center;justify-content:center}.tabella-dettagli td:first-child .icon{display:none}.tabella-dettagli td:last-child{width:90%;text-align:center;padding-left:2.5rem;color:#666}}

/* -------- SEO INFO TOUR -------- */
#seo-info-tour,#seo-info-tour-2{width:100%;padding:3rem 0;background-color:#0e6b6f;color:#fff}
#seo-info-tour .seo-info-wrapper,#seo-info-tour-2 .seo-info-wrapper{max-width:1200px;margin:0 auto;display:flex;align-items:stretch;justify-content:center;gap:2rem;box-sizing:border-box;padding:0 2rem}
#seo-info-tour .seo-info-image,#seo-info-tour-2 .seo-info-image{flex:0 0 33.3333%;display:flex;align-items:center;justify-content:center;padding-right:5rem}
#seo-info-tour .seo-info-image img,#seo-info-tour-2 .seo-info-image img{max-width:100%;height:auto;margin:0 auto;display:block}
#seo-info-tour .seo-info-text,#seo-info-tour-2 .seo-info-text{flex:0 0 66.6667%;font-size:1.1rem;line-height:1.7;text-align:justify;color:#fff}
#seo-info-tour .seo-info-text h2,#seo-info-tour-2 .seo-info-text h2{margin:0 0 1.5rem;text-align:left;font-size:1.5rem;color:#fff}
#seo-info-tour .seo-info-text ul,#seo-info-tour-2 .seo-info-text ul{margin:0;padding-left:1.3rem}
#seo-info-tour .seo-info-text li,#seo-info-tour-2 .seo-info-text li{margin-bottom:.8rem}
#seo-info-tour .seo-info-text a,#seo-info-tour-2 .seo-info-text a{color:#fff;text-decoration:none}
#seo-info-tour .seo-info-text a:hover,#seo-info-tour-2 .seo-info-text a:hover{opacity:.8;text-decoration:none}
@media (max-width:768px){#seo-info-tour,#seo-info-tour-2{padding:2rem 0}#seo-info-tour .seo-info-wrapper,#seo-info-tour-2 .seo-info-wrapper{flex-direction:column;padding:0 1.5rem}#seo-info-tour .seo-info-image,#seo-info-tour-2 .seo-info-image{flex:0 0 100%;padding-right:0}#seo-info-tour .seo-info-text h2,#seo-info-tour-2 .seo-info-text h2{text-align:center;font-size:1.6rem}#seo-info-tour .seo-info-text,#seo-info-tour-2 .seo-info-text{font-size:1rem}}
@media (max-width:400px){#seo-info-tour{margin-bottom:4rem;}#seo-info-tour .seo-info-text li:last-child {border-bottom: 1px solid rgba(255, 255, 255, 0.35);}
#seo-info-tour .seo-info-text li,#seo-info-tour-2 .seo-info-text li{padding:0.8rem 0;border-top: 1px solid rgba(255, 255, 255, 0.35);}}


/* -------- GALLERIA 4 -------- */
.galleria-4{display:flex;justify-content:center;gap:1rem;width:70%;margin:2rem auto;background:#f3f3f3}
.colonna-sinistra{flex:0 0 305px;margin-right:.9rem}
.colonna-sinistra img{width:305px;height:635px;object-fit:cover}
.colonna-destra{display:flex;flex-direction:column;justify-content:space-between}
.colonna-destra img{display:block;object-fit:cover}
.img-horizontal{width:635px;height:305px;margin-bottom:1rem}
.due-immagini{display:flex;justify-content:space-between;gap:1rem}
.img-quadrata{width:305px;height:305px}
.galleria-4 img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px;overflow:hidden;transition:transform .4s ease}
.galleria-4 img:hover{transform:scale(1.1)}
@media (max-width:768px){.galleria-4{flex-direction:column;align-items:center}.colonna-sinistra img{width:100%;height:auto;object-fit:cover}.colonna-sinistra{margin-right:0}.colonna-sinistra,.colonna-destra,.img-horizontal,.img-quadrata{width:100%!important;height:auto!important}.due-immagini{flex-direction:column}}

/* -------- PRENOTAZIONE -------- */
#prenotazione{width:100%;text-align:center;color:#fff;background-color:#077389;padding:1.5rem 1rem;margin-top:3rem;font-size:1.8rem;letter-spacing:1px}
@media (max-width:480px){#prenotazione{font-size:1.5rem;padding:1.5rem .?8rem;line-height:1.4;text-align:center;box-sizing:border-box}}

/* -------- CONTATTI -------- */
#contatti{margin:0 0 4rem;padding:0;margin-top:4rem}
.contatti-container{display:flex;min-height:400px;width:80%;margin:0 auto;gap:2rem}
.contatti-left{flex:1;background:#077389;color:#fff;display:flex;flex-direction:column;border-radius:12px}
.contatti-text{background-color:#077389;color:#fff;font-family:"Indie Flower",cursive;padding:1.5rem;text-align:center;font-size:1.6rem;line-height:1.4;border-radius:12px}
.contatti-img{flex:1;padding:1.5rem;display:flex;justify-content:center;align-items:center;border-top:1px solid rgba(255,255,255,.4)}
.contatti-img img{max-width:60%;height:auto}
.contatti-bottom{flex:1;display:flex}
.contatti-bottom .bottom-box{flex:1;display:flex;justify-content:center;align-items:center;border-top:1px solid rgba(255,255,255,.4);border-right:1px solid rgba(255,255,255,.4)}
.bottom-box{transition:background .3s ease,transform .3s ease;cursor:pointer}
.bottom-box svg{transition:transform .3s ease,fill .3s ease}
.bottom-box:hover svg{transform:scale(1.1);fill:#fff}
.bottom-box a{display:flex;justify-content:center;align-items:center;text-decoration:none}
.wa-icon,.mail-icon{width:130px;height:130px}
.contatti-bottom .bottom-box:last-child{border-right:0}
.contatti-right{flex:1;background:#fff;padding:1rem;display:flex;justify-content:center;align-items:center;border:3px solid #077389;border-radius:12px}
.contact-form{width:100%;max-width:500px;display:flex;flex-direction:column;gap:1rem;color:#077389}
.contact-form h3{font-size:1.5rem;margin:.5rem 0;text-align:center;color:#077389}
.input-box{position:relative}
.input-box input,.input-box textarea{width:100%;padding:1rem .8rem;border:2px solid #077389;border-radius:8px;font-size:1rem;outline:0;background:transparent}
.input-box label{position:absolute;top:50%;left:.8rem;transform:translateY(-50%);color:#077389;pointer-events:none;transition:all .2s ease;font-size:1.3rem}
.input-box input:focus+label,.input-box input:not(:placeholder-shown)+label,.input-box textarea:focus+label,.input-box textarea:not(:placeholder-shown)+label{top:.3rem;font-size:1rem;font-weight:700;color:#077389}
.consenso{display:flex;gap:.5rem;align-items:flex-start;font-size:1.1rem;color:#077389;line-height:1.4}
.consenso input{margin-top:.3rem}
.contact-form button{padding:.8rem;background:#077389;color:#fff;font-size:1.4rem;font-weight:700;border:0;border-radius:8px;cursor:pointer;transition:background .3s ease,transform .2s ease}
.contact-form button:hover{transform:scale(1.05)}
.engado{display:none!important;visibility:hidden!important}
@media (max-width:768px){#contatti{margin-bottom:1rem}.contatti-container{flex-direction:column;width:100%}.contatti-img img{max-width:100%}.contact-form{width:90%;margin:0 auto}.contatti-bottom{flex-direction:row}.contatti-bottom .bottom-box{border:1px solid rgba(255,255,255,.4)}.contatti-bottom .bottom-box:last-child{border-bottom:0}.input-box{max-width:90%}}

/* -------- ESPERIENZE SIMILI -------- */
#esperienze-simili-header{width:100%;text-align:center;color:#fff;background-color:#0e6b6f;padding:1.5rem 1rem;margin-top:6rem;font-size:1.8rem;letter-spacing:1px;margin-bottom:0}
@media (max-width:480px){#esperienze-simili-header{font-size:1.5rem;padding:1.5rem .8rem;line-height:1.4;text-align:center;box-sizing:border-box}}
#esperienze-simili{padding:.5rem 2rem 4rem}
#esperienze-simili .visite-grid{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-top:2rem}
#esperienze-simili .visite-col{width:440px;display:flex;flex-direction:column;margin-bottom:2rem}
#esperienze-simili .visite-img{width:100%;height:440px;overflow:hidden;border-radius:10px 10px 0 0}
#esperienze-simili .visite-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
#esperienze-simili .visite-img:hover img{transform:scale(1.1)}
#esperienze-simili .visite-text{height:240px;color:#fff;border-radius:0 0 10px 10px;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center}
#esperienze-simili .visite-text h3{margin-bottom:1rem}
#esperienze-simili .visite-text p{font-size:1.1rem;text-align:center}
#esperienze-simili .visite-col:nth-child(1) .visite-text{background:#80b9c8}
#esperienze-simili .visite-col:nth-child(2) .visite-text{background:#7FB79A}
#esperienze-simili .visite-col:nth-child(3) .visite-text{background:#247d7f}
#esperienze-simili .cta-btn{display:inline-block;margin-top:1rem;margin-bottom:2rem;padding:.6rem 1.2rem;background:#fff;font-weight:700;text-decoration:none;border-radius:6px;transition:all .3s ease}
#esperienze-simili .visite-col:nth-child(1) .cta-btn{color:#80b9c8}
#esperienze-simili .visite-col:nth-child(1) .cta-btn:hover{background:#80b9c8;color:#fff}
#esperienze-simili .visite-col:nth-child(2) .cta-btn{color:#7FB79A}
#esperienze-simili .visite-col:nth-child(2) .cta-btn:hover{background:#7FB79A;color:#fff}
#esperienze-simili .visite-col:nth-child(3) .cta-btn{color:#247d7f}
#esperienze-simili .visite-col:nth-child(3) .cta-btn:hover{background:#247d7f;color:#fff}
#esperienze-simili .cta-final{display:inline-block;margin-top:2rem;padding:.8rem 1.5rem;background:rgba(36,125,127,.8);color:#fff;font-size:1.4rem;font-weight:700;border-radius:8px;text-decoration:none;transition:transform .3s ease}
#esperienze-simili .cta-final:hover{transform:scale(1.05)}
@media (max-width:1400px){#esperienze-simili{padding-bottom:2rem}#esperienze-simili .visite-col{width:100%;max-width:440px}#esperienze-simili .visite-text{height:auto;min-height:180px;padding:1rem}#esperienze-simili h3{text-align:center}#esperienze-simili .cta-final{margin-top:.3rem;font-size:1.3rem;padding:.8rem 1.5rem}}

/* -------- FOOTER -------- */
footer{background:#077389;color:#fff;padding:1rem 2rem}
.footer-content{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1.5rem;text-align:center}
.footer-content p{margin:0;font-size:.9rem}
.footer-content a{color:#fff;text-decoration:none}
.footer-content a:hover{text-decoration:underline}
.social-icons{display:flex;justify-content:center}
.social-icons a{margin-left:.5rem;display:inline-flex;align-items:center;transition:opacity .3s}
.social-icons a:hover{opacity:.7}
.mobile-break{display:none}
@media (max-width:768px){.mobile-break{display:block}.footer-content{flex-direction:column;gap:.8rem}.footer-content p{font-size:.8rem}.social-icons svg{width:20px;height:20px}}

/* -------- COOKIES -------- */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:rgba(7,115,137,.9);color:#fff;padding:1rem 1.5rem;font-size:.9rem;z-index:9999}
.cookie-banner__content{max-width:1100px;margin:0 auto}
.cookie-banner a{color:var(--color5);text-decoration:underline}
.cookie-banner__buttons{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.5rem}
.cookie-banner__buttons button{border:0;padding:.45rem .8rem;cursor:pointer;border-radius:4px;font-size:.9rem;font-weight:500}
#cookie-reject-all,#cookie-accept-all{background:#f0f0f0;color:#077389}
@media (max-width:600px){.cookie-banner{font-size:.8rem}}

/* ========== FIX GLOBAL anti-desbordamiento (como en index) ========== */
html, body{
  width:100%;
  max-width:100%;
  margin:0;
  overflow-x:hidden;
}
*, *::before, *::after{ box-sizing:border-box; }
img, svg, video, canvas{ max-width:100%; }

/* refuerzo específico del form (por si otro CSS pisa algo) */
.contact-form,
.input-box,
.input-box input,
.input-box textarea{
  max-width:100%;
}

