:root{
  /* Palette: luxury contemporaneo (facile da cambiare) */
  --bg: #0f1012;
  --bg2: #14161a;
  --surface: rgba(255,255,255,0.06);
  --surface-2: rgba(255,255,255,0.10);
  --text: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.62);
  --line: rgba(255,255,255,0.12);

  /* Accent (puoi usare #e0ab3d se vuoi allinearti a Reight) */
  --accent: #d9a23a;

  --radius-lg: 20px;
  --radius-md: 14px;
  --shadow: 0 24px 80px rgba(0,0,0,0.45);
  --maxw: 1160px;

  --font-body: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-display: "Fraunces", serif;

  --navH: 76px;
}

html, body{
  height: 100%;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
}

.container{ max-width: var(--maxw); }

.section{ padding: 92px 0; }

.section-dark{ background: var(--bg); }
.section-mid{ background: #f7f5f0; color: #151515; }

.section-kicker{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 10px;
}

.section-mid .section-kicker{ color: rgba(0,0,0,0.55); }

.section-title{
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -0.02em;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.08;
  margin: 0 0 14px;
}

.section-lead{
  font-size: 16px;
  line-height: 1.75;
  color: var(--muted);
  margin: 0;
}

.section-mid .section-lead{ color: rgba(0,0,0,0.68); }

/* NAV */
.nav-glass{
  backdrop-filter: blur(12px);
  background: rgba(10,10,12,0.60);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.navbar-brand .brand-mark{
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 6px rgba(217,162,58,0.12);
  display: inline-block;
}

.brand-name{
  font-weight: 600;
  letter-spacing: .02em;
}

.navbar .nav-link{
  color: rgba(255,255,255,0.78);
  font-weight: 500;
}

.navbar .nav-link:hover{ color: rgba(255,255,255,0.95); }

/* HERO */
.hero{
  position: relative;
  min-height: 100svh;
  display: grid;
  place-items: end stretch;
  padding-top: var(--navH);
}

.hero-bg{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: opacity .65s ease;
}

.hero-bg-day{
  background-image: url("../img/hero-day.jpg");
  opacity: 1;
}

.hero-bg-night{
  background-image: url("../img/hero-night.jpg");
  opacity: 1;
}

.hero-bg.is-hidden{ opacity: 0; pointer-events: none; }

.hero-overlay{
  position: absolute;
  inset: 0;
  background: radial-gradient(1200px 600px at 20% 20%, rgba(0,0,0,0.15), rgba(0,0,0,0.65)),
              linear-gradient(to top, rgba(0,0,0,0.72), rgba(0,0,0,0.10));
}

.hero-inner{
  position: relative;
  z-index: 2;
  padding-bottom: 56px;
}

.hero-title{
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -0.02em;
  font-size: clamp(34px, 4.2vw, 64px);
  line-height: 1.02;
  margin: 0 0 12px;
}

.hero-subtitle{
  color: rgba(255,255,255,0.78);
  font-size: 16px;
  line-height: 1.6;
  max-width: 52ch;
}

.hero-card{
  background: rgba(15,16,18,0.55);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-lg);
  padding: 18px 18px 14px;
  box-shadow: var(--shadow);
}

.hero-card-kicker{
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
}

.hero-card-line{
  height: 1px;
  background: rgba(255,255,255,0.12);
  margin: 14px 0;
}

.hero-card-meta{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.meta-label{
  display: block;
  font-size: 11px;
  color: rgba(255,255,255,0.55);
  text-transform: uppercase;
  letter-spacing: .12em;
}

.meta-value{
  display: block;
  font-weight: 600;
  letter-spacing: .02em;
}

.hero-scroll{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 14px;
  width: 28px;
  height: 44px;
  opacity: 0.9;
}

.scroll-line{
  display: block;
  width: 2px;
  height: 44px;
  margin: 0 auto;
  background: linear-gradient(to bottom, rgba(255,255,255,0.0), rgba(255,255,255,0.7));
  border-radius: 999px;
}

/* BUTTONS */
.btn-accent{
  --bs-btn-bg: var(--accent);
  --bs-btn-border-color: var(--accent);
  --bs-btn-hover-bg: #c8942e;
  --bs-btn-hover-border-color: #c8942e;
  --bs-btn-color: #111;
  font-weight: 650;
  letter-spacing: .01em;
}

.btn-outline-light{
  border-color: rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.92);
}

.toggle-dot{
  display: inline-block;
  width: 10px; height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  margin-right: 10px;
  transform: translateY(-1px);
}

.btn-outline-light.is-night .toggle-dot{
  background: var(--accent);
  box-shadow: 0 0 0 6px rgba(217,162,58,0.14);
}

/* PLACEHOLDERS */
.ph{
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0.05));
  border: 1px solid rgba(255,255,255,0.12);
  display: grid;
  place-items: center;
  color: rgba(255,255,255,0.55);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 14px;
  min-height: 160px;
}

