﻿:root {
    --cream:#FFFDF5;--gold:#D4A84B;--gold-light:#F0CC7A;--sky:#7BBFCB;
    --sky-light:#B8DDE5;--sage:#8FAF7B;--sage-light:#C4D9B8;--terracotta:#C47A5A;
    --text-dark:#2C1810;--text-mid:#5C3D2C;--text-light:#9A7B6A;--border:#E8D9C8;
}
html{scroll-behavior:smooth;}
body{font-family:'Lato',sans-serif;background-color:var(--cream);color:var(--text-dark);font-weight:400;font-size:1.15rem;margin:0;}
h1,h2,h3,h4,h5{font-family:'Playfair Display',serif;color:var(--text-dark);}
.section-title{font-size:2.9rem;font-weight:400;margin-bottom:.5rem;}
.section-subtitle{font-family:'Lato',sans-serif;color:var(--text-light);font-size:1rem;letter-spacing:.15em;text-transform:uppercase;font-weight:400;margin-bottom:.75rem;display:block;}
.section-divider{width:60px;height:3px;background:linear-gradient(90deg,var(--gold),var(--sky));margin:0 auto 2.5rem;border:none;}
.section-divider.left{margin-left:0;}
#mainNav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.1rem 0;transition:background .4s,padding .4s,box-shadow .4s;background:transparent;}
#mainNav.scrolled{background:rgba(255,253,245,.97);padding:.5rem 0;box-shadow:0 2px 20px rgba(44,24,16,.08);}
#mainNav .logo-light{display:block;}
#mainNav .logo-dark{display:none;}
#mainNav.scrolled .logo-light{display:none;}
#mainNav.scrolled .logo-dark{display:block;}
#mainNav .navbar-brand img{height:52px;transition:height .4s;}
#mainNav.scrolled .navbar-brand img{height:44px;}
#mainNav .nav-link{color:rgba(255,255,255,.92)!important;font-family:'Lato',sans-serif;font-weight:400;letter-spacing:.08em;font-size:.95rem;text-transform:uppercase;padding:.4rem .9rem!important;transition:color .3s;}
#mainNav.scrolled .nav-link{color:var(--text-mid)!important;}
#mainNav .nav-link:hover{color:var(--gold-light)!important;}
#mainNav.scrolled .nav-link:hover{color:var(--gold)!important;}
#mainNav .navbar-toggler{border-color:rgba(255,255,255,.5);}
#mainNav.scrolled .navbar-toggler{border-color:var(--border);}
#hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-slideshow{position:absolute;inset:0;z-index:0;}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 2s ease;}
.hero-slide.active{opacity:1;}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(20,10,5,.38) 0%,rgba(20,10,5,.18) 45%,rgba(20,10,5,.60) 100%);}
.hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:0 1rem;animation:fadeInUp 1.2s ease both;}
.hero-eyebrow{font-family:'Lato',sans-serif;font-size:.95rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-light);margin-bottom:1rem;}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,6vw,4.6rem);font-weight:600;color:#fff;line-height:1.15;text-shadow:0 2px 16px rgba(0,0,0,.4);margin-bottom:1rem;}
.hero-subtitle{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.2rem,2.5vw,1.65rem);color:rgba(255,255,255,.88);max-width:660px;margin:0 auto 2.5rem;line-height:1.65;}
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.4rem;text-decoration:none;}
.hero-scroll span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.65);font-family:'Lato',sans-serif;}
.scroll-dot{width:26px;height:42px;border:1.5px solid rgba(255,255,255,.55);border-radius:13px;position:relative;}
.scroll-dot::after{content:'';display:block;width:5px;height:8px;background:rgba(255,255,255,.75);border-radius:3px;position:absolute;top:6px;left:50%;transform:translateX(-50%);animation:scrollBounce 1.8s ease infinite;}
@keyframes scrollBounce{0%,100%{top:6px;opacity:1;}50%{top:18px;opacity:.35;}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
#tiles{background-color:var(--cream);padding:5rem 0 4rem;}
.tile-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:2.5rem 1.8rem;text-align:center;transition:transform .3s,box-shadow .3s;height:100%;}
.tile-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(44,24,16,.10);}
.tile-icon{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:1.55rem;}
.tile-icon.gold{background:#FFF3D0;color:var(--gold);}
.tile-icon.sky{background:#DFF0F5;color:var(--sky);}
.tile-icon.sage{background:#E5F0DE;color:var(--sage);}
.tile-icon.terra{background:#F5E5DC;color:var(--terracotta);}
.tile-card h5{font-size:1.55rem;margin-bottom:.75rem;font-weight:600;}
.tile-card p{font-size:1.15rem;color:var(--text-light);line-height:1.8;margin:0;}
#about{padding:5rem 0;background:linear-gradient(135deg,#F5F0E8 0%,var(--cream) 100%);}
.about-text p{color:var(--text-mid);line-height:1.95;font-size:1.2rem;margin-bottom:1.1rem;}
.about-img{border-radius:12px;overflow:hidden;box-shadow:0 20px 50px rgba(44,24,16,.14);}
.about-img img{width:100%;height:500px;object-fit:cover;display:block;}
#appartamenti{padding:5rem 0;background-color:var(--cream);}
.apt-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff;height:100%;transition:transform .3s,box-shadow .3s;}
.apt-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(44,24,16,.12);}
.apt-card .carousel-item img{height:240px;object-fit:cover;width:100%;}
.apt-card-body{padding:1.5rem;}
.apt-card-body h5{font-size:1.6rem;margin-bottom:.35rem;}
.apt-badge{font-size:.95rem;background:#FFF3D0;color:var(--text-mid);padding:.2rem .75rem;border-radius:20px;font-family:'Lato',sans-serif;display:inline-block;margin-bottom:.9rem;}
.apt-amenities{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem .8rem;}
.apt-amenities li{font-size:1.05rem;color:var(--text-light);}
.apt-amenities li i{color:var(--sage);margin-right:.3rem;}
#gallery{padding:5rem 0 0;background:#EDE8DF;}
.gallery-carousel-wrap{position:relative;background:#EDE8DF;}
.gallery-carousel-wrap .gallery-inner{position:relative;height:75vh;min-height:420px;overflow:hidden;background:#EDE8DF;}
.gallery-carousel-wrap .gallery-slide{position:absolute;inset:0;opacity:0;transition:opacity 3s ease;z-index:0;display:flex;align-items:center;justify-content:center;background:#EDE8DF;}
.gallery-carousel-wrap .gallery-slide.active{opacity:1;z-index:2;}
.gallery-carousel-wrap .gallery-slide.leaving{opacity:0;z-index:1;}
.gallery-carousel-wrap .gallery-slide img{width:100%;height:75vh;min-height:420px;object-fit:contain;display:block;}
.gallery-nav{position:absolute;top:0;bottom:0;width:52px;z-index:3;border:none;background:none;opacity:.28;transition:opacity .3s;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.gallery-nav:hover{opacity:.82;}
.gallery-nav-prev{left:0;}
.gallery-nav-next{right:0;}
.gallery-nav-icon{width:22px;height:22px;background-repeat:no-repeat;background-position:center;background-size:100%;}
.gallery-nav-prev .gallery-nav-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");}
.gallery-nav-next .gallery-nav-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");}
@media(max-width:768px){.gallery-carousel-wrap .gallery-inner{height:52vw;min-height:260px;}.gallery-carousel-wrap .gallery-slide img{height:52vw;min-height:260px;}}
#dintorni{padding:5rem 0;background-color:var(--cream);}
.dintorni-card{border:none;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 20px rgba(44,24,16,.07);transition:transform .3s,box-shadow .3s;height:100%;}
.dintorni-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(44,24,16,.13);}
.dintorni-card img{height:220px;width:100%;object-fit:cover;}
.dintorni-card .card-body{padding:1.4rem;}
.dintorni-card h6{font-family:'Playfair Display',serif;font-size:1.4rem;margin-bottom:.35rem;}
.dintorni-card p{font-size:1.1rem;color:var(--text-light);margin:0;line-height:1.7;}
.dintorni-distance{font-size:.95rem;font-family:'Lato',sans-serif;letter-spacing:.06em;color:var(--sky);font-weight:700;margin-bottom:.45rem;display:block;}
#contatti{padding:5rem 0;background:linear-gradient(135deg,#EDE8DF 0%,var(--cream) 100%);}
.contact-form .form-control,.contact-form .form-select,.contact-form textarea{background:#fff;border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;font-family:'Lato',sans-serif;font-size:1.05rem;color:var(--text-dark);transition:border-color .25s,box-shadow .25s;resize:vertical;}
.contact-form .form-control:focus,.contact-form .form-select:focus,.contact-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,168,75,.15);outline:none;}
.contact-form label{font-size:.9rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-mid);margin-bottom:.35rem;font-weight:400;}
.btn-primary-custom{background:linear-gradient(135deg,var(--gold),var(--terracotta));border:none;color:#fff;font-family:'Lato',sans-serif;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;padding:.85rem 2.5rem;border-radius:8px;transition:opacity .3s,transform .2s;cursor:pointer;}
.btn-primary-custom:hover{opacity:.9;transform:translateY(-2px);color:#fff;}
.contact-info-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.6rem;}
.ci-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.ci-icon.gold{background:#FFF3D0;color:var(--gold);}
.ci-icon.sky{background:#DFF0F5;color:var(--sky);}
.ci-icon.sage{background:#E5F0DE;color:var(--sage);}
.contact-info-item h6{font-family:'Lato',sans-serif;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin-bottom:.15rem;font-weight:700;}
.contact-info-item p{margin:0;font-size:1.05rem;color:var(--text-mid);line-height:1.55;}
.contact-info-item a{color:var(--text-mid);text-decoration:none;}
.contact-info-item a:hover{color:var(--gold);}
#mappa{height:420px;}
#mappa iframe{width:100%;height:100%;border:0;display:block;}
#footer{background:#2C1810;color:rgba(255,255,255,.70);padding:3rem 0 1.5rem;}
.footer-logo img{height:60px;filter:brightness(0) invert(1);opacity:.9;}
.footer-address{font-size:1rem;line-height:1.85;color:rgba(255,255,255,.6);margin-top:1rem;}
.footer-address strong{color:rgba(255,255,255,.9);}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);font-size:1rem;text-decoration:none;transition:background .3s,color .3s;margin-right:.5rem;}
.footer-social a:hover{background:var(--gold);color:#fff;}
hr.footer-divider{border-color:rgba(255,255,255,.1);margin:2rem 0 1rem;}
.footer-bottom{font-size:.9rem;color:rgba(255,255,255,.35);}
.footer-links a{color:rgba(255,255,255,.45);text-decoration:none;font-size:.9rem;margin-left:1.2rem;transition:color .2s;}
.footer-links a:hover{color:var(--gold-light);}
#lightboxModal .modal-dialog{max-width:90vw;}
#lightboxModal .modal-content{background:#111;border:none;border-radius:8px;}
#lightboxModal img{max-height:82vh;width:100%;object-fit:contain;}
#lightboxModal .btn-close{filter:invert(1);}
.btn-outline-ghost{border:1.5px solid rgba(255,255,255,.7);color:#fff;background:transparent;font-family:'Lato',sans-serif;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;padding:.7rem 2rem;border-radius:8px;text-decoration:none;transition:background .3s;display:inline-block;}
.btn-outline-ghost:hover{background:rgba(255,255,255,.15);color:#fff;}
@media(max-width:768px){.section-title{font-size:2.2rem;}.tile-card p{font-size:1.05rem;}.about-text p{font-size:1.1rem;}.apt-amenities li{font-size:1rem;}.about-img img{height:300px;}#mappa{height:300px;}}
/* Apt cards index - static cover */
.apt-card-link{text-decoration:none;display:block;height:100%;}
.apt-card-cover{width:100%;height:240px;object-fit:cover;display:block;}
.apt-card-type{font-size:.9rem;color:var(--text-light);margin:.15rem 0 .85rem;font-family:'Lato',sans-serif;}
.apt-card-cta{font-family:'Lato',sans-serif;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:.4rem;transition:gap .2s;}
.apt-card-link:hover .apt-card-cta{gap:.7rem;}
/* Apartment detail pages */
.apt-page-hero{height:55vh;min-height:360px;position:relative;display:flex;align-items:flex-end;justify-content:center;background-size:cover;background-position:center;}
.apt-page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,10,5,.18) 0%,rgba(20,10,5,.65) 100%);}
.apt-page-hero-content{position:relative;z-index:1;text-align:center;padding:0 1rem 3.5rem;}
.apt-page-eyebrow{font-family:'Lato',sans-serif;font-size:.9rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-light);margin-bottom:.75rem;}
.apt-page-name{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:600;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4);margin-bottom:.6rem;}
.apt-page-type{font-family:'Lato',sans-serif;font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.85);margin:0;}
.apt-detail-section{padding:4rem 0 5rem;background-color:var(--cream);}
.apt-detail-carousel .carousel-item img{height:520px;object-fit:cover;width:100%;border-radius:12px;}
.apt-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:0;}
.apt-service-item{display:flex;align-items:center;gap:.85rem;background:#fff;border:1px solid var(--border);border-radius:10px;padding:.9rem 1.1rem;}
.apt-service-icon{width:42px;height:42px;border-radius:50%;background:#FFF3D0;color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0;}
.apt-service-label{font-family:'Lato',sans-serif;font-size:.95rem;color:var(--text-mid);}
.apt-back-link{display:inline-flex;align-items:center;gap:.5rem;font-family:'Lato',sans-serif;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);text-decoration:none;transition:color .25s;margin-bottom:2rem;}
.apt-back-link:hover{color:var(--gold);}
.apt-mini-footer{background:#2C1810;color:rgba(255,255,255,.45);padding:1.5rem 0;text-align:center;font-size:.9rem;}
.apt-mini-footer a{color:rgba(255,255,255,.65);text-decoration:none;transition:color .2s;}
.apt-mini-footer a:hover{color:var(--gold-light);}
@media(max-width:768px){.apt-page-hero{height:42vh;min-height:260px;}.apt-detail-carousel .carousel-item img{height:280px;}.apt-services-grid{grid-template-columns:1fr 1fr;}}