/* Multilingual navigation and translated visual replacements */
.language-switcher { position:relative; border-bottom:0; flex:0 0 auto; color:var(--aqua-dark); font-size:.78rem; font-weight:800; }
.language-switcher summary { display:flex; min-width:58px; min-height:40px; align-items:center; justify-content:center; gap:6px; padding:8px 11px; border:1px solid rgba(18,59,107,.24); border-radius:999px; background:rgba(255,253,242,.76); box-shadow:0 7px 20px rgba(10,35,72,.08); cursor:pointer; list-style:none; }
.language-switcher summary::-webkit-details-marker { display:none; }
.language-switcher summary::after { content:none; }
.language-switcher summary b { color:var(--gold); font-size:.82rem; font-weight:900; transition:transform .18s ease; }
.language-switcher[open] summary b { transform:rotate(180deg); }
.language-options { position:absolute; z-index:80; top:calc(100% + 9px); right:0; display:grid; min-width:154px; overflow:hidden; padding:6px; border:1px solid rgba(201,144,47,.28); border-radius:16px; background:#fffdf3; box-shadow:0 18px 50px rgba(8,31,63,.20); }
.language-options a { display:flex; min-height:42px; align-items:center; padding:8px 12px; border-radius:11px; color:#163b67; font-weight:700; }
.language-options a:hover, .language-options a[aria-current="page"] { background:linear-gradient(110deg, rgba(220,232,245,.82), rgba(255,242,201,.72)); color:var(--plum); }
.header-inner { gap:14px; }
.main-nav { gap:clamp(12px,1.25vw,25px); }

/* Localized visual cards replace Italian text embedded in source images on EN/FR/ES pages. */
.localized-hero-contact, .localized-luce-vision, .localized-promo-card { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(128deg,#d5e9f5 0%,#fff6d6 43%,#f5d67c 100%); color:var(--aqua-dark); }
.localized-hero-contact::before, .localized-luce-vision::before, .localized-promo-card::before { content:""; position:absolute; inset:-25%; z-index:-2; background:radial-gradient(circle at 28% 34%,rgba(255,174,43,.76),transparent 27%),radial-gradient(circle at 68% 34%,rgba(32,180,210,.62),transparent 31%),radial-gradient(circle at 48% 86%,rgba(226,84,114,.25),transparent 34%); filter:blur(8px); }
.localized-orbit { position:absolute; z-index:-1; left:50%; top:48%; width:min(74%,720px); aspect-ratio:1; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.82); border-radius:50%; box-shadow:0 0 40px rgba(255,255,255,.82), 0 0 0 42px rgba(255,255,255,.10), 0 0 0 84px rgba(255,255,255,.08); }
.localized-visual-inner { display:grid; justify-items:center; gap:16px; padding:clamp(48px,8vw,98px) clamp(24px,6vw,80px); text-align:center; }
.localized-luce { margin:0; background:linear-gradient(100deg,#0729e8 0%,#6c1ac5 54%,#ef0b8f 100%); -webkit-background-clip:text; background-clip:text; color:transparent; font-family:var(--font-display); font-size:clamp(4.8rem,12vw,9.5rem); font-weight:900; letter-spacing:-.04em; line-height:.82; text-shadow:0 8px 30px rgba(255,255,255,.48); }
.localized-phone { color:var(--aqua-dark); font-family:var(--font-brand); font-size:clamp(2.1rem,5vw,4.2rem); line-height:1; }
.localized-tag {
  width:min(100%,520px);
  margin:2px auto 0;
  color:var(--aqua-dark);
  font-size:clamp(.68rem,.9vw,.82rem);
  font-weight:900;
  line-height:1.35;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-wrap:balance;
}
.localized-contact-row { display:grid; grid-template-columns:repeat(3,1fr); width:min(100%,850px); margin-top:10px; padding:20px 0; border-top:1px solid rgba(18,59,107,.18); border-bottom:1px solid rgba(18,59,107,.18); gap:14px; color:#143b68; font-weight:800; }
.localized-contact-row span + span { border-left:1px solid rgba(18,59,107,.22); }
.localized-site {
  width:100%;
  margin:2px auto 0;
  color:var(--aqua-dark);
  font-size:clamp(.78rem,1.15vw,1.02rem);
  font-weight:900;
  line-height:1.25;
  letter-spacing:.035em;
  white-space:nowrap;
}
.localized-luce-vision {
  display:grid;
  min-height:100%;
  box-sizing:border-box;
  place-items:center;
  align-content:center;
  gap:clamp(14px,1.6vw,22px);
  padding:clamp(34px,4.2vw,58px) clamp(24px,3.6vw,46px);
  border-radius:inherit;
  text-align:center;

  height:100%;}
.localized-orbit--large { width:78%; top:46%; }
.localized-luce--large {
  font-size:clamp(3.6rem,6.2vw,5.8rem);
  line-height:.86;
}
.localized-luce-copy {
  width:min(100%,560px);
  max-width:560px;
  margin:0 auto;
  color:#0b315e;
  font-family:var(--font-brand);
  font-size:clamp(1.22rem,1.8vw,1.85rem);
  font-weight:600;
  line-height:1.16;
  text-wrap:balance;
  overflow-wrap:normal;
  hyphens:auto;
}
.localized-heart {
  display:grid;
  grid-template-columns:minmax(28px,1fr) auto minmax(28px,1fr);
  align-items:center;
  gap:12px;
  width:min(92%,440px);
  margin:0 auto;
  color:var(--gold);
}
.localized-heart span { height:1px; background:linear-gradient(90deg,transparent,var(--gold)); }
.localized-heart span:last-child { background:linear-gradient(90deg,var(--gold),transparent); }
.localized-heart b { font-size:2.2rem; font-weight:400; }
.localized-promo-section { background:transparent; }
.localized-promo-card { display:grid; min-height:min(74vw,850px); place-items:center; align-content:center; gap:26px; padding:clamp(48px,7vw,84px) clamp(28px,7vw,88px); text-align:center; }
.localized-orbit--promo { width:62%; top:43%; }
.localized-luce--promo { font-size:clamp(4.4rem,10vw,8.2rem); }
.localized-promo-copy { max-width:820px; margin:0; color:#0b315e; font-family:var(--font-brand); font-size:clamp(1.8rem,3.6vw,3rem); font-weight:600; line-height:1.05; }

/* Fine tuning for longer translated copy inside the Luce vision card */
html[lang="en"] .localized-luce-copy {
  font-size:clamp(1.2rem,1.72vw,1.78rem);
}

html[lang="fr"] .localized-luce-copy {
  font-size:clamp(1.14rem,1.58vw,1.66rem);
  line-height:1.18;
}

html[lang="es"] .localized-luce-copy {
  font-size:clamp(1.16rem,1.64vw,1.72rem);
  line-height:1.18;
}

html[lang="fr"] .localized-tag,
html[lang="es"] .localized-tag {
  font-size:clamp(.64rem,.82vw,.78rem);
  letter-spacing:.095em;
}

@media (max-width:1180px) {
  .localized-luce-vision {
    gap:14px;
    padding:34px 22px;
  }

  .localized-luce--large {
    font-size:clamp(3.35rem,5.7vw,4.8rem);
  }

  .localized-luce-copy,
  html[lang="en"] .localized-luce-copy,
  html[lang="fr"] .localized-luce-copy,
  html[lang="es"] .localized-luce-copy {
    font-size:clamp(1.08rem,1.55vw,1.42rem);
    line-height:1.2;
  }

  .localized-site {
    font-size:clamp(.72rem,1vw,.88rem);
    letter-spacing:.02em;
  }

  .localized-tag,
  html[lang="fr"] .localized-tag,
  html[lang="es"] .localized-tag {
    font-size:clamp(.61rem,.75vw,.72rem);
    letter-spacing:.08em;
  }
}

@media (max-width:720px) {
  .localized-luce-vision {
    min-height:0;
    gap:13px;
    padding:38px 18px 34px;
  }

  .localized-luce--large {
    font-size:clamp(3.25rem,17vw,4.6rem);
  }

  .localized-luce-copy,
  html[lang="en"] .localized-luce-copy,
  html[lang="fr"] .localized-luce-copy,
  html[lang="es"] .localized-luce-copy {
    width:min(100%,430px);
    font-size:clamp(1.15rem,5.4vw,1.48rem);
    line-height:1.18;
  }

  .localized-site {
    font-size:clamp(.7rem,3.35vw,.9rem);
    letter-spacing:.01em;
  }

  .localized-heart {
    width:min(88%,340px);
    gap:10px;
  }

  .localized-heart b {
    font-size:1.8rem;
  }

  .localized-tag,
  html[lang="fr"] .localized-tag,
  html[lang="es"] .localized-tag {
    width:min(100%,390px);
    font-size:clamp(.62rem,2.65vw,.75rem);
    line-height:1.35;
    letter-spacing:.075em;
  }
}

@media (max-width:390px) {
  .localized-luce-vision {
    padding-inline:14px;
  }

  .localized-luce-copy,
  html[lang="en"] .localized-luce-copy,
  html[lang="fr"] .localized-luce-copy,
  html[lang="es"] .localized-luce-copy {
    font-size:1.08rem;
  }

  .localized-site {
    font-size:.67rem;
  }

  .localized-tag,
  html[lang="fr"] .localized-tag,
  html[lang="es"] .localized-tag {
    font-size:.6rem;
    letter-spacing:.055em;
  }
}

@media (max-width:980px) {
  .main-nav { position:fixed; inset:66px 16px auto; display:none; align-items:stretch; gap:17px; max-height:calc(100vh - 92px); overflow-y:auto; padding:22px; border-radius:18px; background:#fffdf2; box-shadow:var(--shadow); }
  .main-nav.is-open { display:flex; flex-direction:column; }
  .menu-toggle { display:block; }
  .main-nav .nav-cta { margin-top:6px; }
}
@media (max-width:720px) {
  .header-inner { gap:8px; }
  .legal-page .site-header .nav-cta { display:none; }
  .language-switcher summary { min-width:52px; min-height:38px; padding:7px 9px; }
  .language-options { right:-45px; min-width:148px; }
  .localized-contact-row { grid-template-columns:1fr; gap:0; padding:10px 0; }
  .localized-contact-row span { padding:10px; }
  .localized-contact-row span + span { border-top:1px solid rgba(18,59,107,.18); border-left:0; }
  .localized-visual-inner { padding:48px 22px; }
  .localized-promo-card { min-height:0; padding:54px 22px; }
}
/* Luce aligned cards mobile reset */
@media (max-width: 900px) {
  .luce-profile-layout {
    align-items: start;
  }

  .luce-story-card,
  .luce-signature-card {
    height: auto;
    align-self: auto;
  }

  .localized-luce-vision {
    height: auto;
    min-height: 0;
  }
}

@media (max-width:380px) {
  .language-switcher summary { min-width:48px; padding-inline:8px; }
  .language-options { right:-42px; }
}