.section-mid .ph{
  background: linear-gradient(135deg, rgba(0,0,0,0.08), rgba(0,0,0,0.04));
  border-color: rgba(0,0,0,0.10);
  color: rgba(0,0,0,0.55);
}

.ph[data-label]::before{
  content: attr(data-label);
  text-align: center;
}

.ph-logo{ min-height: 82px; }
.ph-icon{ min-height: 54px; border-radius: 14px; }
.ph-img{ min-height: 220px; }

/* Micro sections */
.micro-sections{ display: grid; gap: 14px; }

.micro-block{
  padding: 16px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
}

.micro-title{
  font-weight: 650;
  letter-spacing: .02em;
  margin-bottom: 6px;
}

.micro-text{
  color: rgba(255,255,255,0.68);
  line-height: 1.7;
}

/* Map */
.map-shell{
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  overflow: hidden;
}

.map-top{
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.map-title{ font-weight: 650; letter-spacing: .02em; }

.map-link{
  color: rgba(255,255,255,0.70);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.24);
}

.map-link:hover{ color: rgba(255,255,255,0.92); }

.map-frame{
  position: relative;
  aspect-ratio: 16 / 10;
  background: #0b0c0e;
}

.map-frame iframe{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0;
  filter: grayscale(1) contrast(1.05) brightness(0.95);
  opacity: 0.95;
}

/* Features grid */
.feature-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}

.feature{
  display: flex;
  gap: 12px;
  padding: 14px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
}

.feature-title{ font-weight: 650; letter-spacing: .01em; }

.feature-sub{
  color: rgba(255,255,255,0.65);
  font-size: 13px;
  margin-top: 2px;
  line-height: 1.55;
}

/* Masonry gallery */
.masonry{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}

.masonry-item{
  grid-column: span 6;
  border: 0;
  padding: 0;
  background: transparent;
  text-align: left;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(0,0,0,0.10);
  transition: transform .25s ease, box-shadow .25s ease;
}

.masonry-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 24px 70px rgba(0,0,0,0.14);
}

.masonry-item .ph-img{ border-radius: 0; min-height: 260px; }

.masonry-item.tall{ grid-column: span 6; }
.masonry-item.wide{ grid-column: span 12; }

@media (max-width: 992px){
  .feature-grid{ grid-template-columns: 1fr; }
  .masonry-item{ grid-column: span 12; }
  .masonry-item.wide{ grid-column: span 12; }
}

/* Lightbox */
.lightbox{
  background: #0a0b0d;
  color: rgba(255,255,255,0.9);
}

.lightbox-title{ font-weight: 600; letter-spacing: .02em; }

.carousel-inner{ height: calc(100vh - 130px); }

.carousel-item{
  height: 100%;
  display: grid;
  place-items: center;
}

.lightbox-slide{
  width: min(1200px, 92vw);
  height: min(740px, 72vh);
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.lightbox-slide img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #0f1012;
}

.lightbox-slide .ph-img{ height: 100%; border-radius: 0; }

.lightbox-hint{
  color: rgba(255,255,255,0.55);
  font-size: 13px;
}

.lightbox-counter{
  color: rgba(255,255,255,0.75);
  font-size: 13px;
  letter-spacing: .06em;
}

/* Units */
.nav-lux .nav-link{
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.78);
  background: rgba(255,255,255,0.02);
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 600;
    margin-right: 15px;
}

.nav-lux .nav-link.active{
  background: rgba(217,162,58,0.16);
  border-color: rgba(217,162,58,0.35);
  color: rgba(255,255,255,0.95);
}

.accordion-lux .accordion-item{
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: 12px;
}

.accordion-lux .accordion-button{
  background: transparent;
  color: rgba(255,255,255,0.92);
  font-weight: 650;
  letter-spacing: .01em;
  padding: 18px;
}

.accordion-lux .accordion-button::after{
  filter: invert(1);
  opacity: 0.7;
}

.accordion-lux .accordion-body{
  padding: 18px;
  color: rgba(255,255,255,0.78);
}

.unit-name{
  font-weight: 750;
  letter-spacing: .02em;
  margin-right: 10px;
}

.unit-badges{
  margin-left: auto;
  display: inline-flex;
  gap: 8px;
}

.media-count{
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.70);
  border: 1px solid rgba(255,255,255,0.16);
  padding: 6px 10px;
  border-radius: 999px;
}

