@import url('https://fonts.googleapis.com/css2?family=Corinthia:wght@400;700&family=Quicksand:wght@400;500;600&display=swap');
:root{--beige:#d4a373;--cream:#faedcd;--green:#768947;--white:#fff;--ink:#5b5b5b;--shadow:0 8px 28px rgba(0,0,0,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{margin:0;min-height:100%;font-family:Quicksand,Arial,sans-serif;color:var(--beige)}body{background:#fff}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.script{font-family:Corinthia,cursive;font-weight:700}.boot,.status{text-align:center;padding:60px 20px}.fatal{max-width:800px;margin:15vh auto;padding:30px;color:#8b2e2e;text-align:center}.fatal a{text-decoration:underline}.status.error{color:#a33}
.topbar{position:fixed;inset:0 0 auto 0;height:80px;display:flex;justify-content:space-between;align-items:center;padding:12px 22px;z-index:20;pointer-events:none}.topbar>*{pointer-events:auto}.menuButton{display:flex;gap:8px;align-items:center;border:0;background:rgba(255,255,255,.90);color:var(--green);font-weight:600;padding:9px 14px;border-radius:4px;cursor:pointer;box-shadow:0 3px 12px #0001}.hamb{font-size:1.15rem}.smallLogo{height:55px}.drawer{position:fixed;z-index:40;left:-390px;top:0;width:min(370px,88vw);height:100vh;background:white;padding:28px;transition:left .28s ease;overflow:auto;box-shadow:4px 0 20px #0002}.drawer.open{left:0}.drawer .close{float:right;background:none;border:0;font-size:2rem;color:var(--green);cursor:pointer}.drawerLogo{display:block;height:100px;margin:25px auto 35px}.drawer nav{display:flex;flex-direction:column;gap:15px}.drawer nav a{font-size:1.05rem}.drawer nav a:hover{color:var(--green)}.drawer nav .sub{padding-left:22px;font-size:.9rem}.overlay{position:fixed;inset:0;background:#0006;z-index:30}
.homeHero{height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}.heroHalf{display:block;background-size:cover;background-position:center}.heroHalf.left{background-image:url('/img/jpg/Corte-Bongiovanna-Curtatone-Mantova-037-black-opacity.jpg')}.heroHalf.right{background-image:url('/img/jpg/Corte-Bongiovanna-Curtatone-Mantova-066-black-opacity.jpg')}.heroBrand{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.28)}.heroLogo{position:static;height:300px;width:auto;transform:none}.heroBrandTitle{margin-top:10px;font-size:clamp(4.8rem,8vw,7.6rem);line-height:.7;color:#fff;white-space:nowrap}.heroCin{margin-top:28px;color:#fff;font-size:.82rem;letter-spacing:.08em}
main{min-height:70vh}.page{padding:100px 6vw 80px;max-width:1800px;margin:auto}.page>h1{font-size:clamp(4.5rem,8vw,7rem);text-align:center;margin:0 0 35px;line-height:.9}.breadcrumb{margin:10px 0 10px}.breadcrumb a{color:var(--green)}.subtitle{text-align:center;color:var(--ink);margin:-15px auto 35px;max-width:900px}
.cards{display:flex;gap:30px;justify-content:center;flex-wrap:wrap}.card{width:min(400px,90vw);height:400px;background-size:cover;background-position:center;border-radius:8px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}.card h2{height:75%;margin:0;background:rgba(255,255,255,.84);color:var(--green);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:1.6rem;font-weight:500}.cardAction{height:25%;display:flex;align-items:center;justify-content:center}.card a{background:var(--cream);color:var(--green);padding:10px 28px;border-radius:5px;min-width:52%;text-align:center}.intro{max-width:1100px;margin:50px auto 0;color:var(--ink);text-align:center}
.carousel{max-width:1200px;margin:auto;text-align:center}.carousel>img{width:100%;max-height:720px;object-fit:cover}.carouselControls{display:flex;align-items:center;justify-content:center;gap:18px}.carousel button{background:none;border:0;color:var(--beige);padding:18px;font-size:1.5rem;cursor:pointer}.carouselControls span{color:var(--ink);font-size:.9rem}.storyRow{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;margin:75px auto;max-width:1400px;color:var(--ink)}.storyRow.reverse img{order:2}.storyRow img{width:100%;max-height:600px;object-fit:cover}.storyRow h2{color:var(--beige);font-weight:500}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.galleryButton{padding:0;border:0;background:none;cursor:zoom-in}.gallery img{display:block;width:100%;height:300px;object-fit:cover}.detailGrid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;margin-top:55px}.planWrap{text-align:center}.planWrap h3{color:var(--green)}.plan{width:100%;max-height:620px}.primary{border:0;background:var(--beige);color:white;padding:12px 25px;border-radius:5px;cursor:pointer}.inlineButton{display:inline-block;margin-top:20px}.legacyContent{color:var(--ink);line-height:1.7}.legacyContent ul{padding-left:1.3rem}.legacyContent strong{color:var(--beige)}.prices{margin:25px 0;color:var(--ink)}.prices h3{color:var(--green)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:100;display:flex;align-items:center;justify-content:center}.lightbox img{max-width:86vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;border:0;background:transparent;color:#fff;font-size:3rem;cursor:pointer}.lightClose{top:15px;right:28px}.lightPrev{left:24px}.lightNext{right:24px}
.reviewGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:1350px;margin:auto}.reviewCard{background:var(--beige);color:#fff;padding:28px;border-radius:8px;min-height:300px}.reviewCard h2,.reviewCard p{color:#fff}.reviewMeta{font-size:.85rem}.stars span{font-size:1.5rem;color:#fff;margin-right:3px}
.contactGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center;color:var(--ink)}.contactGrid iframe{width:100%;height:520px;border:0}.contactText h2{color:var(--green)}.contactText a{color:var(--beige)}.narrow{max-width:800px}.comingSoon{background:var(--cream);padding:35px;border-radius:8px;color:var(--ink);text-align:center}.comingSoon h2{color:var(--green)}.legal{max-width:1000px;color:var(--ink)}.legal h1{color:var(--beige)}
footer{background:var(--green);color:white;text-align:center;padding:45px 20px;display:flex;flex-direction:column;align-items:center;gap:7px}footer img{height:70px}footer .footerTitle{font-size:2.7rem;color:white}footer small,footer a{color:white}.backTop{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;border:0;background:var(--beige);color:#fff;font-size:1.4rem;z-index:15;cursor:pointer;box-shadow:var(--shadow)}
.diag{font-family:system-ui,sans-serif;color:#222;max-width:1000px;margin:40px auto;padding:20px}.diag .ok{color:#187b35}.diag .bad{color:#a62121}.diag pre{background:#f4f4f4;padding:15px;overflow:auto;border-radius:6px}
@media(max-width:1000px){.heroLogo{height:230px}.heroBrandTitle{font-size:clamp(4rem,9vw,6rem)}.storyRow,.detailGrid,.contactGrid{grid-template-columns:1fr}.storyRow.reverse img{order:0}.gallery{grid-template-columns:1fr 1fr}.reviewGrid{grid-template-columns:1fr 1fr}.page{padding-top:85px}.contactGrid iframe{height:420px}}
@media(max-width:900px){.homeHero{grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:100vh}.heroHalf{height:auto}.heroBrand{width:min(92vw,620px)}.heroLogo{height:190px}.heroBrandTitle{font-size:4.8rem}.heroCin{margin-top:18px;font-size:.74rem}.topbar{height:65px}.smallLogo{height:45px}}
@media(max-width:620px){.gallery,.reviewGrid{grid-template-columns:1fr}.gallery img{height:260px}.heroLogo{height:155px}.heroBrandTitle{font-size:4rem}.heroCin{font-size:.68rem}.card{width:100%;height:auto;aspect-ratio:1}.page{padding-left:20px;padding-right:20px}.lightbox img{max-width:100vw}.lightPrev{left:4px}.lightNext{right:4px}}
/* V2: contenuti dinamici, eventi, disponibilita e richiesta prenotazione */
.homeNotice{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:4;width:min(780px,90%);background:rgba(255,255,255,.9);padding:14px 18px;border-radius:8px;text-align:center;color:#3d3a35;box-shadow:0 8px 24px #0002}.dynamicContent{margin:28px 0;line-height:1.75}.availabilityBox{margin-top:42px;padding:28px;background:#faf7ef;border:1px solid #eee3d1;border-radius:12px}.availabilityHead{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.availabilityHead h3{margin-top:0;color:#768947;font-size:1.45rem}.availabilityHead p{max-width:720px;line-height:1.6}.calendarNav{display:flex;align-items:center;gap:10px;white-space:nowrap;text-transform:capitalize}.calendarNav button{border:1px solid #d8d0c1;background:#fff;border-radius:6px;padding:7px 11px;cursor:pointer}.publicCalendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:20px}.calWeek{text-align:center;font-size:.78rem;font-weight:700;color:#777;padding:6px}.calDay{min-height:74px;border:1px solid #e4ded3;background:#fff;border-radius:7px;padding:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;cursor:pointer;color:#333}.calDay small{font-size:.68rem;color:#768947}.calDay.occupied{background:#ece7df;color:#8a837a;cursor:not-allowed}.calDay.occupied small{color:#9a5f5f}.calDay.past{opacity:.45;cursor:not-allowed}.calDay.selected{outline:2px solid #d4a373;background:#fff8e7}.calDay.empty{background:transparent;border-color:transparent;cursor:default}.calLegend{display:flex;gap:20px;margin:14px 0 22px;font-size:.82rem}.calLegend i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:4px;vertical-align:-1px}.legendFree{background:#fff;border:1px solid #d7d0c5}.legendBusy{background:#ece7df;border:1px solid #d7d0c5}.bookingRequestForm{display:grid;gap:13px;padding-top:18px;border-top:1px solid #e6ddce}.bookingRequestForm label{display:flex;flex-direction:column;gap:6px;font-size:.9rem}.bookingRequestForm input,.bookingRequestForm textarea{font:inherit;border:1px solid #d8d0c2;border-radius:6px;background:#fff;padding:11px 12px}.bookingRequestForm textarea{min-height:100px;resize:vertical}.formRow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.privacyCheck{flex-direction:row!important;align-items:flex-start!important}.privacyCheck input{width:auto;margin-top:3px}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.requestButton{border:0;cursor:pointer;width:max-content}.status.success{color:#26733d}.eventGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.eventCard{background:#fff;border:1px solid #eee4d6;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #0001}.eventCard>img{width:100%;height:280px;object-fit:cover}.eventBody{padding:22px}.eventBody h2{margin:5px 0 10px;color:#768947}.eventDate{color:#d4a373;font-weight:700}.eventPlace{font-weight:600}.eventLinks{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}.eventLinks a{color:#768947;font-weight:600}
@media(max-width:800px){.availabilityHead{flex-direction:column}.formRow{grid-template-columns:1fr}.publicCalendar{gap:3px}.calDay{min-height:58px;padding:5px}.calDay small{display:none}.eventGrid{grid-template-columns:1fr}.eventCard>img{height:220px}.homeNotice{bottom:16px}}


/* UX V3: carosello strutture, recensioni e transizioni pagina */
.routeFade{animation:cortePageFade .42s ease both}
@keyframes cortePageFade{from{opacity:0}to{opacity:1}}
.propertyCarousel{max-width:1280px;margin:0 auto 55px}.propertyCarouselStage{position:relative;overflow:hidden;border-radius:10px;background:#f4f0e9;box-shadow:var(--shadow);aspect-ratio:16/9}.propertyCarouselOpen{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.propertyCarouselImage{display:block;width:100%;height:100%;object-fit:cover;animation:propertyImageFade .7s ease both}.propertyCarouselArrow{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:58px;border:0;border-radius:7px;background:rgba(255,255,255,.84);color:var(--green);font-size:2.4rem;line-height:1;cursor:pointer;box-shadow:0 4px 16px #0002;transition:background .2s ease,transform .2s ease}.propertyCarouselArrow:hover{background:#fff}.propertyCarouselArrow.previous{left:18px}.propertyCarouselArrow.next{right:18px}.propertyCarouselBar{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-top:14px;color:var(--ink)}.propertyCarouselCounter{font-size:.82rem;min-width:52px}.propertyCarouselActions{display:flex;justify-content:center;gap:8px}.propertyCarouselActions button{border:1px solid #ded6c7;background:#fff;color:var(--green);border-radius:999px;min-width:40px;height:38px;padding:0 12px;cursor:pointer}.propertyCarouselActions button.active{background:var(--cream);border-color:#e5c995}.propertyCarouselDots{display:flex;justify-content:flex-end;align-items:center;gap:7px;max-width:360px;flex-wrap:wrap}.propertyCarouselDots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:#d4d0c7;cursor:pointer;transition:transform .2s ease,background .2s ease}.propertyCarouselDots button.active{background:var(--green);transform:scale(1.45)}
@keyframes propertyImageFade{from{opacity:.18}to{opacity:1}}
.reviewsIntro{text-align:center;color:var(--ink);max-width:760px;margin:-18px auto 38px}.reviewText{white-space:pre-line;line-height:1.65}.reviewsEmpty{max-width:720px;margin:20px auto;text-align:center;background:var(--cream);color:var(--ink);padding:42px 28px;border-radius:10px}.reviewsEmpty h2{color:var(--green);font-weight:500}.emptyStars{font-size:2rem;color:var(--beige);letter-spacing:5px;margin-bottom:10px}
@media(max-width:760px){.propertyCarousel{margin-bottom:38px}.propertyCarouselStage{aspect-ratio:4/3}.propertyCarouselArrow{width:42px;height:50px;font-size:2rem}.propertyCarouselArrow.previous{left:8px}.propertyCarouselArrow.next{right:8px}.propertyCarouselBar{grid-template-columns:auto 1fr}.propertyCarouselDots{grid-column:1/-1;justify-content:center}.propertyCarouselActions{justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){.routeFade,.propertyCarouselImage{animation:none!important}.drawer{transition:none}.propertyCarouselDots button,.propertyCarouselArrow{transition:none}}


/* === Contatti: modulo email con doppia notifica === */
.contactFormSection{max-width:900px;margin:64px auto 10px;padding:38px 42px;background:#fbf8f1;border:1px solid rgba(118,137,71,.2);border-radius:8px}
.contactFormTitle{text-align:center;margin:0 0 8px}
.contactFormIntro{text-align:center;margin:0 auto 28px;max-width:620px}
.contactRequestForm textarea{width:100%;box-sizing:border-box;resize:vertical}
.contactRequestForm .status.success{color:#5f7437;background:rgba(118,137,71,.09);border:1px solid rgba(118,137,71,.24);padding:10px 12px;border-radius:5px}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:720px){.contactFormSection{margin-top:38px;padding:26px 18px}}


/* Prefisso internazionale + toggle privacy */
.phoneField{display:flex;flex-direction:column;gap:6px;font-size:.9rem}
.phoneInputGroup{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:10px;width:100%}
.bookingRequestForm .phoneInputGroup select,.bookingRequestForm .phoneInputGroup input{font:inherit;border:1px solid #d8d0c2;border-radius:6px;background:#fff;padding:11px 12px;min-width:0}
.phonePrefixSelect{cursor:pointer}
.formRow.singleField{grid-template-columns:1fr}
.privacyToggle{display:flex!important;flex-direction:row!important;align-items:center!important;gap:11px!important;cursor:pointer;width:max-content;max-width:100%;position:relative}
.privacyToggle>input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none}
.privacyToggleTrack{width:42px;height:23px;border-radius:999px;background:#d7d1c8;border:1px solid #c9c1b5;display:inline-flex;align-items:center;padding:2px;flex:0 0 auto;transition:background .2s ease,border-color .2s ease}
.privacyToggleThumb{width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transform:translateX(0);transition:transform .2s ease}
.privacyToggle>input:checked+.privacyToggleTrack{background:#768947;border-color:#768947}
.privacyToggle>input:checked+.privacyToggleTrack .privacyToggleThumb{transform:translateX(19px)}
.privacyToggle>input:focus-visible+.privacyToggleTrack{outline:2px solid #d4a373;outline-offset:3px}
.privacyToggleText{line-height:1.4}
.privacyToggleText a{color:#768947;text-decoration:underline;text-underline-offset:2px}
@media(max-width:640px){.phoneInputGroup{grid-template-columns:1fr}.privacyToggle{width:100%;align-items:flex-start!important}.privacyToggleTrack{margin-top:1px}}

/* Property CMS public sections - 2026-08-09 */
.videoSection{margin-top:30px;padding-top:20px;border-top:1px solid rgba(105,117,64,.20)}
.videoSection h3{margin:0 0 16px;color:var(--green,#6f7f3b);font-weight:600}
.propertyInfoAccordions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start;margin-top:30px;clear:both}
.propertyAccordion{border:1px solid #e4dccf;border-radius:11px;background:rgba(255,255,255,.56);overflow:hidden;box-shadow:0 2px 8px rgba(70,60,45,.035)}
.propertyAccordion>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:15px 18px;color:var(--green,#6f7f3b);font-weight:600;cursor:pointer;user-select:none;background:rgba(250,247,239,.72);transition:background .2s ease}
.propertyAccordion>summary::-webkit-details-marker{display:none}
.propertyAccordion>summary:hover{background:#faf7ef}
.propertyAccordion>summary:focus-visible{outline:2px solid #d4a373;outline-offset:-2px}
.propertyAccordion>summary::after{content:'+';flex:0 0 auto;width:28px;height:28px;border:1px solid #dcd2c2;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--green,#6f7f3b);font-size:1.15rem;font-weight:400;line-height:1}
.propertyAccordion[open]>summary::after{content:'−'}
.propertyAccordion[open]>summary{border-bottom:1px solid #ebe2d6;background:#faf7ef}
.propertyAccordionTitle{display:flex;align-items:center;gap:9px;font-size:1.04rem}
.propertyAccordionTitle>i{font-size:1.15rem;color:#788b3e}
.propertyAccordionMeta{margin-left:auto;color:#8c877e;font-size:.78rem;font-weight:400;white-space:nowrap}
.propertyAccordionBody{padding:14px}
.featureGrid,.comfortGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.featureItem,.comfortItem{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #e4dccf;border-radius:9px;background:rgba(255,255,255,.72)}
.featureItem>i,.comfortItem>i{font-size:1.25rem;color:#788b3e;line-height:1.2;min-width:22px;text-align:center}
.featureItem span,.comfortItem>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.featureItem strong,.comfortItem strong{font-weight:600}
.featureItem small,.comfortItem small{color:#706b63;line-height:1.35}
.propertyDetailActions{margin-top:16px}
.propertyDetailActions .inlineButton{margin-top:0}
.videoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.videoGrid iframe,.videoGrid video{width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#111;display:block}
.quoteMini{min-height:48px;padding:8px 12px;border:1px solid #d8d0c2;border-radius:6px;background:#fff;display:flex;flex-direction:column;justify-content:center;color:#736d62}
.quoteMini strong{font-size:1.08rem;color:#788b3e}
.quoteMini small{display:block}
.captchaBox{margin:8px 0 4px;min-height:65px}
.captchaBox small{display:block;margin-top:6px;color:#777168}
.bookingRequestForm select{font:inherit;border:1px solid #d8d0c2;border-radius:6px;background:#fff;padding:11px 12px;min-width:0;width:100%}
@media(max-width:1000px){.propertyInfoAccordions{grid-template-columns:1fr;gap:16px}}
@media(max-width:760px){.featureGrid,.comfortGrid,.videoGrid{grid-template-columns:1fr}.propertyAccordion>summary{padding:14px 15px}.propertyAccordionMeta{display:none}.propertyAccordionBody{padding:12px}.quoteMini{min-height:auto}}
