@import"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap";*{box-sizing:border-box}:root{font-family:Lato,Arial,sans-serif;color:#261f17;background:#f7f4ee;font-synthesis:none;text-rendering:optimizeLegibility}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(191,159,105,.12),transparent 32rem),#f7f4ee}button,input,select{font:inherit}button{cursor:pointer}.page-shell{min-height:100vh}.site-header{min-height:92px;padding:10px clamp(20px,5vw,72px);background:#fffffff0;border-bottom:1px solid #e8dfd1;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-logo{width:66px;height:66px;object-fit:contain;object-position:center;flex:0 0 auto;display:block;mix-blend-mode:multiply}.brand-copy{display:grid;gap:2px}.brand strong{font-family:Lato,Arial,sans-serif;font-size:1.12rem;font-weight:700;letter-spacing:.01em}.brand small{color:#816f5d}.back-link{color:#745a34;text-decoration:none;font-weight:700}main{width:min(1180px,calc(100% - 36px));margin:0 auto}.hero{text-align:center;padding:64px 16px 34px}.eyebrow{display:inline-block;color:#9a7844;font-size:.74rem;letter-spacing:.18em;font-weight:900}.hero h1{margin:10px 0 14px;font-family:Lato,Arial,sans-serif;font-size:clamp(2.25rem,5vw,4.15rem);font-weight:300;letter-spacing:-.025em}.hero p{width:min(720px,100%);margin:0 auto;color:#6d6258;line-height:1.7}.booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:24px;padding-bottom:70px}.calendar-card,.summary-card{background:#fffffff5;border:1px solid #e5dccd;border-radius:24px;box-shadow:0 18px 50px #4e391d14}.calendar-card{padding:24px}.calendar-toolbar{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:12px;margin-bottom:20px}.calendar-toolbar h2{margin:0;text-align:center;font-family:Lato,Arial,sans-serif;font-size:1.65rem;font-weight:700;text-transform:capitalize}.calendar-toolbar button{width:46px;height:46px;border-radius:14px;border:1px solid #dfd2be;background:#fbf8f3;color:#745a34;font-size:1.6rem}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{border-bottom:1px solid #eadfce}.weekdays span{padding:12px 6px;text-align:center;color:#7b6a58;font-size:.8rem;font-weight:800}.calendar-grid{gap:6px;padding-top:8px}.day,.calendar-empty{min-height:88px}.day{border:1px solid transparent;border-radius:14px;background:#fbf9f5;color:#281f16;padding:10px 8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:transform .15s ease,border-color .15s ease,background .15s ease}.day:hover:not(.unavailable):not(.past){transform:translateY(-2px);border-color:#c9ad7d;background:#fffaf2}.day strong{font-size:1rem}.day small{color:#867767;font-size:.66rem}.day.unavailable{background:#eee9e1;color:#8f8578;cursor:not-allowed}.day.unavailable small{color:#8f8578}.day.past{opacity:.38;cursor:not-allowed}.day.selected-start,.day.selected-end{background:#9a7844;color:#fff;border-color:#9a7844}.day.selected-start small,.day.selected-end small{color:#f7ead4}.day.selected-range{background:#eee0c8;border-color:#dfc89f}.legend{display:flex;flex-wrap:wrap;gap:20px;padding-top:20px;color:#776b5f;font-size:.8rem}.legend span{display:inline-flex;align-items:center;gap:7px}.legend-dot{width:12px;height:12px;border-radius:4px;display:inline-block}.available-dot{background:#fbf9f5;border:1px solid #d7c7ae}.unavailable-dot{background:#dcd5cb}.selected-dot{background:#9a7844}.calendar-status{padding:90px 16px;text-align:center;color:#74675b}.calendar-status.error{color:#9f3939}.summary-card{padding:28px;align-self:start;position:sticky;top:108px}.summary-card h2{margin:8px 0 24px;font-family:Lato,Arial,sans-serif;font-size:1.85rem;font-weight:400}.dates-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e6dccd;border-radius:16px;overflow:hidden}.dates-summary div{padding:14px;display:grid;gap:5px}.dates-summary div+div{border-left:1px solid #e6dccd}.dates-summary span,.nights-row span{color:#817466;font-size:.78rem}.nights-row{display:flex;justify-content:space-between;padding:16px 2px 20px;border-bottom:1px solid #eee5d9}.guest-controls{padding:8px 0}.guest-row{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #f0e9df}.guest-row>span{color:#4f4439;font-size:.9rem}.counter{display:flex;align-items:center;gap:12px}.counter button{width:31px;height:31px;border-radius:50%;border:1px solid #d7c8b2;background:#fff;color:#745a34}.counter button:disabled{opacity:.35;cursor:default}.counter strong{min-width:18px;text-align:center}.message{margin-top:18px;padding:12px 14px;border-radius:12px;font-size:.85rem}.message-ok{background:#f0f5eb;color:#465b36}.message-error{background:#f8ece9;color:#8e3d32}.primary-action{width:100%;border:0;border-radius:14px;background:#9a7844;color:#fff;padding:15px 18px;margin-top:18px;font-weight:800;box-shadow:0 10px 24px #745a342e}.primary-action:disabled{background:#c9bda9;box-shadow:none;cursor:not-allowed}.reset-button{width:100%;border:0;background:transparent;color:#745a34;padding:12px;font-weight:700}.access-preview{margin-top:12px;padding:15px;border-radius:14px;background:#fbf5eb;border:1px solid #ead8b8}.access-preview strong{display:block;margin-bottom:5px}.access-preview p,.privacy-note{margin:0;color:#6f6254;line-height:1.55;font-size:.8rem}.privacy-note{text-align:center;margin-top:18px}footer{min-height:110px;background:#2c241c;color:#f5ecdf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center}footer strong{font-family:Lato,Arial,sans-serif;font-size:1.15rem}footer span{color:#cbbda9;font-size:.8rem}@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.summary-card{position:static}}@media(max-width:620px){.site-header{padding:14px 16px}.back-link{font-size:.8rem}main{width:min(100% - 20px,1180px)}.hero{padding-top:42px}.calendar-card{padding:12px;border-radius:18px}.day,.calendar-empty{min-height:68px}.day{padding:7px 5px;border-radius:10px}.day small{display:none}.calendar-toolbar h2{font-size:1.3rem}.summary-card{padding:22px}}.header-actions{display:flex;align-items:center;gap:18px}.login-link,.customer-session button{border:0;background:transparent;color:#745a34;font-weight:700;padding:8px 2px}.customer-session{display:flex;align-items:center;gap:10px;color:#5c4f42;font-size:.82rem}.customer-session>span{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#271f1785;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-modal{position:relative;width:min(470px,100%);max-height:calc(100vh - 48px);overflow-y:auto;padding:34px;border:1px solid #e2d7c7;border-radius:24px;background:#fffdf9;box-shadow:0 28px 80px #2119113d}.auth-modal h2{margin:8px 0 22px;font-size:2rem;font-weight:400}.auth-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid #e3d7c6;border-radius:50%;background:#fffaf2;color:#6d5737;font-size:1.35rem}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin-bottom:16px;border-radius:14px;background:#f1ece4}.auth-tabs button{border:0;border-radius:10px;padding:10px;background:transparent;color:#756858;font-weight:700}.auth-tabs button.active{background:#fff;color:#5c4526;box-shadow:0 4px 12px #49351d14}.google-button,.auth-submit,.secondary-auth-button{width:100%;border-radius:13px;padding:13px 16px;font-weight:800}.google-button{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #d9d0c4;background:#fff;color:#382f26}.google-g{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:1px solid #dadada;color:#4285f4;font-weight:900}.auth-separator{display:flex;align-items:center;gap:12px;margin:17px 0;color:#9a8d7f;font-size:.75rem}.auth-separator:before,.auth-separator:after{content:"";height:1px;flex:1;background:#e6ded3}.auth-form{display:grid;gap:13px}.auth-form label{display:grid;gap:6px;color:#5e5246;font-size:.8rem;font-weight:700}.auth-form input{width:100%;border:1px solid #ded3c4;border-radius:12px;background:#fff;padding:12px 13px;color:#2f261e;outline:none}.auth-form input:focus{border-color:#aa8959;box-shadow:0 0 0 3px #9a78441c}.auth-submit{margin-top:5px;border:0;background:#9a7844;color:#fff}.google-button:disabled,.auth-submit:disabled,.secondary-auth-button:disabled{opacity:.55;cursor:not-allowed}.auth-feedback{margin-top:15px;padding:12px 13px;border-radius:11px;line-height:1.45;font-size:.8rem}.auth-feedback-error{background:#f8ece9;color:#8b3d32}.auth-feedback-ok{background:#edf4e8;color:#4c603b}.auth-privacy{margin:18px 0 0;color:#807365;line-height:1.55;text-align:center;font-size:.73rem}.signed-account{display:grid;gap:10px}.signed-account>strong{font-size:1.08rem}.signed-account>span{color:#76695d;font-size:.85rem}.verification-state{margin:5px 0;padding:10px 12px;border-radius:10px;font-size:.78rem;font-weight:800}.verification-state.verified{background:#edf4e8;color:#4c603b}.verification-state.not-verified{background:#fbf1df;color:#87632c}.secondary-auth-button{border:1px solid #d8cbb9;background:#fff;color:#6b5230}@media(max-width:620px){.header-actions{gap:10px}.customer-session>span{display:none}.auth-overlay{padding:12px}.auth-modal{padding:28px 20px 22px;border-radius:19px}}.booking-modal{width:min(560px,100%)}.booking-modal-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:16px;overflow:hidden;border:1px solid #e4d8c7;border-radius:15px;background:#e4d8c7}.booking-modal-summary>div{display:grid;gap:4px;padding:13px 14px;background:#fffdf9}.booking-modal-summary span,.booking-account-line span,.booking-result-grid span{color:#877969;font-size:.72rem}.booking-account-line{display:flex;justify-content:space-between;gap:12px;padding:12px 2px 17px;border-bottom:1px solid #eee6db;margin-bottom:16px}.booking-account-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-form textarea{width:100%;resize:vertical;min-height:92px;border:1px solid #ded3c4;border-radius:12px;background:#fff;padding:12px 13px;color:#2f261e;outline:none;font:inherit}.booking-form textarea:focus{border-color:#aa8959;box-shadow:0 0 0 3px #9a78441c}.booking-guest-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;border-radius:12px;background:#f7f2e9;color:#66594c;font-size:.78rem}.booking-security-note,.booking-next-step{margin:3px 0 0;color:#7a6d60;line-height:1.5;font-size:.76rem}.booking-success{text-align:center}.booking-success-icon{width:56px;height:56px;display:grid;place-items:center;margin:4px auto 14px;border-radius:50%;background:#edf4e8;color:#4c603b;font-size:1.8rem;font-weight:900}.booking-success h2{margin-bottom:8px}.booking-success>p{color:#74685b;line-height:1.55}.booking-result-grid{display:grid;gap:8px;margin:20px 0;text-align:left}.booking-result-grid>div{display:flex;justify-content:space-between;gap:14px;padding:12px 13px;border-radius:11px;background:#f8f4ed}.booking-result-grid strong{text-align:right;overflow-wrap:anywhere}@media(max-width:620px){.booking-modal-summary,.booking-guest-detail{grid-template-columns:1fr}.booking-result-grid>div,.booking-account-line{align-items:flex-start;flex-direction:column}.booking-result-grid strong{text-align:left}}.payment-panel{margin-top:22px;border-top:1px solid rgba(168,129,56,.22);padding-top:22px}.payment-panel-heading h3{margin:6px 0 8px;font-size:1.35rem}.payment-panel-heading p{margin:0;color:#675f54;line-height:1.55}.payment-choice-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 14px}.payment-choice{border:1px solid #d8ccb7;background:#fffdf9;color:#443c32;border-radius:12px;padding:13px 12px;font:inherit;font-weight:700;cursor:pointer}.payment-choice.active{border-color:#a88138;background:#f6f0e5;box-shadow:inset 0 0 0 1px #a881382e}.payment-method-body{border:1px solid #e3d9c8;border-radius:15px;padding:16px;background:#fff}.payment-method-title{display:flex;flex-direction:column;gap:3px;margin-bottom:11px}.payment-method-title strong{font-size:1.04rem}.payment-method-title span,.payment-help{color:#71685d;font-size:.92rem}.payment-help{margin:0 0 14px;line-height:1.45}#lumia-paypal-buttons{min-height:52px}.payment-status{margin-top:12px;padding:11px 12px;border-radius:10px;background:#f5f1e9;font-size:.92rem}.payment-status-ok{background:#eef6ee;color:#315b39}.payment-status-error{background:#fff0ef;color:#8a3430}.sandbox-notice{margin-top:13px;padding:9px 11px;border-radius:9px;background:#f8f5ef;color:#756b60;font-size:.78rem;font-weight:700;letter-spacing:.02em;text-align:center}.bank-details{display:grid;gap:9px}.bank-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #eee5d7;border-radius:11px;padding:11px 12px;background:#fcfaf6}.bank-row>div{min-width:0;display:flex;flex-direction:column;gap:3px}.bank-row span{color:#766c60;font-size:.8rem}.bank-row strong{overflow-wrap:anywhere;font-size:.94rem}.bank-row button,.bank-causale button{flex:0 0 auto;border:1px solid #c9b48e;background:#fff;color:#735a2d;border-radius:8px;padding:7px 9px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.bank-instructions{margin-top:15px;padding-top:14px;border-top:1px solid #eee5d7}.bank-instructions>strong{display:block;margin-bottom:7px}.bank-causale{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed #cdb98f;border-radius:10px;padding:10px 11px;background:#fffdf9}.bank-causale span{overflow-wrap:anywhere;font-weight:700;font-size:.9rem}.bank-instructions p{margin:11px 0 0;color:#675f54;line-height:1.5;font-size:.91rem}.payment-confirmed-box{margin-top:20px;border:1px solid #cddfcf;background:#f1f8f1;border-radius:14px;padding:16px;display:grid;gap:6px}.payment-confirmed-box strong{color:#315b39}.payment-confirmed-box span{font-size:1.35rem;font-weight:800}.payment-confirmed-box p{margin:0;color:#5b685d;line-height:1.45;font-size:.9rem}.booking-close-after-payment{margin-top:18px}@media(max-width:620px){.payment-choice-tabs{grid-template-columns:1fr}.bank-row,.bank-causale{align-items:flex-start}}.bank-confirm-button{margin-top:16px;width:100%}.bank-transfer-confirmed{margin-top:16px;border:1px solid #d9caa9;background:#fbf7ef;border-radius:12px;padding:14px;display:grid;gap:5px}.bank-transfer-confirmed strong{color:#735a2d}.bank-transfer-confirmed span{font-weight:700}.bank-transfer-confirmed p{margin:0;color:#675f54;line-height:1.45;font-size:.9rem}.payment-deadline-card{margin:0 0 15px;border:1px solid #dccaa7;border-radius:12px;padding:13px 14px;display:grid;gap:5px;background:#fbf7ef}.payment-deadline-card strong{color:#735a2d;font-size:.95rem}.payment-deadline-card span{color:#3f3932;font-weight:700;line-height:1.4}.payment-deadline-card b{color:#7a5520;font-size:.93rem;line-height:1.4}.payment-deadline-card small{color:#6c6257;line-height:1.45}.payment-deadline-online{border-left:4px solid #a88138}.payment-deadline-bank{margin-top:12px}.bank-deadline-highlight{margin-top:8px;border-radius:10px;padding:12px;background:#f2eadb;display:grid;gap:3px}.bank-deadline-highlight span{color:#6b5a40;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.bank-deadline-highlight strong{color:#65491f;font-size:1.04rem}.bank-receipt-note{font-size:.86rem;color:#736a5f!important}.my-bookings-header-button{white-space:nowrap}.my-bookings-modal{width:min(760px,calc(100vw - 28px));max-height:min(86vh,820px);overflow-y:auto}.my-bookings-intro{margin:4px 0 14px;color:#6a6258;line-height:1.5}.my-bookings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px;padding:10px 12px;border-radius:10px;background:#f8f4ec}.my-bookings-toolbar span{min-width:0;overflow-wrap:anywhere;color:#645b50;font-size:.88rem}.my-bookings-toolbar button{flex:0 0 auto;border:1px solid #cbb78e;background:#fff;color:#70552a;border-radius:8px;padding:8px 10px;font:inherit;font-weight:700;cursor:pointer}.my-bookings-list{display:grid;gap:14px}.my-bookings-state{padding:28px 18px;border:1px solid #e5dccd;border-radius:13px;background:#fbfaf7;text-align:center;color:#655d54}.my-bookings-error{background:#fff2f1;color:#8a3430;border-color:#efd0cd}.customer-booking-card{border:1px solid #dfd4c1;border-radius:15px;background:#fff;padding:16px;box-shadow:0 8px 24px #42351f0f}.customer-booking-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid #eee5d8}.customer-booking-card-head>div{min-width:0;display:grid;gap:4px}.customer-booking-card-head strong{font-size:1.05rem}.customer-booking-code{color:#806b49;font-size:.76rem;overflow-wrap:anywhere}.customer-booking-status{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#f5ecdc;color:#775a2a;font-size:.8rem;font-weight:800}.customer-booking-confermata .customer-booking-status{background:#eaf4eb;color:#315b39}.customer-booking-scaduta .customer-booking-status,.customer-booking-annullata .customer-booking-status{background:#f4e7e6;color:#8a3430}.customer-booking-grid{margin-top:13px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.customer-booking-grid>div{border-radius:10px;background:#faf7f1;padding:10px;display:grid;gap:3px}.customer-booking-grid span,.customer-payment-state span{color:#756c62;font-size:.78rem}.customer-booking-grid strong{font-size:.94rem}.customer-payment-state{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f7f3eb;display:flex;justify-content:space-between;gap:12px}.customer-booking-deadline{margin-top:10px;padding:11px 12px;border-radius:10px;background:#fff5df;display:grid;gap:3px}.customer-booking-deadline span{color:#7a6541;font-size:.78rem;font-weight:700}.customer-booking-deadline strong{color:#684b1f}.customer-booking-expired{margin-top:10px;padding:11px 12px;border-radius:10px;background:#fff0ef;color:#8a3430;line-height:1.45;font-size:.9rem}.customer-booking-receipts{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.customer-booking-receipts a{border:1px solid #ccb78f;border-radius:9px;padding:9px 11px;background:#fffaf1;color:#73582b;text-decoration:none;font-size:.85rem;font-weight:800}@media(max-width:720px){.customer-session{flex-wrap:wrap}.customer-booking-card-head{flex-direction:column}.customer-booking-grid{grid-template-columns:1fr 1fr}.customer-booking-status{align-self:flex-start}}.terms-page-button,.terms-inline-button{border:0;background:transparent;color:#7b5e2e;font:inherit;text-decoration:underline;cursor:pointer}.terms-page-button{display:block;margin:8px auto 0;font-weight:700}.terms-check{display:flex!important;align-items:flex-start;gap:10px;border:1px solid #ded3c1;border-radius:11px;padding:12px;background:#fbf8f2}.terms-check input{width:auto!important;margin-top:3px}.terms-check span{line-height:1.45;color:#5f574d;font-size:.9rem}.terms-inline-button{padding:0;font-weight:700}.terms-modal{width:min(720px,calc(100vw - 28px));max-height:86vh;overflow-y:auto}.terms-content{display:grid;gap:13px;margin:16px 0 20px}.terms-content section{border:1px solid #e5dccd;border-radius:12px;padding:14px;background:#fbfaf7}.terms-content h3{margin:0 0 7px;font-size:1rem;color:#654d28}.terms-content p{margin:5px 0;color:#625a50;line-height:1.55}.customer-cancel-request-button{width:100%;margin-top:12px;border:1px solid #c7908b;background:#fff7f6;color:#8a4039;border-radius:10px;padding:10px 12px;font:inherit;font-weight:800;cursor:pointer}.customer-cancellation-pending,.customer-cancellation-approved,.customer-cancellation-rejected{margin-top:11px;border-radius:10px;padding:11px 12px;display:grid;gap:4px}.customer-cancellation-pending{background:#fff5df;color:#71501e}.customer-cancellation-approved{background:#edf6ee;color:#315b39}.customer-cancellation-rejected{background:#fff0ef;color:#8a3430}.cancellation-modal{width:min(620px,calc(100vw - 28px))}.cancellation-policy-preview{display:grid;gap:10px;margin:14px 0}.cancellation-policy-ok,.cancellation-policy-warning{border-radius:11px;padding:13px}.cancellation-policy-ok{background:#edf6ee;color:#315b39}.cancellation-policy-warning{background:#fff5df;color:#71501e}.cancellation-policy-ok p,.cancellation-policy-warning p{margin:5px 0 0;line-height:1.45}.cancellation-reason{display:grid;gap:7px;color:#514a43;font-weight:700}.cancellation-reason span{font-weight:400;color:#756c62}.cancellation-reason textarea{width:100%;border:1px solid #d8cdbb;border-radius:10px;padding:11px;font:inherit;resize:vertical}.cancellation-note{color:#6c6257;font-size:.9rem;line-height:1.5}.footer-claim{margin-top:5px;font-size:.84rem;font-weight:700;letter-spacing:.035em;text-align:center}.footer-codes{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:.75rem;opacity:.92;text-align:center}@media(max-width:640px){.footer-codes{flex-direction:column;gap:2px}}.cancellation-overlay,.terms-overlay{z-index:140}