.media-btn{ position: relative; }

.media-overlay{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 12px;
  background: linear-gradient(to top, rgba(0,0,0,0.55), rgba(0,0,0,0.0));
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events: none;
}

.media-overlay span{
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: rgba(15,16,18,0.65);
  border: 1px solid rgba(255,255,255,0.14);
  padding: 8px 10px;
  border-radius: 999px;
}

.media-btn:hover .media-overlay{ opacity: 1; }

.tab-count{
  opacity: .7;
  font-weight: 400;
}


.badge-soft{
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.88);
}

.badge-accent{
  background: rgba(217,162,58,0.18);
  border: 1px solid rgba(217,162,58,0.35);
  color: rgba(255,255,255,0.92);
}

.unit-specs{
  display: grid;
  gap: 10px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.02);
  padding: 14px;
}

.unit-specs.compact{ grid-template-columns: repeat(2, 1fr); gap: 12px; }

.spec{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: rgba(255,255,255,0.72);
}

.spec strong{ color: rgba(255,255,255,0.95); }

.spec.price strong{ color: var(--accent); }

.unit-media-title{ font-weight: 650; margin-bottom: 10px; }

.section-mid .btn-outline-dark{ border-color: rgba(0,0,0,0.18); }

/* Form */
.form-lux .form-control{
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.14);
  padding: 12px 12px;
}

.section-dark .form-lux .form-control{
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.9);
}

.form-lux .form-label{
  font-weight: 650;
  letter-spacing: .01em;
}

.form-check-lux .form-check-input{
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,0.18);
}

.section-dark .form-check-lux .form-check-input{
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.16);
}

.form-status{
  font-size: 14px;
  color: rgba(0,0,0,0.65);
}

.section-dark .form-status{ color: rgba(255,255,255,0.70); }

/* Contact card */
.contact-card{
  border-radius: var(--radius-lg);
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(255,255,255,0.65);
  padding: 16px;
}

.contact-row{
  display:flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.contact-row:last-child{ border-bottom: 0; }

.contact-label{ color: rgba(0,0,0,0.60); font-size: 13px; }
.contact-value{ color: rgba(0,0,0,0.86); text-decoration: none; font-weight: 650; }

/* Footer */
.footer{
  padding: 56px 0 34px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-brand{
  font-weight: 700;
  letter-spacing: .02em;
}

.footer-note{
  color: rgba(255,255,255,0.70);
  margin-top: 10px;
  line-height: 1.7;
}

.footer-meta{
  color: rgba(255,255,255,0.70);
  line-height: 1.9;
}

.footer-meta span{
  color: rgba(255,255,255,0.90);
  font-weight: 650;
  margin-right: 6px;
}

.footer-bottom{
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.55);
  font-size: 13px;
}


/* HERO logo: no background + left align */
.hero .logo-shell{ max-width: 260px; }
.hero .ph-logo.logo-blank{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  color: rgba(255,255,255,0.70);
  justify-content: flex-start;
}
.hero .ph-logo.logo-blank::before{
  content: "LOGO SVG — inserisci qui";
}

/* Gallery: grid regolare */
.gallery-thumb{
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
}


.gallery-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}
.gallery-item{
  grid-column: span 4;
  border: 0;
  padding: 0;
  background: transparent;
  text-align: left;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(0,0,0,0.10);
  transition: transform .25s ease, box-shadow .25s ease;
}
.gallery-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 24px 70px rgba(0,0,0,0.14);
}
.gallery-item .ph-img{ border-radius: 0; min-height: 240px; }

@media (max-width: 992px){
  .gallery-item{ grid-column: span 6; }
}
@media (max-width: 576px){
  .gallery-item{ grid-column: span 12; }
}

/* Lightbox viewer (no carousel) */
.lightbox-body{
  position: relative;
  display: grid;
  place-items: center;
  padding: 0;
}
.lightbox-viewer{
  width: 100%;
  height: calc(100vh - 130px);
  display: grid;
  place-items: center;
  padding: 22px;
}
#lightboxImg{
  width: min(1320px, 92vw);
  height: min(820px, 76vh);
  object-fit: contain;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: #0f1012;
  box-shadow: var(--shadow);
}
.lightbox-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(15,16,18,0.45);
  color: rgba(255,255,255,0.92);
  font-size: 40px;
  line-height: 0;
  display: grid;
  place-items: center;
  cursor: pointer;
  user-select: none;
}
.lightbox-nav:hover{ background: rgba(15,16,18,0.65); }
.lightbox-prev{ left: 18px; }
.lightbox-next{ right: 18px; }
.lightbox-nav.is-disabled{ opacity: .35; pointer-events: none; }

