.ph-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0}html{scroll-behavior:smooth}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-secondary)}section[id]{scroll-margin-top:100px}footer[id]{scroll-margin-top:100px}.container{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-4)}.main-layout{display:grid;grid-template-columns:1fr 380px;gap:var(--space-16);max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-4);padding-top:var(--space-32)}.sidebar-column{position:sticky;top:var(--space-20);height:fit-content;z-index:var(--z-20)}.header{position:fixed;top:0;left:0;right:0;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-gray-200);z-index:var(--z-50);transition:var(--transition-normal)}.nav{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0}.logo h1{font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.nav-links{display:flex;gap:var(--space-8)}.nav-links a{font-weight:var(--font-weight-medium);color:var(--text-secondary);transition:var(--transition-fast);position:relative}.nav-links a:hover{color:var(--color-primary)}.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background-color:var(--color-primary);transition:var(--transition-fast)}.nav-links a:hover::after{width:100%}.lang-switcher{display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-4)}.lang-switcher .btn-base{padding:6px 10px;font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--color-gray-100);border:1px solid var(--color-gray-200);border-radius:var(--radius-full)}.lang-switcher .btn-base:hover{background:var(--color-gray-200);color:var(--text-primary)}.lang-switcher .btn-base.active{background:var(--color-primary);color:var(--text-white);border-color:var(--color-primary)}.nav-actions{display:flex;align-items:center;gap:var(--space-3)}.mobile-menu-toggle{display:none;width:44px;height:44px;background:var(--color-gray-100);color:var(--text-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);transition:var(--transition-fast);position:relative;z-index:100}.mobile-menu-toggle:hover{background:var(--color-gray-200);color:var(--text-primary)}.mobile-menu{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.5);z-index:99999;display:none;opacity:0;transition:opacity .3s ease;backdrop-filter:blur(4px);overflow:hidden}.mobile-menu.active{display:block;opacity:1}body.mobile-menu-open{overflow:hidden}body.mobile-menu-open .header{z-index:1}.mobile-menu-content{position:absolute;top:0;right:0;width:320px;max-width:90vw;height:100vh;background:var(--text-white);padding:var(--space-6);transform:translateX(100%);transition:transform .3s cubic-bezier(.4, 0, .2, 1);overflow-y:auto;box-shadow:-4px 0 20px rgba(0,0,0,.15);display:flex;flex-direction:column}.mobile-menu.active .mobile-menu-content{transform:translateX(0)}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-gray-200);background:var(--text-white);flex-shrink:0}.mobile-menu-header h2{font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin:0}.mobile-menu-close{width:44px;height:44px;background:var(--color-gray-100);color:var(--text-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.mobile-menu-close:hover{background:var(--color-gray-200);color:var(--text-primary)}.mobile-menu-links{margin-bottom:var(--space-6);flex-grow:1;display:flex;flex-direction:column}.mobile-menu-links a{display:block;padding:var(--space-4) var(--space-3);color:var(--text-primary);text-decoration:none;font-weight:var(--font-weight-medium);border-bottom:1px solid var(--color-gray-100);transition:all .2s ease;border-radius:var(--radius-md);margin-bottom:var(--space-1)}.mobile-menu-links a:hover{color:var(--color-primary);background:var(--color-gray-50);transform:translateX(4px);border-color:var(--color-primary)}.mobile-menu-links a:last-child{border-bottom:none}.mobile-menu-links .mobile-lang-switcher{margin-top:16px;padding-top:16px;border-top:1px solid #ddd}.mobile-lang-switcher{display:flex;flex-direction:column;gap:var(--space-2)}.mobile-lang-switcher button{display:block;width:100%;padding:12px 16px;margin:4px 0;border:1px solid #ddd;border-radius:8px;background:#f8f9fa;color:#333;font-size:14px;font-family:inherit;text-align:left;cursor:pointer;transition:all .2s ease;position:relative;touch-action:manipulation}.mobile-lang-switcher button:focus,.mobile-lang-switcher button:hover{background:#e9ecef;border-color:#09786c;transform:translateX(4px)}.mobile-lang-switcher button.active{background:#09786c;color:#fff;border-color:#09786c;font-weight:600}.mobile-lang-switcher button.active::after{content:'✓';position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#fff}.hero-content{display:flex;flex-direction:column}.hero-address{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-size:var(--font-size-base);margin-bottom:var(--space-4)}.hero-address a{color:var(--color-primary);text-decoration:underline;font-weight:var(--font-weight-medium)}.hero-address i{color:var(--color-primary)}.hero-tag{display:inline-block;padding:var(--space-2) var(--space-4);background-color:var(--color-primary);color:var(--text-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:.5px;border-radius:var(--radius-md);margin-bottom:var(--space-4)}.hero-title{font-family:var(--font-family-display);font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:var(--line-height-tight);margin-bottom:var(--space-1)}.hero-subtitle{display:none}.cta-button{background-color:var(--color-primary);color:var(--text-white);padding:var(--space-4) var(--space-8);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.5px;border-radius:var(--radius-full);transition:var(--transition-normal);text-transform:uppercase}.cta-button:hover{background-color:var(--color-secondary);transform:translateY(-2px)}.outline-button{background-color:transparent;color:var(--color-primary);padding:var(--space-4) var(--space-8);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.5px;border:2px solid var(--color-primary);border-radius:var(--radius-full);transition:var(--transition-normal);text-transform:uppercase}.outline-button:hover{background-color:var(--color-primary);color:var(--text-white);transform:translateY(-2px)}.contact-card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);border:1px solid var(--color-gray-200);transition:var(--transition-slow);overflow:hidden}.contact-card:hover{transform:translateY(-4px)}.contact-card.transformed{transform:scale(.8) translateY(-20px);border-radius:var(--radius-xl);padding:var(--space-4);max-width:300px;margin:0 auto}.contact-avatar{width:80px;height:80px;border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-4)}.contact-avatar img{width:100%;height:100%;object-fit:cover;background-color:var(--color-gray-200)}.contact-info h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.contact-info>p{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-6)}.contact-details{margin-bottom:var(--space-6)}.contact-item{display:flex;justify-content:space-between;margin-bottom:var(--space-3);font-size:var(--font-size-sm)}.contact-item .label{color:var(--text-secondary);font-weight:var(--font-weight-medium)}.contact-item .value{color:var(--text-primary);font-weight:var(--font-weight-medium)}.whatsapp-button{width:100%;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);color:var(--text-white);padding:var(--space-4) var(--space-6);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-2xl);transition:var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:var(--space-3);position:relative;overflow:hidden}.whatsapp-icon{width:20px;height:20px;flex-shrink:0}.button-text{font-weight:var(--font-weight-medium);letter-spacing:.3px}.video-container{position:relative;width:100%;max-width:1200px;margin:0 auto;border-radius:var(--radius-xl);overflow:hidden;cursor:pointer}.video-container::before{content:'';display:block;padding-top:56.25%}#main-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;background-color:var(--color-gray-900)}.video-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;opacity:1;transition:var(--transition-normal)}.video-overlay.hidden{opacity:0;pointer-events:none}.play-button{width:80px;height:80px;background:rgba(255,255,255,.9);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-normal)}.play-button:hover{background:var(--text-white);transform:scale(1.1)}.play-button i{font-size:var(--font-size-2xl);color:var(--color-primary);margin-left:4px}.bento-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,200px);gap:var(--space-4);max-width:1200px;margin:0 auto}.bento-item{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:var(--transition-normal);background-color:var(--color-gray-200)}.bento-item:hover{transform:scale(1.02)}.bento-item.bento-large{grid-column:span 2;grid-row:span 2}.bento-item picture{display:block;width:100%;height:100%}.bento-image,.bento-item picture img{width:100%;height:100%;object-fit:cover;transition:var(--transition-normal)}.bento-item:hover .bento-image,.bento-item:hover picture img{transform:scale(1.05)}.bento-item.more-photos .more-photos-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;transition:background-color .3s ease}.bento-item.more-photos .more-photos-overlay span{color:var(--text-white);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-decoration:underline;text-underline-offset:4px}.bento-item.more-photos:hover .more-photos-overlay{background-color:rgba(0,0,0,.5)}.gallery-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-6);height:500px}.gallery-main{border-radius:var(--radius-xl);overflow:hidden}.gallery-main img,.gallery-main video{width:100%;height:100%;object-fit:cover;background-color:var(--color-gray-200);transition:var(--transition-slow)}.gallery-main img:hover,.gallery-main video:hover{transform:scale(1.05)}.gallery-main video{background-color:var(--color-gray-900)}.gallery-thumbnails{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.gallery-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg);background-color:var(--color-gray-200);transition:var(--transition-normal);cursor:pointer;border:2px solid transparent}.gallery-thumbnails img:hover{transform:scale(1.02)}.gallery-thumbnails img.active{border-color:var(--color-primary)}.description,.gallery{padding:var(--space-20) 0}.quick-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3);margin-top:var(--space-6)}.quick-info-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);background:var(--bg-primary);height:68px}.quick-info-item i{color:var(--color-primary);font-size:var(--font-size-2xl)}.quick-info-item span{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.description h2{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-4)}.gallery h2{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-4)}.description-content p{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);color:var(--text-secondary);margin-bottom:var(--space-6)}.description-content p:last-child{margin-bottom:0}.features{padding:var(--space-20) 0}.features h2{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-12);text-align:center}.features-grid{display:grid;grid-template-columns:1fr;gap:var(--space-10);max-width:800px;margin:0 auto}.feature-group{margin-bottom:var(--space-6)}.feature-group:last-child{margin-bottom:0}.feature-group h3{font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-6);padding-top:var(--space-4);text-align:center}.feature-list{display:flex;flex-direction:column;background:var(--bg-primary);padding:var(--space-8);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200)}.feature-item{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-2);border-bottom:1px solid var(--color-gray-200);transition:all .4s cubic-bezier(.25, .46, .45, .94);margin:0 calc(-1 * var(--space-2))}.feature-item:last-child{border-bottom:none}.feature-item:hover{background-color:var(--color-gray-50);transform:translateX(4px)}.feature-icon{font-size:var(--font-size-lg);color:var(--text-secondary);width:20px;height:20px;display:flex;align-items:center;justify-content:center}.feature-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-normal)}.feature-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);text-align:right}.why-choose{padding:var(--space-16) 0}.why-choose h2{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-10);text-align:center}.why-choose-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.why-choose-item{background:var(--bg-primary);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:var(--space-8);transition:var(--transition-normal)}.why-choose-item:hover{transform:translateY(-4px);border-color:var(--color-primary)}.why-choose-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);color:var(--text-white)}.why-choose-icon svg{width:24px;height:24px}.why-choose-item h3{font-family:var(--font-family-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.why-choose-item p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.reviews{padding:var(--space-16) 0}.reviews-header{text-align:center;margin-bottom:var(--space-10)}.reviews-header h2{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-3)}.reviews-rating{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-2)}.reviews-score{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.reviews-stars{display:flex;gap:2px;color:#f59e0b}.reviews-stars svg{width:20px;height:20px;fill:currentColor}.reviews-count{font-size:var(--font-size-sm);color:var(--text-secondary)}.reviews-source{font-size:var(--font-size-xs);color:var(--text-muted)}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-bottom:var(--space-8)}.review-card{background:var(--bg-primary);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:var(--space-6);transition:var(--transition-normal)}.review-card:hover{transform:translateY(-2px);border-color:var(--color-primary)}.review-card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.review-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:flex;align-items:center;justify-content:center;color:var(--text-white);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);flex-shrink:0}.review-meta{display:flex;flex-direction:column}.review-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-primary)}.review-date{font-size:var(--font-size-xs);color:var(--text-muted)}.review-stars-mini{display:flex;gap:1px;color:#f59e0b;margin-bottom:var(--space-3)}.review-stars-mini svg{width:14px;height:14px;fill:currentColor}.review-text{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-relaxed);font-style:italic}.reviews-cta{text-align:center}.reviews-cta a{color:var(--color-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);text-decoration:underline;text-underline-offset:3px;transition:var(--transition-fast)}.reviews-cta a:hover{color:var(--color-secondary)}.why-choose-item.animate-on-scroll{transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out;transition-delay:calc(var(--stagger, 0) * 0.1s)}.why-choose-item.animate-on-scroll.visible{transform:translateY(0)}.review-card.animate-on-scroll{transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out;transition-delay:calc(var(--stagger, 0) * 0.1s)}.review-card.animate-on-scroll.visible{transform:translateY(0)}.dintorni{padding:var(--space-16) 0;margin:var(--space-8) 0}.dintorni-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);align-items:anchor-center}.dintorni h2{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:left}.view-map-link{color:var(--primary-600);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:var(--transition-normal)}.view-map-link:hover{color:var(--primary-700);text-decoration:underline}.dintorni-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);background:var(--bg-primary);padding:0 var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200)}.dintorni-column{display:flex;flex-direction:column;gap:var(--space-6)}.dintorni-group{padding:var(--space-6) 0}.dintorni-header{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-gray-100)}.dintorni-header i{font-size:var(--font-size-lg);color:var(--primary-600);width:20px;height:20px;display:flex;align-items:center;justify-content:center}.dintorni-header h3{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.dintorni-list{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-4)}.dintorni-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-2);border-radius:var(--radius-sm);transition:background-color .3s ease}.dintorni-item:hover{background-color:var(--color-gray-50)}.dintorni-name{font-size:var(--font-size-sm);color:var(--text-primary);line-height:var(--line-height-relaxed);flex:1}.dintorni-distance{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);white-space:nowrap;margin-left:auto}.attractions{padding:var(--space-20) 0}.attractions h2{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-12);text-align:center}.attractions-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);max-width:800px;margin:0 auto}.attraction-group{background:var(--bg-primary);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200)}.attraction-group h3{font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-6);text-align:center}.attraction-list{display:flex;flex-direction:column}.attraction-item{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-gray-200);transition:var(--transition-fast)}.attraction-item:last-child{border-bottom:none}.attraction-item:hover{background-color:var(--bg-secondary);padding-left:var(--space-2);padding-right:var(--space-2);border-radius:var(--radius-sm)}.attraction-icon{font-size:var(--font-size-lg);color:var(--text-secondary);width:20px;height:20px;display:flex;align-items:center;justify-content:center}.attraction-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-normal)}.attraction-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);text-align:right}.video-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:var(--z-50);opacity:0;transition:opacity .3s ease}.video-modal.active{display:flex;opacity:1}.video-modal-content{position:relative;width:90%;max-width:1200px;max-height:90vh}.modal-close{position:absolute;top:-50px;right:0;background:0 0;border:none;color:var(--text-white);font-size:var(--font-size-2xl);cursor:pointer;z-index:var(--z-10);transition:var(--transition-normal)}.modal-close:hover{color:var(--color-secondary);transform:scale(1.1)}#modal-video{width:100%;height:auto;max-height:90vh;border-radius:var(--radius-lg)}.gallery-lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;z-index:var(--z-50);opacity:0;transition:opacity .3s ease}.gallery-lightbox.active{display:flex;opacity:1}.lightbox-content{position:relative;width:90%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-close{position:absolute;top:-50px;right:0;background:0 0;border:none;color:var(--text-white);font-size:var(--font-size-2xl);cursor:pointer;z-index:var(--z-10);transition:var(--transition-normal)}.lightbox-close:hover{color:var(--color-secondary);transform:scale(1.1)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:none;color:var(--text-white);font-size:var(--font-size-xl);cursor:pointer;padding:var(--space-4);border-radius:50%;transition:var(--transition-normal);z-index:var(--z-10)}.lightbox-nav:hover{background:rgba(255,255,255,.2);transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:-80px}.lightbox-next{right:-80px}.lightbox-image-container{width:100%;max-height:80vh;display:flex;align-items:center;justify-content:center}#lightbox-image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--radius-lg)}.lightbox-counter{margin-top:var(--space-6);color:var(--text-white);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.gallery-image{cursor:pointer;transition:var(--transition-normal)}.gallery-image:hover{transform:scale(1.02)}.location{padding:var(--space-20) 0}.location-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.location-info h2{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-6)}.location-info address{font-style:normal;font-size:var(--font-size-lg);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-8)}.location-info address p{margin-bottom:var(--space-2)}.location-highlights{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-8)}.location-highlight{display:flex;align-items:center;gap:var(--space-3);color:var(--text-secondary);font-size:var(--font-size-base)}.location-highlight i{color:var(--color-primary);font-size:var(--font-size-lg)}.map-button{text-transform:uppercase;letter-spacing:.5px}.map-button i{font-size:var(--font-size-base)}.location-map{height:400px;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}.custom-map{width:100%;height:100%;position:relative}.map-background{width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 30%,#0ea5e9 60%,#06b6d4 100%);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.map-background::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 80% 50%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 40% 20%,rgba(255,255,255,.05) 1px,transparent 1px),radial-gradient(circle at 60% 80%,rgba(255,255,255,.05) 1px,transparent 1px);background-size:50px 50px,70px 70px,100px 100px,80px 80px}.location-pin{position:relative;z-index:2}.pin-dot{width:20px;height:20px;background-color:var(--text-white);border-radius:50%;position:relative;z-index:3;box-shadow:none;animation:pinBounce 2s ease-in-out infinite}.pin-pulse{position:absolute;top:50%;left:50%;width:40px;height:40px;background-color:rgba(255,255,255,.4);border-radius:50%;transform:translate(-50%,-50%);animation:pinPulse 2s ease-in-out infinite}@keyframes pinBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pinPulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:1}100%{transform:translate(-50%,-50%) scale(2);opacity:0}}.map-label{position:absolute;bottom:var(--space-6);left:var(--space-6);background:rgba(255,255,255,.95);backdrop-filter:blur(10px);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:2}.property-name{display:block;font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.property-address{display:block;font-size:var(--font-size-sm);color:var(--text-secondary)}.footer{background-color:var(--color-primary);color:var(--text-white);padding:var(--space-12) 0 var(--space-6)}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-8);margin-bottom:var(--space-6)}.footer-brand h3{font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-2)}.footer-brand p{color:var(--text-white);font-size:var(--font-size-base);opacity:.85}.footer-contact{text-align:right}.footer-contact h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3)}.footer-contact p{color:var(--text-white);opacity:.9;margin-bottom:var(--space-1);font-size:var(--font-size-sm)}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:var(--space-4);text-align:center}.footer-bottom p{color:rgba(255,255,255,.85);font-size:var(--font-size-xs)}.whatsapp-button{margin-top:var(--space-3)}.whatsapp-button i{font-size:var(--font-size-lg)}.footer .whatsapp-button{width:auto;display:inline-flex;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);background:#fff;color:var(--color-primary);border-radius:var(--radius-full);gap:var(--space-2)}.btn-base{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:50px;font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer;transition:var(--transition-normal);font-family:inherit}.btn-primary{background-color:var(--color-primary);color:var(--text-white);padding:var(--space-3) var(--space-6);font-size:var(--font-size-sm)}.btn-primary:hover{background-color:var(--color-secondary);transform:translateY(-1px)}.btn-white{background:#fff;color:var(--color-primary);padding:var(--space-3) var(--space-6);font-size:var(--font-size-sm);border:2px solid #fff}.btn-white:hover{background-color:var(--color-gray-100);transform:translateY(-1px)}.btn-icon{width:40px;height:40px;padding:0;background-color:var(--color-gray-100);color:var(--text-secondary)}.btn-icon:hover{background-color:var(--color-primary);color:var(--text-white)}.btn-circular{border-radius:50%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.booking-widget{background:var(--color-calendar-bg);border:none;border-radius:var(--radius-2xl);padding:0;box-shadow:0 15px 40px -10px rgba(9,120,108,.15);transition:var(--transition-normal);position:relative;overflow:hidden}.booking-widget-header-image{position:relative;height:180px;width:100%;margin:0}.booking-widget-header-image picture{display:block;width:100%;height:100%}.booking-widget-header-image img{width:100%;height:100%;object-fit:cover}.booking-widget-overlay{position:absolute;bottom:0;left:0;width:100%;height:60%;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:var(--space-4);display:flex;justify-content:flex-end;align-items:flex-end}.booking-price-tag{color:var(--text-white);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);font-family:var(--font-family-display);text-shadow:0 2px 4px rgba(0,0,0,.3)}.booking-widget:hover{box-shadow:0 20px 50px -10px rgba(9,120,108,.25);transform:translateY(-2px)}.booking-header{text-align:center;margin-bottom:var(--space-6)}.booking-header h3{font-family:var(--font-family-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.booking-discount{background:var(--color-discount-bg);color:var(--color-discount-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);margin:0}.calendar-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.calendar-nav-btn{width:32px;height:32px}.calendar-nav-btn i{font-size:var(--font-size-sm)}.calendar-month-year{font-family:var(--font-family-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--space-4)}.calendar-day-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted);padding:var(--space-2);text-align:center;text-transform:uppercase}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:var(--transition-fast);position:relative}.calendar-day:hover{background:var(--color-calendar-hover)}.calendar-day.disabled{color:var(--color-gray-300);cursor:not-allowed}.calendar-day.disabled:hover{background:0 0}.calendar-day.selected{background:var(--color-calendar-selected);color:var(--text-white)}.calendar-day.in-range{background:var(--color-calendar-range);color:var(--color-primary)}.calendar-day.other-month{color:var(--color-gray-300)}.calendar-day.empty{pointer-events:none;background:0 0}.calendar-day.on-request{background:#ffb366 25%;background-size:6px 6px;color:var(--text-primary);position:relative;cursor:pointer;transition:all .2s ease}.calendar-day.turnover-checkin,.calendar-day.turnover-checkout{cursor:pointer}.calendar-day.turnover-checkin.selected,.calendar-day.turnover-checkout.selected{background:var(--color-calendar-selected);color:var(--text-white)}.calendar-day.checkout-available{background:var(--color-calendar-hover);cursor:pointer;font-weight:var(--font-weight-semibold)}.calendar-day.checkout-available:hover{background:var(--color-primary-light);color:var(--color-primary)}.calendar-day.unavailable{color:var(--color-gray-300);cursor:not-allowed;background:0 0}.calendar-day.unavailable:hover{background:0 0}.calendar-legend{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 var(--space-4);flex-wrap:wrap;justify-content:center}.calendar-legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--text-secondary)}.legend-dot{width:12px;height:12px;border-radius:var(--radius-sm);background:var(--color-secondary);border:1px solid var(--color-primary)}.legend-dot.unavailable{background:var(--color-gray-300);border:1px solid var(--color-gray-400)}.legend-dot.selected{background:var(--color-primary);border:1px solid var(--color-primary)}.legend-dot.range{background:var(--color-calendar-range)}.legend-dot.on-request{background:linear-gradient(45deg,#ffb366 25%,transparent 25%,transparent 50%,#ffb366 50%,#ffb366 75%,transparent 75%);background-size:3px 3px;position:relative}.legend-dot.on-request::after{content:'?';position:absolute;top:-1px;right:1px;font-size:6px;font-weight:700;color:#e67300}.legend-dot.turnover{background:linear-gradient(135deg,var(--color-gray-200) 50%,var(--color-calendar-hover) 50%)}.booking-dates-summary{border-top:1px solid var(--color-calendar-border);padding:var(--space-4) var(--space-5)}.on-request-message{display:flex;align-items:center;gap:var(--space-2);background-size:8px 8px;border:1px solid #ffb366;border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-3);font-size:var(--font-size-sm);color:#856404}.on-request-message i{color:#e67300;font-size:var(--font-size-lg)}.dates-selected{margin-bottom:var(--space-4)}.date-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.date-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.date-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.price-breakdown{margin-bottom:var(--space-6)}.price-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.price-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.price-original{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-muted);text-decoration:line-through}.price-discount .price-label{color:var(--color-discount-text);font-weight:var(--font-weight-medium)}.price-discounted{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-discount-text)}.price-total{border-top:1px solid var(--color-calendar-border);padding-top:var(--space-3);margin-top:var(--space-3)}.price-total .price-label{font-weight:var(--font-weight-medium);color:var(--text-primary)}.savings-amount{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-success)}.booking-whatsapp-btn{width:100%;padding:var(--space-4) var(--space-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--space-3);background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border:none;box-shadow:0 4px 15px rgba(9,120,108,.3)}.booking-whatsapp-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(9,120,108,.4)}.booking-whatsapp-btn .whatsapp-icon{width:20px;height:20px;flex-shrink:0}.discount-note{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:#f3faf7;border:1px solid #c7eed8;color:#0f5132;border-radius:var(--radius-md);margin:var(--space-4) var(--space-5) var(--space-5);font-size:var(--font-size-sm)}.discount-note i{color:#0f5132}.calendar-container{overflow:hidden;padding:var(--space-4) var(--space-5)}button.mobile-sticky-cta{display:none;position:fixed;left:50%;transform:translateX(-50%);bottom:var(--space-6);z-index:var(--z-50);overflow:visible;gap:var(--space-2);align-items:center;background-color:var(--color-primary);color:var(--text-white);padding:var(--space-4) var(--space-8);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.5px;text-transform:uppercase;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 20px rgba(9,120,108,.3);text-decoration:none}button.mobile-sticky-cta:hover{transform:translateX(-50%);box-shadow:0 6px 24px rgba(9,120,108,.35)}button.mobile-sticky-cta i{font-size:var(--font-size-2xl)}.bottomsheet{position:fixed;inset:0;display:none;z-index:var(--z-50)}.bottomsheet.active{display:block}.bottomsheet-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4)}.bottomsheet-panel{position:absolute;left:0;right:0;bottom:0;background:var(--bg-primary);border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl);max-height:92vh;overflow-y:auto;overflow-x:hidden;transform:translateY(100%);transition:transform var(--transition-normal);display:flex;flex-direction:column}.bottomsheet.active .bottomsheet-panel{transform:translateY(0)}.bottomsheet-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-gray-200);position:sticky;top:0;background:var(--bg-primary);z-index:10;flex-shrink:0;border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.bottomsheet-close{color:var(--text-secondary);padding:var(--space-2);border-radius:var(--radius-full);transition:background-color .2s ease}.bottomsheet-close:hover{background-color:var(--color-gray-100)}.mobile-calendar-section{display:none}.mobile-calendar-section .summary-dates{display:flex;flex-direction:column;gap:var(--space-2)}.mobile-calendar-section .summary-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.mobile-calendar-section .summary-value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:600}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.bento-item.animate-on-scroll{transform:translateY(30px) scale(.97);transition:opacity .6s ease-out,transform .6s ease-out;transition-delay:calc(var(--stagger, 0) * 0.06s)}.bento-item.animate-on-scroll.visible{transform:translateY(0) scale(1)}.feature-item.animate-on-scroll{transform:translateX(-15px);transition:opacity .4s ease-out,transform .4s ease-out;transition-delay:calc(var(--stagger, 0) * 0.03s)}.feature-item.animate-on-scroll.visible{transform:translateX(0)}.dintorni-item.animate-on-scroll{transform:translateY(15px);transition:opacity .3s ease-out,transform .3s ease-out;transition-delay:calc(var(--stagger, 0) * 0.02s)}.dintorni-item.animate-on-scroll.visible{transform:translateY(0)}.description-content p.animate-on-scroll{transition-delay:calc(var(--stagger, 0) * 0.1s)}@keyframes loader-exit{0%{transform:translateY(0);opacity:1}60%{opacity:0}100%{transform:translateY(-100%);opacity:0}}.loader-exit{animation:loader-exit .6s ease-in-out forwards}@media (prefers-reduced-motion:reduce){.animate-on-scroll{opacity:1;transform:none;transition:none}}