:root{--color-primary: #9e2a2b;--color-secondary: #d4af37;--color-bg: #f9f9f9;--color-text: #333333;--color-text-light: #f9f9f9;--font-heading: "Playfair Display", serif;--font-body: "Lato", sans-serif;--transition-speed: .3s}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;margin-bottom:1rem}a{text-decoration:none;color:inherit;transition:color var(--transition-speed)}ul{list-style:none}img{max-width:100%;display:block}.js-booking-engine-container img{display:inline-block}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.btn{display:inline-block;padding:1rem 2rem;background-color:var(--color-primary);color:var(--color-text-light);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;border:2px solid var(--color-primary);cursor:pointer;transition:all var(--transition-speed)}.btn:hover{background-color:transparent;color:var(--color-primary)}.btn-gold{background-color:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.btn-gold:hover{color:var(--color-secondary)}.section-padding{padding:5rem 0}.text-center{text-align:center}.gold-text{color:var(--color-secondary)}header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1.5rem 0;transition:background-color var(--transition-speed),padding var(--transition-speed)}header.scrolled{background-color:#fffffff2;padding:1rem 0;box-shadow:0 2px 10px #0000001a}nav{display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-text-light)}header.scrolled .logo{color:var(--color-primary)}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{color:var(--color-text-light);font-weight:700;text-transform:uppercase;font-size:.9rem;letter-spacing:1px}header.scrolled .nav-links a{color:var(--color-text)}.nav-links a:hover{color:var(--color-secondary)}.hero{height:100vh;background:linear-gradient(#0000004d,#0000004d),url(/assets/hero.webp) no-repeat center center/cover;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-text-light)}.hero-content h1{font-size:4rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.hero-content p{font-size:1.5rem;margin-bottom:2rem;font-weight:300}.scroll-down{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;text-decoration:none;transition:opacity .3s}.scroll-down:hover{opacity:.7}.scroll-down span{display:block;width:20px;height:20px;border-bottom:3px solid white;border-right:3px solid white;transform:rotate(45deg);animation:scrollAnimation 2s infinite}.scroll-down span:nth-child(2){animation-delay:.2s}.scroll-down span:nth-child(3){animation-delay:.4s}@keyframes scrollAnimation{0%{opacity:0;transform:rotate(45deg) translate(-10px,-10px)}50%{opacity:1}to{opacity:0;transform:rotate(45deg) translate(10px,10px)}}.experience{background-color:#fff}.experience h2{font-size:2.5rem;color:var(--color-primary);margin-bottom:1.5rem}.experience p{max-width:800px;margin:0 auto 2rem;font-size:1.1rem;color:#666}.rooms{background-color:var(--color-bg)}.room-card{display:flex;margin-bottom:4rem;background:#fff;box-shadow:0 10px 30px #0000000d;align-items:center}.room-card:nth-child(2n){flex-direction:row-reverse}.room-image{flex:1;height:400px;overflow:hidden}.room-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.room-card:hover .room-image img{transform:scale(1.05)}.room-info{flex:1;padding:3rem;text-align:left}.room-info h3{font-size:2rem;color:var(--color-primary);margin-bottom:1rem}.room-info p{margin-bottom:1.5rem;color:#666}.amenities-list{display:flex;gap:1rem;margin-bottom:2rem;font-size:.9rem;color:#888}.amenities{background-color:var(--color-primary);color:var(--color-text-light)}.amenities h2{color:var(--color-secondary)}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem;margin-top:3rem}.amenity-item{text-align:center;padding:2rem;border:1px solid rgba(255,255,255,.1);transition:transform var(--transition-speed);background:#ffffff0d}.amenity-item:hover{transform:translateY(-5px);background:#ffffff1a}.amenity-item h4{margin-top:.5rem;font-size:1.1rem;letter-spacing:1px}.testimonials{background-color:#fff;position:relative}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-top:3rem}.activities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.activity-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 15px #0000000d;transition:transform .3s ease,box-shadow .3s ease;text-align:center}.activity-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.activity-card .icon{font-size:3rem;margin-bottom:1rem;display:inline-block}.activity-card h3{color:var(--color-secondary);margin-bottom:1rem;font-family:var(--font-heading)}.activity-card p{color:#666;font-size:.95rem;line-height:1.6}.room-hero{height:60vh;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}.room-hero:after{content:"";position:absolute;inset:0;background:#0006}.room-hero-content{position:relative;z-index:1}.room-hero h1{font-size:4rem;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.room-container{display:grid;grid-template-columns:2fr 1fr;gap:4rem;max-width:1200px;margin:0 auto;padding:4rem 2rem}.room-details h2{color:var(--color-primary);margin-bottom:1.5rem}.room-details p{margin-bottom:1.5rem;line-height:1.8;color:#555}.room-gallery{margin:0 -2rem 3rem;overflow:hidden}.gallery-scroll{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 2rem 1rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-primary) #f0f0f0}.gallery-scroll::-webkit-scrollbar{height:8px}.gallery-scroll::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.gallery-scroll::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}.gallery-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}.gallery-scroll img{flex:0 0 calc(50% - .5rem);height:300px;object-fit:cover;border-radius:12px;scroll-snap-align:start;box-shadow:0 4px 12px #00000026;transition:transform .3s ease}.gallery-scroll img:hover{transform:scale(1.02)}.booking-sidebar{position:sticky;top:100px;height:fit-content}.booking-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 5px 20px #0000001a;border:1px solid #eee}.booking-price{font-size:2rem;color:var(--color-primary);font-family:var(--font-heading);margin-bottom:.5rem}.booking-price span{font-size:1rem;color:#888;font-family:var(--font-body)}.villa-slideshow{max-width:900px;margin:2rem auto 0;position:relative}.slideshow-container{position:relative;width:100%;height:500px;border-radius:12px;overflow:visible;box-shadow:0 10px 40px #0003;touch-action:pan-y;-webkit-user-select:none;user-select:none}.slideshow-container.swipeable{cursor:grab}.slideshow-container.swipeable:active{cursor:grabbing}.slide{position:absolute;width:100%;height:100%;opacity:0;transition:none;pointer-events:none;border-radius:12px;overflow:hidden;will-change:transform,opacity}.slide.active{opacity:1;pointer-events:auto;z-index:2}.slide.preload{opacity:0;z-index:1}.slide.swiping{transition:none;z-index:10}.slide.transitioning{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease-out}.slide img{width:100%;height:100%;object-fit:cover;pointer-events:none;border-radius:12px}.slideshow-dots{text-align:center;margin-top:1.5rem}.dot{display:inline-block;width:12px;height:12px;margin:0 8px;background-color:#ccc;border-radius:50%;cursor:pointer;transition:all .3s ease}.dot:hover{background-color:#999}.dot.active{background-color:var(--color-primary);transform:scale(1.3)}@media(max-width:900px){.room-container{grid-template-columns:1fr}.booking-sidebar{position:static}.slideshow-container{height:300px}}.testimonial-card{background:var(--color-bg);padding:2rem;border-radius:4px;box-shadow:0 5px 15px #0000000d;text-align:left}.testimonial-text{font-style:italic;color:#555;margin-bottom:1.5rem;font-size:1.05rem}.testimonial-author{font-weight:700;color:var(--color-primary);text-align:right}.location-content{display:flex;flex-wrap:wrap}.location-info{flex:1;padding:5rem;background:#fff;display:flex;flex-direction:column;justify-content:center}.location-image{flex:1;min-height:400px;background:url(/assets/exterior.webp) no-repeat center center/cover}.contact{background-color:#222;color:#fff;padding:5rem 0;text-align:center}.contact h2{color:var(--color-secondary)}.contact form{max-width:600px;margin:3rem auto 0;display:flex;flex-direction:column;gap:1rem}.contact input,.contact textarea{padding:1rem;background:#ffffff1a;border:1px solid #444;color:#fff;font-family:var(--font-body)}.contact input:focus,.contact textarea:focus{outline:none;border-color:var(--color-secondary)}footer{background-color:#111;color:#666;padding:2rem 0;text-align:center;font-size:.9rem}@media(max-width:768px){body{padding:0;margin:0;width:100%;overflow-x:hidden}.container{padding-left:1rem;padding-right:1rem;width:100%}.section-padding{padding:3rem 0}.hero-content h1{font-size:2.5rem;padding:0 1rem}.hero-content p{font-size:1.2rem;padding:0 1rem}.room-card,.room-card:nth-child(2n){flex-direction:column;margin:0 0 2rem}.room-image{height:250px;width:100%}.room-info{padding:2rem 1rem}.room-info h3{font-size:1.5rem}.amenities-list{flex-wrap:wrap;gap:.5rem;font-size:.85rem}.location-content{flex-direction:column}.nav-links{display:none}main,section,.experience,.rooms,#amenities,#location,#contact{width:100%;max-width:100%;overflow-x:hidden}.hero{min-height:100vh;width:100%}.villa-slideshow{margin:2rem 1rem 0}.slideshow-container{margin:0;border-radius:12px;height:auto;aspect-ratio:16 / 9;max-height:300px}.slide{border-radius:12px}.slide img{border-radius:12px;object-fit:cover;object-position:center;width:100%;height:100%}.slideshow-dots{margin-top:1.5rem;padding:0 1rem}.room-gallery{margin:0 -1rem 3rem}.gallery-scroll{padding:0 1rem 1rem}.gallery-scroll img{flex:0 0 85%;height:250px}.room-hero h1{font-size:2.5rem;padding:0 1rem}.room-hero p{font-size:1.2rem;padding:0 1rem}}.guide-header{position:relative;background-color:#fff;padding:1rem 0;box-shadow:0 2px 10px #00000014;border-bottom:2px solid var(--color-secondary)}.guide-hero{height:45vh;min-height:320px;background:linear-gradient(135deg,var(--color-primary),#5c1415);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 2rem}.guide-hero-content h1{font-size:3.5rem;margin-bottom:.5rem;color:var(--color-secondary);text-shadow:0 2px 4px rgba(0,0,0,.3)}.guide-hero-content p{font-size:1.3rem;font-weight:300;opacity:.9}.guide-nav-bar{background:#fff;border-bottom:1px solid #eee;padding:.8rem 0;position:sticky;top:0;z-index:999;box-shadow:0 2px 8px #0000000f}.guide-nav-bar .container{display:flex;gap:1.5rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;justify-content:center;flex-wrap:wrap}.guide-nav-bar .container::-webkit-scrollbar{display:none}.guide-nav-bar a{white-space:nowrap;font-size:.9rem;font-weight:600;color:var(--color-text);padding:.4rem .8rem;border-radius:20px;transition:all .2s;text-decoration:none}.guide-nav-bar a:hover{background-color:#d4af3726;color:var(--color-primary)}.guide-section-title{font-size:2.2rem;color:var(--color-primary);text-align:center;margin-bottom:.5rem}.guide-section-desc{text-align:center;color:#666;font-size:1.1rem;max-width:700px;margin:0 auto 3rem}.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.guide-grid-2col{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.guide-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 15px #0000000f;border:1px solid #f0ece4;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.guide-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0000001a}.guide-card-highlight{border-left:4px solid var(--color-secondary)}.guide-card-icon{font-size:2.5rem;margin-bottom:.8rem}.guide-card h3{font-family:var(--font-heading);color:var(--color-primary);font-size:1.3rem;margin-bottom:.5rem}.guide-card-type{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--color-secondary);font-weight:700;margin-bottom:.8rem}.guide-card-distance{font-size:.9rem;color:var(--color-secondary);font-weight:600;margin-bottom:.5rem}.guide-card p{color:#555;line-height:1.7;font-size:.95rem;margin-bottom:1rem}.guide-card-info{background:#fdf8ed;padding:.8rem 1rem;border-radius:8px;font-size:.85rem;color:#666;margin-bottom:1rem;border-left:3px solid var(--color-secondary)}.guide-card-link{display:inline-block;margin-top:auto;color:var(--color-primary);font-weight:600;font-size:.9rem;transition:color .2s}.guide-card-link:hover{color:var(--color-secondary)}.emergency-list{list-style:none;padding:0}.emergency-list li{padding:.5rem 0;border-bottom:1px solid #f0f0f0;font-size:.95rem;color:#555}.emergency-list li:last-child{border-bottom:none}.emergency-list a{color:var(--color-primary);font-weight:600}.emergency-list a:hover{color:var(--color-secondary)}.guide-cta .btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0003}@media(max-width:768px){.guide-hero-content h1{font-size:2.2rem}.guide-hero-content p{font-size:1rem}.guide-nav-bar .container{justify-content:flex-start;flex-wrap:nowrap;gap:.5rem;padding:0 1rem}.guide-nav-bar a{font-size:.8rem;padding:.3rem .6rem}.guide-section-title{font-size:1.8rem}.guide-grid,.guide-grid-2col{grid-template-columns:1fr}.guide-card-emergency[style*=grid-column]{grid-column:auto!important}}.lang-switcher{position:relative;display:inline-block}.lang-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#fff;border-radius:4px;transition:all .2s}.lang-btn:hover{opacity:.8}header.scrolled .lang-btn{color:var(--color-text)}header.scrolled .lang-btn:hover{opacity:.8}.lang-dropdown{position:absolute;top:100%;right:0;background:#fff;min-width:150px;box-shadow:0 4px 15px #0000001a;border-radius:8px;padding:.5rem;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .2s ease;z-index:2000}.lang-dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.lang-dropdown .lang-btn{width:100%;padding:.5rem 1rem;font-size:1rem;border-radius:4px;color:#333}.lang-dropdown .lang-btn:hover,.lang-dropdown .lang-btn.active{background-color:#f5f5f5;color:var(--color-primary)}.flag{font-size:1.2rem}.guide-page-shell{background:radial-gradient(circle at top left,rgba(212,175,55,.14),transparent 28%),linear-gradient(180deg,#f4efe8,#f8f5f0 28%,#fbfaf7)}.guide-page{padding-bottom:4rem}.guide-header-row{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.guide-logo{color:var(--color-primary)}.guide-header-actions{display:flex;align-items:center;gap:1.25rem}.guide-back-link{color:var(--color-primary);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.guide-entry-hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:7rem 0 4rem;overflow:hidden}.guide-entry-hero-media,.guide-entry-hero-overlay{position:absolute;inset:0}.guide-entry-hero-media{background:linear-gradient(#1f14115c,#1f141194),url(/assets/Casa%20Notte.webp) center center / cover no-repeat;transform:scale(1.04)}.guide-entry-hero-overlay{background:linear-gradient(110deg,rgba(22,15,14,.18),transparent 45%),linear-gradient(180deg,#0000001a,#0000006b)}.guide-entry-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center}.guide-entry-copy{color:#fff;max-width:620px}.guide-kicker{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:700;margin-bottom:1rem}.guide-entry-copy h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.95;margin-bottom:1.25rem;color:#fff4df;max-width:9ch}.guide-entry-text{font-size:1.12rem;max-width:52ch;color:#ffffffdb;margin-bottom:1.75rem}.guide-entry-points{display:flex;flex-wrap:wrap;gap:.75rem}.guide-entry-points span{padding:.8rem 1rem;border:1px solid rgba(255,255,255,.22);background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:.92rem}.guide-lock-card{background:#fff8f0f0;border:1px solid rgba(212,175,55,.26);box-shadow:0 30px 80px #22121238;padding:2.2rem;color:var(--color-text)}.guide-lock-card h2{color:var(--color-primary);font-size:2rem;margin-bottom:.75rem}.guide-lock-text,.guide-lock-note{color:#65584f}.guide-access-form{margin:1.5rem 0 1rem;display:grid;gap:.8rem}.guide-input-label{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary)}.guide-access-form input{min-height:54px;border:1px solid rgba(158,42,43,.18);background:#ffffffe6;padding:0 1rem;font-family:var(--font-body);font-size:1rem}.guide-access-form input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 4px #d4af371f}.guide-access-btn{width:100%}.guide-access-message{min-height:1.4rem;color:#b42318;font-size:.94rem}.guide-access-message.is-success{color:#156f4d}.guide-lock-card-unlocked{opacity:.72}.guide-private-content{display:block}.guide-private-content[hidden],.guide-entry-hero[hidden]{display:none!important}.guide-locked .guide-entry-hero{min-height:100vh}.guide-locked .guide-page{overflow:hidden}.guide-locked .guide-private-content{display:none!important}.guide-unlocked .guide-lock-card{transition:opacity .3s ease}.guide-overview{padding-top:1rem}.guide-overview-panel{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:2rem 2.25rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#9e2a2bfa,#5b1415f0);color:#fff;box-shadow:0 16px 40px #3f14122e}.guide-overview-panel h2{color:#fff1cb;margin-bottom:0;font-size:2.2rem}.guide-overview-panel p:last-child{max-width:55ch;color:#ffffffd6}.guide-region-switch{display:flex;gap:.8rem;flex-wrap:wrap}.guide-region-tab{min-height:48px;padding:0 1.2rem;border:1px solid rgba(158,42,43,.15);background:#ffffffeb;color:var(--color-primary);font-family:var(--font-heading);font-size:1rem;cursor:pointer;transition:transform .25s ease,background-color .25s ease,color .25s ease}.guide-region-tab:hover,.guide-region-tab.active{background:var(--color-primary);color:#fff;transform:translateY(-2px)}.guide-region-panel{display:none;padding:0 0 3rem}.guide-region-panel.active{display:block}.guide-destination-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:1.5rem;align-items:stretch;margin-bottom:1.5rem}.guide-destination-copy,.guide-destination-photo{min-height:420px}.guide-destination-copy{background:#f9f3eb;padding:2.5rem;display:flex;flex-direction:column;justify-content:center;box-shadow:0 18px 42px #522f2414}.guide-destination-copy h2{color:var(--color-primary);font-size:clamp(2rem,4vw,3.3rem);line-height:1.04;max-width:13ch}.guide-destination-copy p{color:#5d5149;font-size:1.02rem;max-width:55ch}.guide-destination-photo{position:relative;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 18px 42px #522f241f}.guide-destination-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#140f0d0a,#140f0d47)}.guide-photo-pompei{background-image:url(/assets/Camera%20Pompei.webp)}.guide-photo-napoli{background-image:url(/assets/hero.webp)}.guide-photo-salerno{background-image:url(/assets/exterior.webp)}.guide-photo-costiera{background-image:url(/assets/Camera%20Amalfi.webp)}.guide-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:1.5rem}.guide-stat-row div{padding:1rem;background:#ffffffb3;border-left:3px solid var(--color-secondary)}.guide-stat-row strong,.guide-stat-row span{display:block}.guide-stat-row strong{color:var(--color-primary);font-family:var(--font-heading);font-size:1.1rem}.guide-stat-row span{color:#776960;font-size:.88rem}.guide-feature-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.guide-feature-card,.guide-place-card,.guide-map-card,.guide-info-card,.guide-practical-card{background:#fffffff0;border:1px solid rgba(121,92,79,.12);box-shadow:0 14px 30px #4a2b2212}.guide-feature-card{padding:1.5rem}.guide-feature-label,.guide-place-type{display:inline-block;margin-bottom:.8rem;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700}.guide-layout-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:1.5rem}.guide-place-list,.guide-side-stack,.guide-practical-grid{display:grid;gap:1rem}.guide-place-card,.guide-info-card,.guide-map-card,.guide-practical-card{padding:1.5rem}.guide-place-meta{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}.guide-place-meta span{padding:.45rem .65rem;background:#f8f2e7;color:#756254;font-size:.82rem}.guide-map-card iframe{width:100%;height:320px;border:0;margin-top:1rem}.guide-mini-list{list-style:none;display:grid;gap:.8rem}.guide-mini-list li{padding-bottom:.8rem;border-bottom:1px solid rgba(121,92,79,.12);color:#5f534d}.guide-mini-list li:last-child{border-bottom:0;padding-bottom:0}.guide-practical{padding-top:0}.guide-practical-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1024px){.guide-entry-grid,.guide-destination-hero,.guide-layout-grid,.guide-practical-grid,.guide-feature-band{grid-template-columns:1fr}.guide-overview-panel{flex-direction:column;align-items:start}}@media(max-width:768px){.guide-header-row,.guide-header-actions{flex-direction:column;align-items:flex-start}.guide-entry-hero{min-height:auto;padding-top:8rem}.guide-entry-copy h1{max-width:none;font-size:2.8rem}.guide-destination-copy,.guide-destination-photo{min-height:300px}.guide-destination-copy{padding:1.5rem}.guide-destination-copy h2{max-width:none;font-size:2rem}.guide-stat-row{grid-template-columns:1fr}.guide-region-switch{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.4rem}.guide-region-tab{white-space:nowrap}}.legal-footer-links{margin-top:1rem;display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap;font-size:.88rem}.legal-footer-title{color:#9d9d9d;font-weight:700}.legal-footer-links a{color:var(--color-secondary);font-weight:700}.legal-footer-links a:hover{color:#f5d679}.cookie-banner{position:fixed;left:50%;transform:translate(-50%);width:min(1080px,calc(100vw - 2rem));bottom:1rem;z-index:3500;background:linear-gradient(135deg,#fffaf2fa,#fbf4eafa);border:1px solid rgba(158,42,43,.22);box-shadow:0 18px 46px #4a231933;border-radius:14px;overflow:hidden}.cookie-banner-content{padding:1.2rem 1.25rem;color:#4f3f34}.cookie-banner-content h3{margin-bottom:.45rem;color:var(--color-primary)}.cookie-banner-content p{color:#5f5249;font-size:.94rem;margin-bottom:.95rem}.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:.65rem}.cookie-banner-actions .btn{padding:.72rem 1.05rem;font-size:.84rem;border-radius:8px;letter-spacing:.03em}.cookie-banner-actions .btn:not(.btn-gold){background:#fff;color:var(--color-primary);border-color:#9e2a2b59}.cookie-banner-actions .btn:not(.btn-gold):hover{background:#9e2a2b14;color:#7a2021}.cookie-banner-actions .btn-gold{box-shadow:0 6px 16px #d4af3740}.manage-cookies-btn{position:fixed;right:1rem;bottom:1rem;z-index:3300;border:1px solid rgba(158,42,43,.26);background:#fff9eff5;color:var(--color-primary);min-height:40px;padding:0 .95rem;font-family:var(--font-body);font-size:.82rem;font-weight:700;border-radius:999px;box-shadow:0 10px 24px #47201729;cursor:pointer}.manage-cookies-btn:hover{background:#fff;border-color:#9e2a2b73}.legal-modal-root{display:none}.legal-modal-root.is-open{display:block;position:fixed;inset:0;z-index:4000}.legal-modal-overlay{position:absolute;inset:0;background:#0000008c}.legal-modal,.cookie-modal{position:relative;z-index:1;width:min(860px,calc(100vw - 2rem));max-height:calc(100vh - 4rem);overflow:auto;margin:2rem auto;background:#fff;border:1px solid #eee;box-shadow:0 30px 80px #00000059}.legal-modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid #ebebeb}.legal-modal-header h2{margin:0;color:var(--color-primary)}.legal-close-btn{background:transparent;border:1px solid #d8d8d8;color:#333;min-height:36px;padding:0 .9rem;cursor:pointer}.legal-close-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.legal-modal-content{padding:1rem 1.2rem 1.4rem;color:#404040}.legal-modal-content h3{margin-top:1rem;color:var(--color-primary)}.cookie-modal-content{padding:1rem 1.2rem 1.4rem;display:grid;gap:.8rem}.cookie-option-row{border:1px solid #ece7de;padding:.9rem;display:flex;justify-content:space-between;gap:1rem;align-items:start}.cookie-option-row p{margin:.35rem 0 0;color:#666;font-size:.9rem}.cookie-option-row input[type=checkbox]{width:18px;height:18px;margin-top:.2rem}.cookie-option-row.is-required{background:#faf7f2}.cookie-fixed-pill{border:1px solid #4c9b70;color:#1f6d44;background:#edf8f2;font-size:.75rem;font-weight:700;padding:.22rem .45rem}.cookie-modal-actions{padding:0 1.2rem 1.2rem}.privacy-consent-row{display:flex;align-items:start;gap:.65rem;margin-top:.4rem;text-align:left;color:#e8e8e8;font-size:.9rem}.privacy-consent-row input[type=checkbox]{margin-top:.2rem}.privacy-consent-row a{color:var(--color-secondary);text-decoration:underline}@media(max-width:768px){.legal-footer-links{justify-content:center}.cookie-banner{width:calc(100vw - 1rem);bottom:.5rem}.manage-cookies-btn{right:.5rem;bottom:.5rem}}.admin-main{padding-top:50px;min-height:80vh;background:linear-gradient(180deg,#fdfbf7,#f7efe5)}.admin-login-title{color:var(--color-primary);margin-bottom:2rem}.admin-login-card{background:#fff;padding:3rem;border-radius:8px;box-shadow:0 16px 42px #4c271d14;max-width:500px;margin:0 auto;text-align:left;border:1px solid rgba(158,42,43,.08)}.admin-field{margin-bottom:1.5rem}.admin-field label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--color-secondary)}.admin-field input{width:100%;padding:.9rem;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;font-family:var(--font-body)}.admin-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #9e2a2b1a}.admin-login-btn{width:100%;padding:1rem;font-size:1rem;border:none;cursor:pointer}.admin-error-message{margin-top:1rem;color:#b42318;font-weight:700;display:none;text-align:center}.admin-dashboard{display:none;text-align:left;max-width:1280px;margin:0 auto}.admin-topbar,.admin-panel-heading,.admin-section-title-row,.admin-room-row-head,.admin-booking-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.admin-topbar{margin-bottom:1.25rem;flex-wrap:wrap}.admin-topbar h2,.admin-panel-heading h3,.admin-section-title-row h4{color:var(--color-primary);margin:0}.admin-eyebrow{margin:0 0 .25rem;color:#9b7864;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700}.admin-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}.admin-action-btn,.admin-icon-btn,.admin-tab,.admin-segmented button{min-height:42px;border-radius:6px;border:1px solid rgba(158,42,43,.18);cursor:pointer;font-family:var(--font-body);font-weight:700;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.admin-action-btn{padding:0 1rem}.admin-action-btn:hover,.admin-icon-btn:hover,.admin-tab:hover,.admin-segmented button:hover{transform:translateY(-1px)}.admin-action-btn-whatsapp{display:none;align-items:center;background:#1f9d58;color:#fff;border-color:#1f9d58}.admin-action-btn-gold{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.admin-action-btn-muted{background:#eee8df;color:#42352e}.admin-tabs{display:flex;gap:.5rem;padding:.4rem;margin-bottom:1.25rem;background:#ffffffad;border:1px solid rgba(158,42,43,.1);border-radius:8px;width:fit-content}.admin-tab{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#72594c;padding:0 1rem;line-height:1.15;text-align:center}.admin-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.admin-loading{text-align:center;padding:3rem;color:var(--color-primary)}.admin-loading p{font-size:1.2rem}.admin-load-error{color:#b42318;font-weight:700}.admin-content,.admin-panel{display:none}.admin-panel.active{display:block}.admin-panel-heading{padding-bottom:1rem;border-bottom:1px solid rgba(158,42,43,.12);margin-bottom:1rem;align-items:flex-end}.admin-period-label{margin:0;color:#746256;font-weight:700;text-transform:capitalize}.admin-filterbar{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1fr) minmax(430px,1.25fr);gap:1rem;align-items:start;margin-bottom:1.25rem}.admin-filter-group{display:grid;gap:.75rem;align-content:start;background:#fff;border:1px solid rgba(158,42,43,.1);border-radius:8px;padding:.95rem;box-shadow:0 8px 22px #4c271d0b}.admin-filter-group-period{gap:.9rem}.admin-filter-title{margin:0;color:#6f5d53;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.admin-period-row{display:grid;grid-template-columns:1fr;gap:.75rem;align-items:stretch}.admin-analysis-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem;align-items:end}.admin-filter-group-costs .admin-analysis-row{display:flex;flex-direction:column;gap:.65rem;align-items:stretch}.admin-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:.3rem;background:#f5efe7;border-radius:8px}.admin-segmented button{background:transparent;color:#6d5548;min-width:0;min-height:44px;padding:0 .95rem;border-color:transparent}.admin-segmented button.active{background:var(--color-primary);color:#fff;box-shadow:0 8px 18px #9e2a2b2e}.admin-period-controls,.admin-month-switcher{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;justify-content:initial;align-items:center;gap:0}.admin-period-controls{min-height:54px;padding:.25rem;background:#fffaf4;border:1px solid rgba(158,42,43,.14);border-radius:8px}.admin-icon-btn{min-width:46px;min-height:46px;padding:0 .9rem;background:transparent;color:var(--color-primary);font-size:1.1rem}.admin-period-controls .admin-icon-btn{border-color:transparent;background:transparent}.admin-period-controls .admin-icon-btn:hover{background:#9e2a2b14}.admin-period-display,.admin-month-switcher h4{flex:1 1 auto;min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-primary);font-weight:700;text-transform:capitalize;background:#fffaf4;border:1px solid rgba(158,42,43,.1);border-radius:6px}.admin-period-controls .admin-period-display{background:transparent;border-color:transparent;font-size:1.05rem}.admin-month-switcher{background:#fff;padding:1rem;border-radius:8px;border:1px solid rgba(158,42,43,.12);margin-bottom:1.5rem}.admin-month-switcher h4{margin:0;font-size:1.15rem}.admin-select-label{display:grid;gap:.25rem;color:#746256;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.admin-select-label select{min-height:46px;border:1px solid rgba(158,42,43,.18);border-radius:6px;background:#fff;padding:0 .8rem;color:#493a33;font:inherit;text-transform:none;letter-spacing:0}.admin-check-label{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;border:1px solid rgba(158,42,43,.18);border-radius:6px;background:#fffdfb;color:#493a33;font-weight:700;cursor:pointer;transition:all .2s ease;min-height:48px}.admin-filter-group-costs .admin-check-label{height:auto;min-height:48px;padding:.7rem .9rem;align-content:center}.admin-check-label:hover{border-color:#9e2a2b57;box-shadow:0 4px 12px #4c271d0a;transform:translateY(-1px)}.admin-check-label:has(input:checked){border-color:var(--color-primary);background:#9e2a2b09}.admin-check-label input{position:relative;width:20px;height:20px;appearance:none;border:2px solid #9b8b78;border-radius:4px;background:#fff;flex:0 0 auto;margin:0;cursor:pointer;transition:all .2s ease}.admin-check-label input:checked{background:var(--color-primary);border-color:var(--color-primary)}.admin-check-label input:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.admin-check-copy{display:flex;justify-content:space-between;align-items:center;flex:1;min-width:0;gap:.75rem}.admin-check-title{color:#2f241f;font-size:.92rem;font-weight:700;line-height:1.2}.admin-check-subtitle{color:#8a7468;font-size:.78rem;font-weight:600}@media(max-width:480px){.admin-check-copy{flex-direction:column;align-items:flex-start;gap:.15rem}}.admin-metric-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;align-items:stretch;margin-bottom:1.25rem}.admin-metric-card,.admin-breakdown-card,.admin-comparison-card{background:#fff;border:1px solid rgba(158,42,43,.1);border-radius:8px;box-shadow:0 12px 30px #4c271d0f}.admin-metric-card{grid-column:span 3;display:flex;min-height:156px;padding:1.15rem;flex-direction:column;justify-content:space-between}.admin-metric-card>span,.admin-booking-amount span{display:block;color:#8a7468;font-size:.8rem;line-height:1.25;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.admin-metric-card strong{display:block;color:#2f241f;font-size:1.7rem;line-height:1.1;margin:.55rem 0 .35rem;overflow-wrap:anywhere}.admin-metric-card small{color:#77695f;display:block;line-height:1.4;max-width:22ch}.admin-metric-breakdown{display:grid;gap:.22rem;max-width:none}.admin-metric-breakdown span{display:flex;justify-content:space-between;gap:.7rem}.admin-metric-breakdown b,.admin-metric-breakdown em{font-style:normal;font-weight:700}.admin-metric-breakdown-total{margin-top:.1rem;padding-top:.3rem;border-top:1px solid rgba(158,42,43,.14);color:var(--color-primary)}.admin-metric-card-primary{background:linear-gradient(135deg,#8e2426,var(--color-primary));color:#fff}.admin-metric-card-cost{border-top:3px solid #cdb393}.admin-metric-card-activity{border-top:3px solid rgba(158,42,43,.2)}.admin-metric-card-primary span,.admin-metric-card-primary strong,.admin-metric-card-primary small{color:#fff}.admin-metric-card-tax{border-color:#1f6f4d2e;border-top:3px solid #1f6f4d}.admin-metric-action{width:100%;min-height:38px;margin-top:.85rem;border:1px solid #1f6f4d;border-radius:6px;background:#1f6f4d;color:#fff;cursor:pointer;font-family:var(--font-body);font-weight:700}.admin-metric-action:hover{background:#155a3d}.admin-comparison-card{padding:1rem 1.2rem;margin-bottom:1rem;border-left:5px solid #9b8b78}.admin-comparison-card.positive{border-left-color:#1f9d58;background:linear-gradient(90deg,#1f9d5814,#fff 34%)}.admin-comparison-card.negative{border-left-color:#b42318;background:linear-gradient(90deg,#b4231814,#fff 34%)}.admin-comparison-card div{display:flex;justify-content:space-between;gap:1rem;align-items:center}.admin-comparison-card span{color:#806b5f;font-weight:700}.admin-comparison-card strong{color:var(--color-primary);font-size:1.25rem;text-align:right}.admin-comparison-card.positive>div>strong{color:#137a42}.admin-comparison-card.negative>div>strong{color:#b42318}.admin-comparison-card p{margin:.45rem 0 0;color:#6a5a51}.admin-comparison-card.muted strong{color:#746256}.admin-year-comparison-card{border-left-color:var(--color-primary)}.admin-comparison-card .admin-year-list{display:grid;gap:.45rem}.admin-comparison-card .admin-year-row{display:grid;grid-template-columns:72px minmax(120px,.9fr) minmax(180px,1.4fr) minmax(130px,.9fr);gap:.8rem;align-items:center;justify-content:stretch;padding:.75rem 0;border-top:1px solid #f0e7dc}.admin-year-row strong{color:#3a2c25}.admin-year-row span{color:var(--color-primary);font-weight:800}.admin-year-row small{color:#6f5d53}.admin-year-row em{color:#746256;display:inline-flex;justify-self:end;padding:.28rem .55rem;border-radius:999px;font-style:normal;font-weight:800;text-align:right}.admin-year-row.current{background:#fff8ef;margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem;border-radius:6px}.admin-year-row.positive em{color:#137a42;background:#e8f6ee}.admin-year-row.negative em{color:#b42318;background:#fff0ee}.admin-breakdown-card{padding:1.2rem;margin-bottom:1rem}.admin-section-title-row{margin-bottom:1rem}.admin-section-title-row span{color:var(--color-secondary);font-weight:700}.admin-room-row,.admin-booking-row,.admin-month-row{padding:.9rem 0;border-top:1px solid #f0e7dc}.admin-room-row-head strong,.admin-booking-row strong{color:#3a2c25}.admin-room-row-head span,.admin-booking-amount strong{color:var(--color-primary);font-weight:700}.admin-room-bar,.admin-month-bar{height:9px;background:#f1e8dc;border-radius:999px;overflow:hidden;margin:.55rem 0 .25rem}.admin-room-bar span,.admin-month-bar span{display:block;height:100%;background:var(--color-secondary);border-radius:inherit}.admin-room-row small,.admin-booking-row small{color:#7d6c62}.admin-booking-list{display:grid}.admin-booking-row{align-items:flex-start}.admin-booking-row span{display:block;color:#6f5d53}.admin-booking-amount{text-align:right;min-width:160px}.admin-booking-amount span{margin-top:.25rem;text-transform:none;letter-spacing:0;font-size:.82rem}.admin-month-list{display:grid;gap:.2rem}.admin-month-row{display:grid;grid-template-columns:120px minmax(120px,1fr) 88px;gap:1rem;align-items:center}.admin-month-row span{text-transform:capitalize;color:#5b4a42;font-weight:700}.admin-month-row strong{color:var(--color-primary);text-align:right}.admin-revenue-note{color:#6c5b51;font-size:.92rem;margin:.5rem 0 0}.admin-cleaning-list{display:flex;flex-direction:column;gap:1rem}.admin-cleaning-card{background:#fff;padding:1.35rem;border-radius:8px;border:1px solid #eee;border-left:6px solid #d9c8af;box-shadow:0 8px 22px #4c271d0d}.admin-cleaning-card.is-today{border-left-color:var(--color-primary);background:linear-gradient(to right,#fff8e9,#fff)}.admin-cleaning-card h4{margin-bottom:1rem;color:var(--color-primary);text-transform:capitalize;border-bottom:1px solid #f0ebe4;padding-bottom:.5rem;font-size:1.15rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-today-badge{background:#b42318;color:#fff;padding:.18rem .55rem;border-radius:999px;font-size:.75rem;letter-spacing:.06em}.admin-cleaning-rooms{display:flex;flex-direction:column;gap:.8rem}.admin-cleaning-room{padding:1rem;border-radius:8px;background:#f9f7f2;border-left:4px solid #777}.admin-cleaning-room.room-amalfi{background:#f0f7ff;border-left-color:#06c}.admin-cleaning-room.room-positano{background:#fff5e6;border-left-color:#c60}.admin-cleaning-room.room-pompei{background:#e8f5e9;border-left-color:#2e7d32}.admin-cleaning-room-title{font-size:1.05rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-cleaning-room-title strong{color:#3a2c25}.admin-cleaning-room-title span{background:#0000000f;padding:.2rem .5rem;border-radius:4px;font-size:.9rem;color:#555}.admin-cleaning-meta{margin-top:.8rem;font-size:.95rem;color:#555;background:#ffffffa8;padding:.65rem;border-radius:6px}.admin-cleaning-meta span{display:block}.admin-empty-state{background:#fff;padding:2rem;border-radius:8px;text-align:center;border:1px dashed #cdbca7;color:#6b5a50;font-size:1rem}@media(max-width:1180px){.admin-filterbar{grid-template-columns:1fr 1fr}.admin-filter-group-period{grid-column:1 / -1}.admin-period-row{grid-template-columns:auto minmax(260px,1fr)}.admin-metric-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.admin-metric-card{grid-column:span 6}.admin-analysis-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.admin-filterbar{grid-template-columns:1fr}.admin-filter-group-period{grid-column:auto}.admin-period-row{grid-template-columns:1fr}}@media(max-width:700px){.admin-login-card{padding:1.5rem}.admin-dashboard{padding-left:1rem;padding-right:1rem}.admin-tabs,.admin-actions,.admin-filterbar,.admin-metric-grid,.admin-topbar,.admin-panel-heading,.admin-comparison-card div,.admin-booking-row,.admin-section-title-row{width:100%}.admin-metric-grid{grid-template-columns:1fr}.admin-metric-card{grid-column:auto;min-height:132px}.admin-period-row,.admin-analysis-row{grid-template-columns:1fr}.admin-segmented{width:100%}.admin-segmented button{flex:1 1 0;min-width:0}.admin-tabs,.admin-actions,.admin-topbar,.admin-panel-heading,.admin-comparison-card div,.admin-booking-row,.admin-section-title-row{align-items:stretch}.admin-tabs,.admin-actions,.admin-topbar,.admin-panel-heading,.admin-comparison-card div,.admin-booking-row,.admin-section-title-row{flex-direction:column}.admin-tab,.admin-action-btn{width:100%}.admin-period-display,.admin-month-switcher h4{min-width:0;flex:1}.admin-booking-amount{text-align:left;min-width:0}.admin-comparison-card .admin-year-row{grid-template-columns:1fr;gap:.25rem}.admin-year-row em{text-align:left}.admin-month-row{grid-template-columns:88px minmax(80px,1fr) 70px;gap:.6rem}.admin-metric-card strong{font-size:1.35rem}.admin-tabs{flex-direction:row;gap:.35rem;padding:.35rem}.admin-tab{width:auto;flex:1 1 0;min-height:52px;padding:0 .75rem}}