/* Unit media buttons */
.media-btn{
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  border-radius: var(--radius-lg);
  overflow: hidden;
  cursor: pointer;
}
.media-btn:focus{ outline: 2px solid rgba(217,162,58,0.45); outline-offset: 3px; }


/* SVG logo placeholders (navbar & footer) */
.logo-svg-nav,
.logo-svg-footer{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.7);
  letter-spacing: .12em;
  font-size: 12px;
}

.logo-svg-nav{
  height: 28px;
}

.logo-svg-footer{
  height: 34px;
}


/* Inline SVG logo styling */
.logo-svg{
  display: block;
  height: 100%;
  width: auto;
}
.navbar .logo-svg-nav{
  display: inline-flex;
  align-items: center;
  height: 28px;
}
.navbar .logo-svg-nav svg{
  height: 28px;
  width: auto;
  display: block;
}
.footer .logo-svg-footer{
  display: inline-flex;
  align-items: center;
  height: 34px;
}
.footer .logo-svg-footer svg{
  height: 34px;
  width: auto;
  display: block;
}
.logo-svg-hero{
  height: 72px;
  width: auto;
}
@media (max-width: 576px){
  .logo-svg-hero{ height: 58px; }
}

/* Logo as file (img svg) */
.logo-img{
  display: block;
  width: auto;
  height: 100%;
}

.logo-img-nav{ height: 28px; }
.logo-img-hero{ height: 72px; }
.logo-img-footer{ height: 34px; }

@media (max-width: 576px){
  .logo-img-hero{ height: 58px; }
}



/* HERO logo (clean, no placeholder box) */
.hero-logo{
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 18px;
}
.hero-logo svg{
  height: 72px;
  width: auto;
  display: block;
}
@media (max-width: 576px){
  .hero-logo svg{ height: 58px; }
}

.hero .ph-logo.logo-blank::before{ content: none !important; }


/* Unit media preview images */
.media-img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-md);
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
}
.section-mid .media-img{
  border-color: rgba(0,0,0,0.10);
  background: rgba(0,0,0,0.03);
}


.lapentor {
    border-radius: 40px;
    
}

.lapentor-wrapper{
  position: relative;
    margin-top: 100px;
  overflow: hidden;      /* evita che overlay "sbordi" */
  border-radius: 40px;   /* opzionale: metti il tuo raggio o rimuovi */
}

/* evita micro-gap sotto l'iframe */
.lapentor-wrapper iframe{
  display: block;
  border: 0;
  pointer-events: none;  /* default: iframe non intercetta scroll/zoom */
}

/* overlay sopra */
.lapentor-overlay{
  position: absolute;
    border-radius: 40px;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: rgba(0,0,0,0.12);
}

/* pill con testo */
.lapentor-overlay__text{
  color: #fff;
  font-weight: 500;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(0,0,0,0.45);
}

/* quando attivo: nascondi overlay */
.lapentor-wrapper.is-active .lapentor-overlay{
  display: none;
}


/* MODIFICHE */

/* MOBILE TWEAKS (navbar + hero) */
@media (max-width: 991.98px){

  /* HERO: pulizia mobile */
  .hero-logo{ display: none !important; }
  .hero-card{ display: none !important; }
  .hero-scroll{ display: none !important; }

  /* HERO: più aria + contenuto più in basso */
  .hero{
    padding-top: 96px;
    padding-bottom: 48px;
  }
  .hero-title{ line-height: 1.02; margin-bottom: 10px; }
  .hero-subtitle{ margin-top: 12px; }

  /* Sposta in basso titolo+sottotitolo+bottoni per mostrare più background */
  .hero .hero-inner .row{
    align-items: flex-start !important; /* annulla align-items-end su mobile */
  }
  .hero .hero-inner .row > .col-12.col-lg-8{
    transform: translateY(12vh) !important; /* regola: 10vh–18vh */
  }

  /* NAVBAR: logo a sinistra, burger a destra */
  #siteNav .container,
  #siteNav .container-fluid{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    gap: 12px;
  }

  #siteNav .navbar-brand{
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    flex: 0 0 auto !important;
    order: 1 !important;
  }

  #siteNav .navbar-toggler{
    margin: 0 !important;
    flex: 0 0 auto !important;
    order: 2 !important;
  }

  #siteNav .navbar-collapse{
    order: 3 !important;
    flex-basis: 100% !important; /* va a capo sotto */
  }
}


.disclaimer {
    color: rgba(255,255,255,0.55);
  font-size: 13px;
}

