/* --- LUXURY STYLE CSS (UNIFICATO) --- */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;700&family=Libre+Baskerville&family=Lato:wght@300;700&display=swap');

:root {
  --nero: #1a1a1a;
  --avorio: #f3f1ee;
  --oro: #c4a040;
  --rosso-luxury: #8a1e1e;
  --grigio: #6f6f6f;
  --accent: #888;
  --font-serif: 'Playfair Display', serif;
  --font-sans: 'Lato', sans-serif;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scroll-behavior: smooth;
  text-align: center;
}
.prenota-section {
  text-align: center;
  padding: 4rem 2rem 2rem;
  margin-top: 4rem;
  border-top: 1px solid #ccc;
}

.prenota-section h2 {
  font-size: 2.4rem;
  margin-bottom: 1rem;
  font-family: var(--font-serif);
  color: var(--nero);
}
.back-arrow {
  position: fixed;
  top: 5px;
  left: 5px;
  font-size: 1.8rem;
  color: black;
  padding: 0.5rem 0.6rem;
  z-index: 1000;
  transition: transform 0.2s ease;
  text-decoration: none;
}

.back-arrow:hover {
  transform: scale(1.1);
  color:#222 /* rosso luxury */
}

.prenota-desc {
  font-size: 1.1rem;
  color: #555;
  max-width: 720px;
  margin: 0 auto 2rem;
}

.cta-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.2rem;
}

.btn-whatsapp, .btn-email {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 0.9rem 1.8rem;
  border-radius: 2.5rem;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
  min-width: 220px;
  max-width: 280px;
}

.btn-whatsapp {
  background-color: #145c37;
  color: white;
}

.btn-whatsapp:hover {
  background-color: #25d366; /* colore WhatsApp */
  transform: scale(1.03);
}

.btn-email {
  background-color: #222;
  color: white;
}

.btn-email:hover {
  background-color: #444;
  transform: scale(1.03);
}

.cta-separator {
  font-size: 1rem;
  color: #888;
  font-weight: 600;
}

.btn-collection {
  display: inline-block;
  position: relative;
  background: var(--oro);
  color: white;
  padding: 0.75rem 2rem;
  border: none;
  border-radius: 2rem;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  overflow: hidden;
  transition: background 0.3s ease;
}

.btn-collection::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  background: rgba(255,255,255,0.4);
  transform: translate(-50%, -50%) rotate(45deg);
  transition: width 0.5s ease, height 0.5s ease;
  z-index: 0;
}

.btn-collection:hover {
  background: var(--rosso-luxury);
  color: white;
}

.btn-collection:hover::after {
  width: 300%;
  height: 300%;
}

.btn-collection span {
  position: relative;
  z-index: 1;
}

body {
  font-family: var(--font-sans);
  background-color: var(--avorio);
  color: var(--nero);
  font-size: 1.1rem;
  
  line-height: 1.75;
  padding: 0 5%;
  margin: 0 auto;
  min-width: 320px;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
}

header.hero, header {
  background-color: #fff;
  text-align: center;
  padding: 6% 0 3%;
  border-bottom: 0.2rem solid #ddd;
}

header.hero {
  height: 100vh;
  background: url('https://images.unsplash.com/photo-1593697820440-0824b41a8f3f') center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(243, 241, 238, 0.7);
  z-index: 0;
}

.btn {
  display: inline-block;
  background-color: #000; /* Nero elegante */
  color: #fff;
  padding: 0.75rem 2rem;
  border-radius: 30px;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  position: relative;
  overflow: hidden;
}

.btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(120deg, rgba(255,255,255,0.2), rgba(255,255,255,0));
  transition: all 0.4s ease;
}

.btn:hover {
  background-color: #8c1d40; /* Colore borgogna-luxury */
  color: #fff;
}

.btn:hover::after {
  left: 100%;
}

.hero-text {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.9);
  padding: 3rem;
  border-radius: 1rem;
  text-align: center;
  max-width: 700px;
}

h1, h2, h3 {
  font-family: var(--font-serif);
  color: var(--nero);
  letter-spacing: 0.5px;
}

h1 {
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  margin-bottom: 1rem;
  font-weight: 900;
}

h2 {
  font-size: clamp(1.4rem, 4.5vw, 2.2rem);
  margin-bottom: 1.2rem;
  font-weight: 700;
}

h3 {
  font-size: clamp(1.2rem, 3.5vw, 1.4rem);
  margin-bottom: 1rem;
  font-weight: 700;
  color: #222;
}

p {
  margin: 0 0 1rem 0;
  padding: 0;
  border: none;
  box-shadow: none;
}

p::before,
p::after {
  display: none;
  content: none;
}

.process-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  padding: 2rem 1rem;
}

.step {
  background: white;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  flex: 1 1 220px;
  max-width: 250px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.step:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.step img {
  width: 100%;
  height: auto;
  margin-bottom: 1rem;
  border-radius: 8px;
}
img, .step-processo {
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .step {
    flex: 1 1 45%;
  }
}

@media (max-width: 480px) {
  .step {
    flex: 1 1 100%;
  }
}

.detailed-step {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  background: #ffffff;
  border-radius: 12px;
  padding: 1.2rem;
  margin-bottom: 2rem;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  max-width: 800px;
  margin-inline: auto;
  transition: transform 0.3s ease;
}

.detailed-step:hover {
  transform: translateY(-6px);
}

.step-number {
  min-width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #003366;
  color: white;
  font-weight: bold;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
hr {
  display: none;
}

.step-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.step-text {
  flex: 1;
  min-width: 200px;
}

.step-text h3 {
  margin: 0 0 0.5rem;
  font-size: 1.1rem;
  color: #111;
}

.step-text p {
  margin: 0;
  font-size: 0.95rem;
  color: #555;
}

.detailed-step img {
  width: 120px;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}

@media (max-width: 600px) {
  .step-content {
    flex-direction: column;
    align-items: flex-start;
  }

  .detailed-step img {
    width: 100%;
  }
}

p {
  font-size: 1.1rem;
  margin-bottom: 1.4rem;
  color: #444;
}

strong {
  color: var(--accent);
}

nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;   
  border-bottom: 1px solid #ccc;
  font-family: var(--font-sans);
  text-transform: uppercase;
  border-radius: 1.25rem;
}

/* ZIGZAG SECTION */
.zigzag {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 4rem;
}

.fullscreen-image {
  position: relative;
  width: 100%;
  height: 100vh;
  background-image: url('immagini/swagbarca.png'); /* Cambia con il percorso corretto */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}
.image-overlay-text {
  color: #ffffff; /* Bianco pieno */
  padding: 2rem;
}

.image-overlay-text h1 {
  font-size: clamp(1.8rem, 6vw, 3rem);
  margin: clamp(1rem, 6vw, 4rem) 1rem;
  color: #ffffff;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8); /* Ombra per contrasto */
}

.gallery img {
  width: 22rem;            /* larghezza fissa in rem */
  height: 18rem;           /* altezza fissa in rem */
  object-fit: cover;       /* mantiene il rapporto e taglia l’eccesso */
  border-radius: 1.2rem;
  box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.1);
}

.gallery-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.image-overlay-text p {
  font-size: 1.2rem;
  margin-top: 10rem;
  color: #ffffff;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.7);
}


/* Testo sopra l'immagine */
@media (max-width: 37.5rem) { /* fino a 600px circa */
  .gallery img {
    width: 90%;       /* occupa quasi tutto lo schermo */
    height: auto;     /* mantiene proporzioni */
  }
}


.image-overlay-text p {
  font-size: 1.2rem;
  margin-top: 10px;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.7);
}

/* Freccia animata per scroll */
.scroll-down {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2rem;
  color: white;
  text-decoration: none;
  animation: bounce 2s infinite;
  z-index: 3;
}

@keyframes bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-10px); }
}

.hero-video {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem 1rem;
}

.hero-video video {
  width: 80%;
  max-width: 600px;
  height: auto;
  border-radius: 1rem;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.2s ease, transform 1.2s ease;
}

.fade-in video.appear {
  opacity: 1;
  transform: translateY(0);
}

/* NAV minimal tipo top */
.dna-nav {
  position: relative;
  width: 2.5rem; /* dimensione solo dell'hamburger, 2.5 rem è tipo 40px */
  background:none;
}

.gallery-item {
  text-align: center;
}

.gallery-item .caption {
  margin-top: 0.8rem;
  font-size: 1rem;
  color: #444;
  font-family: 'Playfair Display', serif;
}

.menu-icon {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  font-size: 26px;
  color: #000;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
}

.menu-icon i {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


.menu-icon:hover {
  transform: scale(1.1);
}

/* Rimuove qualsiasi effetto indesiderato da default del browser */
.menu-icon:focus,
.menu-icon:active {
  outline: none;
  box-shadow: none;
  background: transparent;
}



.nav-links {
  position: fixed;
  top: 3.75rem;         /* 60px */
  right: 1.25rem;       /* 20px */
  list-style: none;  /* rimuove i bullet points */
  padding-left: 0;   /* elimina l’indentazione standard */
  background-color: white;
  padding: 0.9375rem;   /* 15px */
  border-radius: 0.625rem; /* 10px */
  display: none;
  flex-direction: column;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15); /* 4px 12px */
  z-index: 998;
}


.nav-links li a {
  display: block;
  padding: 10px 20px;
  color: #222;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.3s ease;
}

.nav-links li a:hover {
  background-color: #f3f3f3;
}

.img-evento {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: cover;
  margin: 2rem auto;
  border-radius: 1rem;
  box-shadow: 0 0.6rem 1rem rgba(0, 0, 0, 0.1);
}

.zigzag-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}

.zigzag-row.left {
  flex-direction: row;
}

.zigzag-row.right {
  flex-direction: row-reverse;
}

.zigzag-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: white;
  padding: 2rem;
  border-radius: 1.5rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
  max-width: 400px;
  flex: 1 1 300px;
  transition: transform 0.3s ease;
}

.zigzag-content:hover {
  transform: translateY(-5px);
}

.zigzag-content img {
  width: 100%;
  max-width: 300px;
  margin-bottom: 1rem;
  border-radius: 1rem;
}

/* SOCIAL ICONS */
.social-icons {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  padding: 2rem 0;
}

.social-icon {
  background-color: #fff;
  color: #000;
  font-size: 1.5rem;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease;
  text-decoration: none;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
}

.social-icon:hover {
  transform: scale(1.2);
}

/* Colori specifici on hover */
.social-icon:hover .fa-instagram { color: #E1306C; }  /* rosa Instagram */
.social-icon:hover .fa-facebook-f { color: #1877F2; } /* blu Facebook */
.social-icon:hover .fa-youtube { color: #FF0000; }    /* rosso YouTube */
.social-icon:hover .fa-tiktok { color: #000; }        /* TikTok resta nero */
.social-icon:hover .fa-x-twitter { color: #1DA1F2; }  /* azzurro X */

/* FOOTER */
.footer-content {
  padding: 3rem 1rem;
  background: #111;
  color: #ccc;
  text-align: center;
  border-top: 1px solid #444;
}

.footer-content p {
  font-size: 0.95rem;
  margin-bottom: 1rem;
}

nav a {
  text-decoration: none;
  color: white;
  font-weight: 600;
  font-size: 1.1rem;
  position: relative;
  transition: color 0.3s ease;
}

nav a:hover {
  color: var(--accent);
}

.btn, button {
  background-color:#444;
  color: white;
  border: none;
  padding: 1% 6%;
  border-radius: 3rem;
  cursor: pointer;
  font-weight: 700;
  font-size: 1rem;
  transition: background-color 0.3s ease;
  margin-top: 1.2rem;
  display: inline-block;
  min-width: 40%;
  max-width: 250px;
}

.btn:hover, button:hover {
  background-color:#222;
}

section {
  border: none;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: center;
}

.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 4rem;
  margin-bottom: 3rem;
}

.gallery img, img {
  width: 100%;
  border-radius: 1.2rem;
  object-fit: cover;
  max-height: 60vh;
  box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.1);

}

footer {
  text-align: center;
  padding: 4% 0 0 0;
  color: #888;
  font-size: 0.95rem;
  border-top: 0.1rem solid #ddd;
  margin-top: 5%;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 3.5%;
  align-items: start;
}

.mission-cta {
  text-align: center;  /* meno spazio */
  margin: 3rem auto;
  border-radius: 1rem;
  max-width: 700px;        /* più stretto */
}

.mission-cta h2 {
  font-family: var(--font-serif);
  font-size: 1.6rem;       /* più piccolo */
  margin-bottom: 0.75rem;
  color: var(--nero);
}

.p-mission {
  font-size: 1rem;
  color: #555;
  max-width: 560px;        /* ridotto */
  margin: 0 auto 1.5rem;
}

.btn-mission {
  display: inline-block;
  background:#222;
  color: white;
  padding: 0.65rem 1.6rem; /* bottone più contenuto */
  border-radius: 2rem;
  font-weight: 600;
  font-size: 0.95rem;      /* testo più compatto */
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 0.4rem 1rem rgba(0,0,0,0.12);
}

.btn-mission:hover {
  background: var(--rosso-luxury);
  transform: scale(1.04);
}

/* Mission CTA – responsive tablet */
@media (max-width: 62rem) { /* ≈991px */
  .mission-cta {
    padding: 3rem 1.5rem;
    margin: 3rem auto;
    max-width: 720px;
  }
  .mission-cta h2 { font-size: 1.6rem; }
  .p-mission { font-size: 1rem; }

  /* Bottone comodo al tap */
  .btn-mission {
    width: 100%;
    max-width: 22rem;
    padding: 0.9rem 1.6rem;
    border-radius: 2.25rem;
  }
}

/* Mission CTA – responsive smartphone */
@media (max-width: 37.5rem) { /* ≈600px */
  .mission-cta {
    padding: 2rem 1rem;
    margin: 2rem 1rem;
    border-radius: 1rem;
  }
  .mission-cta h2 { font-size: 1.4rem; }
  .p-mission { font-size: 0.98rem; }

  .btn-mission {
    width: 100%;
    max-width: none;
    padding: 0.9rem 1.2rem;
    letter-spacing: 0.4px;
  }
}

/* Accessibilità: meno animazioni se preferito */
@media (prefers-reduced-motion: reduce) {
  .btn-mission { transition: none; transform: none; }
}


.process-grid {
  display: flex;
  gap: 2.5rem;
  justify-content: center;
  padding: 0 2%;
  margin: 2rem auto;
  max-width: 1200px;
  flex-wrap: wrap;
}





.evento-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 2rem;
  border: 1px solid #eee;
  border-radius: 1rem;
  background-color: #fafafa;
  margin: 2rem auto;
  max-width: 1200px;
}

.evento-info {
  flex: 1 1 40rem;
  max-width: 48%;
}

.evento-info h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  color: #111;
}

.evento-info p {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #333;
}

.evento-link {
  display: inline-block;
  margin-top: 1.5rem;
  padding: 0.8rem 1.6rem;
  background-color:#444;
  color: white;
  text-decoration: none;
  border-radius: 2rem;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.evento-link:hover {
  background-color: #222;
}

.evento-img {
  flex: 1 1 40rem;
  max-width: 48%;
  text-align: right;
}

.evento-img img {
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  object-fit: contain;
}





.step {
  background: white;
  padding: 2rem;
  border-radius: 1.5rem;
  text-align: center;
  box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease;
  opacity: 0;
  animation: fadeInUp 0.8s ease forwards;
}

.step:hover {
  transform: translateY(-6px);
}

.step img {
  width: 100%;
  max-width: 200px;
  margin-bottom: 1.2rem;
}

.step p {
  font-size: 1.05rem;
  color: #555;
  line-height: 1.6;
}
/* Griglia responsive con 4 colonne */
.container-step-processo {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  padding: 2rem;
}

/* Card */
.step-processo {
  background-color: #fff;
  border-radius: 1.5rem;
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.08);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover */
.step-processo:hover {
  transform: translateY(-0.4rem);
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.15);
}

/* Numero */
.step-num {
  font-size: 1rem;
  font-weight: 600;
  background-color: #eee;
  color: #333;
  padding: 0.3rem 0.8rem;
  border-radius: 999rem;
  margin-bottom: 1rem;
}

/* Immagine */
.step-processo img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 0.8rem;
  margin-bottom: 1rem;
  transition: transform 0.3s ease;
}

.step-processo:hover img {
  transform: scale(1.03);
}

/* Titolo */
.step-processo h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

/* Testo */
.step-processo p {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.5;
  margin: 0;
}


.dna-floating-left,
.dna-floating-right {
  position: fixed;
  top: 10vh;
  height: 80vh; /* 100vh - 2 * 10vh padding */
  z-index: -1;
  opacity: 0.15;
  pointer-events: none;
  transition: transform 0.1s ease-out;
}

.dna-lato {
  position: fixed;
  top: 10vh;
  height: 80vh;
  opacity: 0.2;
  pointer-events: none;
  transition: transform 0.3s ease-out;
  z-index: -1;
}

.dna-lato.sinistra {
  left: 0;
}

.dna-lato.destra {
  right: 0;
}

.collection-card {
  position: relative;
  overflow: hidden;
  background: white;
  padding: 1.5rem;
  margin-bottom: 1rem;
  border-radius: 1.2rem;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.collection-card:hover {
  transform: translateY(-6px);
}

.description-hover {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.95);
  color: #333;
  padding: 1.2rem;
  opacity: 0;
  transform: translateY(100%);
  transition: all 0.4s ease-in-out;
  font-size: 1rem;
  line-height: 1.6;
  max-height: 100%;
  overflow-y: auto;
}

.collection-card:hover .description-hover {
  opacity: 1;
  transform: translateY(0);
}


@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.step:hover {
  transform: translateY(-6px);
}
.dettagli-processo {
  background-color: #fff;
  padding: 3% 5%;
  border-radius: 1.5rem;
  box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.05);
  margin-bottom: 4rem;
}

.dettagli-processo h2 {
  font-size: 2rem;
  color: #1a1a1a;
  margin-bottom: 1.5rem;
  text-align: center;
}
/* Menu Icon */
.menu-toggle {
  position: fixed;
  top: 20px;
  right: 20px;
  font-size: 2rem;
  cursor: pointer;
  z-index: 2000;
  color: #000; /* colore icona */
}

/* Overlay Menu */
.nav-overlay {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: right 0.4s ease-in-out;
  z-index: 1500;
}

.nav-overlay.open {
  right: 0;
}

.nav-overlay ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}

.nav-overlay li {
  margin: 20px 0;
}

.nav-overlay a {
  text-decoration: none;
  font-size: 2rem;
  color: #000;
  transition: color 0.3s;
}

.nav-overlay a:hover {
  color: #888;
}

.menu-icon {
  position: fixed;
  top: 20px;
  right: 20px;
  font-size: 28px;
  cursor: pointer;
  color: black;
  z-index: 999;
}


.nav-links a {
  color: black;
  text-decoration: none;
  font-weight: bold;
}

.nav-links.open {
  display: flex;
}

.dettagli-lista {
  list-style: decimal inside;
  padding-left: 1rem;
  font-size: 1.05rem;
  line-height: 1.8;
  color: #444;
}

.dettagli-lista li {
  margin-bottom: 1rem;
}

.dettagli-lista strong {
  color: var(--accent);
}

.step:nth-child(1) { animation-delay: 0.1s; }
.step:nth-child(2) { animation-delay: 0.2s; }
.step:nth-child(3) { animation-delay: 0.3s; }
.step:nth-child(4) { animation-delay: 0.4s; }
.step:nth-child(5) { animation-delay: 0.5s; }



/* --- Responsive: Tablet & Mobile --- */
@media screen and (max-width: 991px) {
  h1 {
    font-size: 2.2rem;
  }
  h2 {
    font-size: 1.8rem;
  }
  .hero-text {
    padding: 2rem 1.5rem;
  }
  nav {
    gap: 1rem;
    font-size: 0.9rem;
  }
}

@media screen and (max-width: 600px) {
  nav {
    flex-direction: column;
    align-items: center;
  }
  .hero-text {
    padding: 1.5rem 1rem;
  }
  .btn, button {
    width: 100%;
    max-width: 300px;
  }
  section {
    padding: 0 1rem;
  }
  .gallery img {
    height: 250px;
  }
  .step {
    padding: 1.5rem 1rem;
  }
  .step img {
    max-width: 60px;
  }
  .step h3 {
    font-size: 1.2rem;
  }
  .step p {
    font-size: 1rem;
  }
}
/* === MEDIA QUERY PER TABLET (fino a 991px) === */
@media screen and (max-width: 62rem) { /* ≈ 991px */
  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.5rem;
  }

  .hero-text {
    padding: 2rem 1.5rem;
  }

  nav {
    flex-direction: column;
    gap: 1rem;
    font-size: 0.9rem;
  }

  .btn, button {
    min-width: 60%;
  }

  .gallery img {
    max-height: 50vh;
  }

  .step {
    flex: 1 1 45%;
  }

  .evento-box {
    flex-direction: column;
  }

  .evento-info, .evento-img {
    max-width: 100%;
  }

  .detailed-step {
    flex-direction: column;
    text-align: center;
  }

  .detailed-step img {
    width: 80%;
    margin-inline: auto;
  }
}


/* === MEDIA QUERY PER TELEFONO (fino a 600px) === */
@media screen and (max-width: 37.5rem) { /* ≈ 600px */
  h1 {
    font-size: 1.6rem;
  }

  h2 {
    font-size: 1.3rem;
  }

  h3 {
    font-size: 1.1rem;
  }

  .hero-text {
    padding: 1.5rem 1rem;
  }

  .btn, button {
    width: 100%;
    max-width: 18rem;
    font-size: 0.95rem;
  }

  nav {
    gap: 0.75rem;
    font-size: 0.85rem;
  }

  section {
    padding: 0 1rem;
  }

  .gallery {
    grid-template-columns: 1fr;
  }

  .gallery img {
    height: 30vh;
    max-height: 45vh;
  }

  .step {
    flex: 1 1 100%;
    padding: 1.5rem 1rem;
  }

  .step img {
    max-width: 4rem;
  }

  .step h3 {
    font-size: 1.1rem;
  }

  .step p {
    font-size: 0.95rem;
  }

  .cta-buttons {
    flex-direction: column;
    gap: 1rem;
  }

  .fullscreen-image {
    height: 80vh;
  }

  .image-overlay-text h1 {
    font-size: 2rem;
    margin: 4rem 0;
  }

  .image-overlay-text p {
    font-size: 1rem;
    margin-top: 1rem;
  }

  .container-step-processo {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem;
  }

  .nav-links {
    right: 1rem;
    top: 3rem;
    padding: 1rem;
  }

  .menu-icon {
    font-size: 1.8rem;
  }

  .social-icons {
    flex-wrap: wrap;
    gap: 1rem;
  }
}
@media screen and (max-width: 62rem) { /* Tablet fino a 991px */

  /* === FOOTER === */
  .footer-content {
    padding: 2.5rem 1rem;
    font-size: 0.9rem;
  }

  footer {
    padding: 3% 0 0;
    font-size: 0.9rem;
  }

  /* === STEP PROCESSO === */
  .container-step-processo {
    grid-template-columns: repeat(2, 1fr); /* da 4 a 2 colonne */
    gap: 1.5rem;
    padding: 1.5rem;
  }

  .step-processo h3 {
    font-size: 1rem;
  }

  .step-processo p {
    font-size: 0.9rem;
  }
}


@media screen and (max-width: 37.5rem) { /* Smartphone fino a 600px */
  
  /* === FOOTER === */
  .footer-content {
    padding: 2rem 1rem;
    font-size: 0.85rem;
  }

  footer {
    padding: 2.5% 0 0;
    font-size: 0.85rem;
  }

  /* === STEP PROCESSO === */
  .container-step-processo {
    grid-template-columns: 1fr; /* 1 colonna */
    gap: 1.2rem;
    padding: 1.2rem;
  }

  .step-processo {
    padding: 1.5rem 1rem;
  }

  .step-processo img {
    aspect-ratio: 1 / 1;
    border-radius: 1rem;
  }

  .step-num {
    font-size: 0.9rem;
    padding: 0.3rem 0.7rem;
  }

  .step-processo h3 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }

  .step-processo p {
    font-size: 0.9rem;
  }
}
/* === TABLET (max-width: 62rem ≈ 991px) === */
@media screen and (max-width: 62rem) {
  .social-icons {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }

  .social-icon {
    width: 2.6rem;
    height: 2.6rem;
    font-size: 1.3rem;
  }

  .social-icon:hover {
    transform: scale(1.1); /* Meno aggressivo su touch */
  }
}

/* Per evitare che il menu si sovrapponga al titolo */
@media screen and (max-width: 37.5rem) {


  .menu-icon {
    top: 0.5rem;
    right: 0.5rem;
    font-size: 1.5rem;
  }
}

/* === TELEFONO (max-width: 37.5rem ≈ 600px) === */
@media screen and (max-width: 37.5rem) {
  .social-icons {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.8rem;
  }

  .social-icon {
    width: 2rem;
    height: 2rem;
    font-size: 1.1rem;
  }

  .social-icon:hover {
    transform: scale(1.05); /* Più sobrio su schermi piccoli */
  }
}
@media screen and (max-width: 62rem) {
  body[data-page="chromalux13"] .social-icon {
    width: 2.6rem;
    height: 2.6rem;
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 37.5rem) {
  body[data-page="chromapulse13"] .social-icon {
    width: 2.3rem;
    height: 2.3rem;
    font-size: 1.1rem;
  }
}@media screen and (max-width: 850px) and (orientation: landscape) {
  .image-overlay-text h1 {
    font-size: 2rem;
    margin: 2rem 1rem;
    line-height: 1.2;
    word-break: break-word;
  }

  .image-overlay-text p {
    font-size: 1rem;
    margin-top: 1rem;
    padding: 0 1rem;
  }

  .fullscreen-image {
    height: 60vh;
  }

  .scroll-down {
    bottom: 10px;
    font-size: 1.2rem;
  }
}
/* 1) NON usare più il selettore globale sulle img */
.gallery img { /* mantiene stile esistente, ma solo per la gallery */
  border-radius: 1.2rem;
  box-shadow: 0 0.6rem 1.6rem rgba(0,0,0,0.1);
  object-fit: cover;
}

/* 2) Dimensioni uniformi, no px, responsive */
.gallery-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gallery .gallery-item img {
  /* Larghezza “fissa” in rem che si adatta su mobile */
  width: clamp(18rem, 92vw, 28rem);
  /* Tutte con lo stesso rapporto (scegli tu: 16/9 o 4/3) */
  aspect-ratio: 16 / 9;
  height: auto;          /* calcolata dall’aspect-ratio */
  object-fit: cover;     /* taglia l’eccesso mantenendo le proporzioni */
  max-height: none;      /* elimina eventuali limiti ereditati */
}

/* 3) (Opzionale) Su schermi molto piccoli, tienile un filo più compatte */
@media (max-width: 37.5rem) {
  .gallery .gallery-item img {
    width: min(90vw, 22rem);
    aspect-ratio: 16 / 9;
  }
}
/* Base sicura: solo le immagini in .gallery, senza forzare altezze globali */
.gallery img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 1.2rem;
  box-shadow: 0 0.6rem 1.6rem rgba(0,0,0,0.1);
  max-height: none; /* annulla vecchi limiti */
}


/* REFLEXCORE: card uniformi e larghezza elegante */
body[data-page="reflexcore"] .collection-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
}
body[data-page="reflexcore"] .collection-card {
  max-width: clamp(22rem, 90vw, 56rem);
  margin-inline: auto;
}

/* — CHROMALUX 13 — uniforma le immagini e mostra tutta la cornice */
body[data-page="chromalux13"] .gallery img,
body[data-page="chromalux13"] .collection-card img {
  width: 100%;
  aspect-ratio: 16 / 9;   /* box identico per tutte */
  height: 20%;       /* invece di contain */
    /* niente crop: si vede tutta la cornice */
  max-height: none;       /* annulla limiti ereditati */
  background: #fff;       /* “letterbox” pulito attorno all’immagine */
  border-radius: 1.2rem;  /* mantiene lo stile */
  box-shadow: 0 0.6rem 1.6rem rgba(0,0,0,0.1);
}

/* larghezza elegante delle card su chromalux */
body[data-page="chromalux13"] .collection-card {
  max-width: clamp(22rem, 90vw, 56rem);
  margin-inline: auto;
}
.nft-preview {
  margin: 3rem auto;
  text-align: center;
}
.nft-preview h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.4rem, 5vw, 2rem);
  margin-bottom: 1rem;
}
.nft-thumb {
  max-width: 100%;
  width: clamp(15rem, 60vw, 24rem);
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 1.2rem;
  box-shadow: 0 0.6rem 1.2rem rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}
.nft-thumb:hover {
  transform: scale(1.03);
}
.nft-caption {
  font-size: 1rem;
  color: var(--grigio);
  margin-top: 0.5rem;
}
.coin-box {
  perspective: 800px;
  width: 200px; /* regola a piacere */
  margin: 2rem auto;
}
.coin-spin {
  width: 100%;
  border-radius: 50%;
  animation: rotateY 3s linear infinite;
}
@keyframes rotateY {
  from { transform: rotateY(0deg); }
  to { transform: rotateY(360deg); }
}
/* — Fix Galleria su mobile: centra e non far sbordare — */

/* opzionale: su telefoni una sola colonna e padding più stretto */
@media (max-width: 37.5rem) {
  body[data-page="galleria"] .gallery {
    grid-template-columns: 1fr;
  }
}
/* Solo telefoni (max 768px) */
@media (max-width: 48rem) {
  body[data-page="galleria"] .gallery {
    grid-template-columns: 1fr !important;   /* una colonna */
    justify-items: center !important;
    justify-content: center !important;
  }

  body[data-page="galleria"] .gallery-item {
    width: min(100%, 28rem) !important;
    margin-inline: auto !important;
  }

  body[data-page="galleria"] .gallery-item img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 28rem !important;
    margin: 0 auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
  }

  /* Disattiva max-height globale che crea offset */
  .gallery img, img {
    max-height: none !important;
  }
}
/* Uniforma immagini e video nella griglia media */
/* — EVENTI: uniforma media come in chromapulse — */
body[data-page="eventi"] .media-grid {
  max-width: clamp(22rem, 90vw, 56rem);
  margin-inline: auto;
}

/* stesse dimensioni per immagini, video e iframe */
/* Uniforma allineamento immagini e video */
body[data-page="eventi"] .media-grid img,
body[data-page="eventi"] .media-grid video,
body[data-page="eventi"] .media-grid iframe {
  display: block;          /* evita spazi inline */
  vertical-align: top;     /* allinea bene con gli altri */
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  border-radius: 1.2rem;
  box-shadow: 0 0.6rem 1.6rem rgba(0,0,0,0.1);
  background: #fff;
}
/* — Fix allineamento media in Eventi — */
body[data-page="eventi"] .media-grid {
  align-items: start; /* opzionale: assicura l’allineamento in alto */
}

body[data-page="eventi"] .media-grid img,
body[data-page="eventi"] .media-grid video,
body[data-page="eventi"] .media-grid iframe {
  display: block;
  margin: 0 !important;          /* annulla il margin-top:3% globale sulle immagini */
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  border-radius: 1.2rem;
  box-shadow: 0 0.6rem 1.6rem rgba(0,0,0,0.1);
  background: #fff;
}
/* EVENTI — media uniformi */
body[data-page="eventi"] .media-grid img,
body[data-page="eventi"] .media-grid video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  border-radius: 1.2rem;
  box-shadow: 0 8px 18px rgba(0,0,0,.10);
  background:#fff;
  margin: 0;              /* annulla margini ereditati da img globali */
  vertical-align: top;    /* evita “salti” di baseline */
}
/* invece di: .gallery img, img { margin-top: 3%; ... } */
.gallery img { margin-top: 3%; }
body[data-page="eventi"] .media-grid {
  max-width: clamp(22rem, 90vw, 56rem);
  margin-inline: auto;
}
.menu-icon{
  z-index: 9999;
  top: .75rem;
  right: .75rem;
}
@media (max-width: 600px){
  header h1{ margin-top: 2.2rem; } /* un piccolo respiro sotto l’icona */
}
/* EVENTI: fix spacing sotto immagine su telefono */
@media (max-width: 600px) {
  body[data-page="eventi"] .evento-img {
    margin-bottom: 1rem;   /* spazio ridotto */
    max-width: 100%;       /* prende tutta la larghezza */
    text-align: center;    /* centra l'immagine */
  }

  body[data-page="eventi"] .evento-img img {
    margin: 0 auto;        /* annulla margin-top globale */
    display: block;
  }
}
/* EVENTI – elimina spazio enorme sotto l'immagine su telefono */
@media (max-width: 600px) {
  body[data-page="eventi"] .evento-box {
    flex-direction: column;     /* già così, ma lo ribadiamo */
    align-items: stretch;       /* i figli occupano solo il necessario */
    padding: 1rem;              /* un po' più compatto */
    margin: 1rem auto;
  }

  /* annulla il flex-basis:40rem ereditato */
  body[data-page="eventi"] .evento-info,
  body[data-page="eventi"] .evento-img {
    flex: 0 0 auto;             /* niente altezza forzata */
    max-width: 100%;
  }

  body[data-page="eventi"] .evento-img {
    margin-bottom: 1rem;        /* spazio piccolo sotto l’immagine */
    text-align: center;
  }

  body[data-page="eventi"] .evento-img img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;             /* zero margini strani */
  }
}
/* EVENTI – Fix definitivi */
body[data-page="eventi"] .evento-img img,
body[data-page="eventi"] .media-grid img,
body[data-page="eventi"] .media-grid video {
  margin: 0 !important;       /* elimina i margini verticali ereditati */
  display: block;
}

/* Titolo "EVENTI" correttamente posizionato su telefono */
@media (max-width: 600px) {
  body[data-page="eventi"] header h1 {
    margin-top: 2rem;  /* spinge leggermente verso il basso il titolo */
  }
}
/* EVENTI – blocca lo spostamento a destra delle blockquote */
body[data-page="eventi"] .grid {
  justify-items: center;      /* centra le card nel grid */
  align-items: start;
}

/* azzera i margini di default delle <blockquote> */
body[data-page="eventi"] .collection-card {
  margin: 0 !important;       /* rimuove il 40px UA */
  box-sizing: border-box;
  width: 100%;
  max-width: clamp(22rem, 92vw, 40rem); /* larghezza elegante e centrata */
}

/* su telefoni: una colonna, niente overflow orizzontale */
@media (max-width: 600px) {
  body[data-page="eventi"] .grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;     /* evita gap % che crea micro-sbordi */
    overflow-x: hidden;       /* paracadute, in caso di UA strani */
  }
}
.p-mission {
    font-size: 1.1rem;
    color: #444;
}
/* === HOTFIX S23 — CHROMALUX 13 (mobile) === */
@media (max-width: 600px) {
  body[data-page="chromalux13"] .gallery {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    justify-items: center !important;
  }

  body[data-page="chromalux13"] .collection-card {
    width: 100% !important;
    max-width: 28rem !important;
    margin: 0 auto !important;
  }

  body[data-page="chromalux13"] .collection-card img,
  body[data-page="chromalux13"] .gallery img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    object-fit: cover !important;
    margin: 0 !important;
    max-height: none !important;
  }

  /* neutralizza gli effetti delle regole globali sulle img */
  body[data-page="chromalux13"] img {
    max-height: none !important;
    margin-top: 0 !important;
  }
}
/* --- FIX menu a tendina che esce dallo schermo --- */
.nav-links {
  /* già presenti: position: fixed; top: 3.75rem; right: 1.25rem; ... */
  max-height: calc(100dvh - 5rem);   /* usa i dvh moderni per mobile */
  /* fallback per browser senza dvh */
  max-height: calc(100vh - 5rem);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: min(92vw, 15rem);            /* evita che la card sia troppo larga */
  padding-bottom: env(safe-area-inset-bottom, 0); /* iPhone chin */
}

.nav-links li a {
  padding: 12px 20px;                 /* tap target più comodo */
}

/* opzionale: un velo per click-outside (se ti piace l’effetto) */
body.menu-open::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(1px);
  z-index: 997;                       /* sotto al menu (998) */
}
/* --- Scrollbar stile Luxury (ispirazione Gucci) --- */
.nav-links {
  scrollbar-width: thin;
  scrollbar-color: rgba(196,160,64,0.4) transparent; /* oro leggero su sfondo trasparente */
}

/* WebKit (Chrome, Edge, Safari) */
.nav-links::-webkit-scrollbar {
  width: 4px;                  /* sottilissima */
}

.nav-links::-webkit-scrollbar-track {
  background: transparent;      /* nessun fondo */
}

.nav-links::-webkit-scrollbar-thumb {
  background: rgba(196,160,64,0.45); /* oro semi-trasparente */
  border-radius: 20px;
  transition: all 0.3s ease;
}

.nav-links::-webkit-scrollbar-thumb:hover {
  background: rgba(196,160,64,0.75); /* oro più intenso in hover */
  box-shadow: 0 0 6px rgba(196,160,64,0.4); /* glow delicato */
}
.smart-connect-logo {
  text-align: center;
  margin: 2rem auto 2rem;
}

.smart-connect-logo img {
  max-width: 320px;    /* dimensione elegante */
  width: 90%;
  height: auto;
  border-radius: 1.2rem;
  box-shadow: 0 0 18px rgba(196,160,64,0.25); /* glow oro soft */
}
.pricing-note {
  margin: 4rem auto 2rem;
  text-align: center;
  max-width: 800px;
  font-size: 1.15rem;
  color: #111;
  font-family: var(--font-serif);
  border-top: 1px solid #ddd;
  padding-top: 2rem;
}

.pricing-note em {
  color: #333;
  font-style: normal;
}

.pricing-note strong {
  color: var(--oro);
  font-weight: 700;
}

/* Logo nelle collezioni Boutique */
.logo-collection {
  max-width: 260px;    /* ridimensionata in modo elegante */
  width: 80%;
  height: auto;
  margin: 1rem auto;
  display: block;
  border-radius: 0.8rem;
  box-shadow: 0 0 14px rgba(0,0,0,0.25);
}
/* Riduci i margini sopra e sotto l’immagine del logo */
.logo-collection {
  display: block;
  max-width: 30rem;   /* dimensione elegante */
  margin: 0.5rem auto; /* meno spazio sopra e sotto */
}

/* Riduci spaziatura dentro la card */
.collection-card {
  padding: 1.2rem 1rem;     /* meno padding verticale */
}

/* Riduci spazio prima/dopo il titolo e il testo */
.collection-card h3 {
  margin: 0.5rem 0;
}

.collection-card p {
  margin: 0.3rem 0 0.8rem;
}

/* ===== DNA YOUR ART · private pages (scoped) ===== */
:root{
  --nero:#000; --carbone:#0a0a0a; --grafite:#111;
  --avorio:#f3f1ee; --oro:#c4a040; --oro-chiaro:#ffd97a; --oro-scuro:#b98a2b;
}

.page-reserved, .page-login, .page-password {
  background: var(--avorio); color: #2a2a2a;
  min-height: 100dvh;
}

/* Header slim (loader) */
.page-reserved .dnya-reserved-header{
  position: sticky; top:0; z-index: 10;
  background: #fff;
  border-bottom: 1px solid #e8e4dc;
  padding: 12px 18px;
  display:flex; align-items:center; justify-content:space-between;
}
.page-reserved .dnya-brand{
  font-family: "Playfair Display", Georgia, serif;
  color: var(--oro); letter-spacing: .04em; font-weight: 800;
  text-transform: uppercase; font-size: clamp(1rem, 2.2vw, 1.15rem);
}
.page-reserved .dnya-actions{ display:flex; gap:.6rem; }
.dnya-btn{
  appearance:none; border:0; border-radius:999px; cursor:pointer;
  padding:.55rem .95rem; font-weight:700;
  color:#ccc;
  background:#333;
  box-shadow: 0 8px 18px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.25);
}
.dnya-btn.link{ background:transparent; color:var(--oro); box-shadow:none; }

/* Barra di stato + frame */
.page-reserved .dnya-status{
  text-align:center; color:#7a7a7a; padding:.6rem 1rem; min-height:28px;
}
.page-reserved .dnya-status.error{ color:#c94848; }
.page-reserved main{ display:flex; flex-direction:column; min-height: calc(100dvh - 60px); }
.page-reserved .dnya-secure-frame{
  width:100%; flex:1; border:0; background:#fff; min-height:60dvh;
  box-shadow: inset 0 0 0 1px #eee;
}

/* ===== STILE “pagina vetrina” (privata in Storage) ===== */
.page-private {
  background: var(--avorio); color:#2a2a2a;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.page-private .hero{
  max-width: 1120px; margin: 0 auto; padding: 42px 16px 18px;
  text-align: center; border-bottom: 1px solid #e8e4dc;
}
.page-private .hero h1{
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 800; letter-spacing:.02em;
  color:#111; margin: 0 0 .35rem;
  font-size: clamp(2rem, 4.8vw, 3rem);
}
.page-private .hero .subtitle{
  color:#6b6b6b; font-size: clamp(.95rem, 2.2vw, 1.1rem);
  margin-bottom: 24px;
}

.page-private .section{
  max-width: 920px; margin: 26px auto; padding: 0 16px; text-align: center;
}
.page-private .section .section-title{
  font-family: "Playfair Display", Georgia, serif; color:#111;
  font-weight: 800; font-size: clamp(1.4rem, 3.4vw, 2rem);
  margin: 22px 0 12px;
}
.page-private .section p{
  margin: .55rem auto; line-height: 1.7; color:#3b3b3b;
  max-width: 900px;
}

/* Figura con ombra soft e didascalia */
.page-private .figure{
  display:grid; place-items:center; margin: 16px 0 6px;
}
.page-private .figure img{
  width: min(900px, 92vw); height:auto; display:block; background:#fff;
  border-radius: 12px;
  box-shadow: 0 22px 60px rgba(0,0,0,.16);
}
.page-private .caption{
  color:#888; font-size:.9rem; margin-top: .35rem;
}

/* Azioni / social */
.page-private .actions{
  display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center;
  margin: 14px 0 6px;
}
.page-private .btn{
  appearance:none; border:0; border-radius:999px; cursor:pointer;
  padding:.58rem 1rem; font-weight:700; color:#111;
  background: linear-gradient(180deg, var(--oro-chiaro), var(--oro) 55%, var(--oro-scuro));
  text-decoration:none; display:inline-flex; align-items:center; gap:.45rem;
  box-shadow: 0 8px 18px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.25);
}
.page-private .btn.alt{ background:#111; color:#fff; box-shadow:none; }

/* Footer soft */
.page-private .footer{
  max-width: 1120px; margin: 26px auto; padding: 18px 16px 36px; text-align:center;
  border-top: 1px solid #e8e4dc; color:#7a7a7a; font-size:.95rem;
}

@media (max-width: 640px){
  .page-reserved .dnya-reserved-header{ padding:10px 14px; }
  .dnya-btn{ padding:.5rem .85rem; }
}
/* —— login extra polish (scoped) —— */
.page-login .dnya-lockup{ text-align:center; margin-top:.25rem; }
.page-login .dnya-logo{
  font-family: "Playfair Display", Georgia, serif;
  color: var(--oro); font-weight: 900; letter-spacing:.06em;
  text-transform: uppercase; font-size: clamp(1.1rem, 3vw, 1.35rem);
}
.page-login .dnya-subtitle{
  color: #bfbab1; margin:.2rem 0 1rem; font-size: .95rem;
}

.page-login .dnya-input-wrap{
  position: relative; display:flex; align-items:center;
  background:#121212; border-radius:14px; margin:.45rem 0;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}
.page-login .dnya-input-wrap:focus-within{
  box-shadow: 0 0 0 2px rgba(196,160,64,.35);
}
.page-login .dnya-input-icon{
  opacity:.9; margin-left:.8rem; font-size:1rem; color:#d9d5cf;
}
.page-login .dnya-input-wrap input{
  flex:1; background:transparent; border:0; color:var(--avorio);
  padding: .9rem 3.5rem; outline:none;
}
.page-login .dnya-eye{
  position:absolute; right:.35rem; top:50%; transform:translateY(-50%);
  background:transparent; border:0; color:#d9d5cf; cursor:pointer;
  padding:.4rem .5rem; border-radius:10px;
}
.page-login .dnya-eye:hover{ color:#fff; background:#1b1b1b; }

.page-login .dnya-helpers{
  display:flex; justify-content:center; margin:.35rem 0 0;
}
.page-login .dnya-inline-link{
  color: var(--oro); text-decoration:none; font-weight:600;
}
.page-login .dnya-inline-link:hover{ text-decoration:underline; }
/* ===== DNA YOUR ART · LOGIN (scoped su body[data-page="login"]) ===== */
body[data-page="login"]{
  background:#f3f1ee; /* avorio */
  color:#2a2a2a;
  min-height:100dvh;
}

/* Header titolo + sottotitolo */
body[data-page="login"] header{
  text-align:center;
  padding:32px 16px 18px;
  border-bottom:1px solid #e8e4dc;
}
body[data-page="login"] header h1{
  font-family:"Playfair Display", Georgia, serif;
  font-size:clamp(2rem, 4.8vw, 3rem);
  font-weight:800;
  letter-spacing:.02em;
  margin:0 0 .35rem;
  color:#111;
}
body[data-page="login"] header p{
  margin:0 0 12px;
  color:#6f6a62;
  font-size:clamp(.95rem,2.2vw,1.05rem);
}

/* Freccia back */
body[data-page="login"] .back-arrow{
  position:fixed; left:12px; top:14px; z-index:20;
  color:#1e1e1e; font-size:22px; line-height:1;
  text-decoration:none; opacity:.85;
}
body[data-page="login"] .back-arrow:hover{ opacity:1; }

/* Form centrale largo */
body[data-page="login"] .dnya-form{
  width:min(96vw, 720px);
  margin:22px auto 0;
  padding:0 12px;
  display:flex; flex-direction:column; gap:12px;
}

/* Wrapper input “pill” scuro */
body[data-page="login"] .dnya-input-wrap{
  position:relative;
  display:flex; align-items:center;
  background:#2f2f2f; /* grafite scuro */
  border-radius:28px;
  height:54px;
  padding:0 50px 0 44px; /* spazio per icona e eye */
  box-shadow: 0 10px 24px rgba(0,0,0,.14), inset 0 0 0 1px rgba(255,255,255,.05);
}
body[data-page="login"] .dnya-input-wrap input{
  flex:1; border:0; outline:none;
  background:transparent; color:#f3f1ee; /* avorio */
  font-size:1rem;
}
body[data-page="login"] .dnya-input-wrap:focus-within{
  box-shadow: 0 0 0 2px rgba(196,160,64,.35), 0 10px 24px rgba(0,0,0,.14);
}

/* Icona a sinistra + eye a destra */
body[data-page="login"] .dnya-input-icon{
  position:absolute; left:14px; font-size:15px; color:#d8d2c9; pointer-events:none;
}
body[data-page="login"] .dnya-eye{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  border:0; background:transparent; color:#d8d2c9;
  cursor:pointer; padding:.45rem .55rem; border-radius:12px;
}
body[data-page="login"] .dnya-eye:hover{ color:#fff; background:#222; }

/* Bottone oro largo */
body[data-page="login"] #loginBtn.dnya-btn{
  width:min(96vw, 680px);
  margin:6px auto 0;
  border-radius:28px;
  padding:.8rem 1.2rem;
  color:#eee;
  background-color: #222;
}
body[data-page="login"] #loginBtn.dnya-btn:disabled{
  filter:saturate(.6) brightness(.92);
  cursor:not-allowed;
}

/* Link helper */
body[data-page="login"] .dnya-helpers{
  text-align:center; margin:.35rem 0 0;
}
body[data-page="login"] .dnya-inline-link{
  color:#c4a040; text-decoration:none; font-weight:600;
}
body[data-page="login"] .dnya-inline-link:hover{ text-decoration:underline; }

/* Messaggi di stato */
body[data-page="login"] .dnya-msg{
  min-height:1.2rem; text-align:center;
  color:#333; margin-top:6px;
}

/* Footer soft */
body[data-page="login"] footer{
  max-width:1120px; margin:36px auto 20px; padding:18px 16px 0;
  text-align:center; color:#8a847b;
  border-top:1px solid #e8e4dc;
  font-size:.95rem;
}

/* Responsive rifinitura */
@media (max-width:640px){
  body[data-page="login"] .dnya-form{ width: min(95vw, 520px); }
  body[data-page="login"] .dnya-input-wrap{ height:52px; }
  body[data-page="login"] #loginBtn.dnya-btn{ width: min(95vw, 520px); }
}
/* ===== DNA YOUR ART · PASSWORD (scoped su body[data-page="password"]) ===== */
body[data-page="password"]{
  background:#f3f1ee; /* avorio */
  color:#2a2a2a;
  min-height:100dvh;
}

/* Header */
body[data-page="password"] header{
  text-align:center;
  padding:32px 16px 18px;
  border-bottom:1px solid #e8e4dc;
}
body[data-page="password"] header h1{
  font-family:"Playfair Display", Georgia, serif;
  font-size:clamp(2rem, 4.8vw, 3rem);
  font-weight:800;
  letter-spacing:.02em;
  margin:0 0 .35rem;
  color:#111;
}
body[data-page="password"] header p{
  margin:0 0 12px;
  color:#6f6a62;
  font-size:clamp(.95rem,2.2vw,1.05rem);
}

/* Freccia back */
body[data-page="password"] .back-arrow{
  position:fixed; left:12px; top:14px; z-index:20;
  color:#1e1e1e; font-size:22px; line-height:1;
  text-decoration:none; opacity:.85;
}
body[data-page="password"] .back-arrow:hover{ opacity:1; }

/* Form largo centrato */
body[data-page="password"] .dnya-form{
  width:min(96vw, 720px);
  margin:22px auto 0;
  padding:0 12px;
  display:flex; flex-direction:column; gap:12px;
}

/* Pill scura per input */
body[data-page="password"] .dnya-input-wrap{
  position:relative;
  display:flex; align-items:center;
  background:#2f2f2f;
  border-radius:28px;
  height:54px;
  padding:0 50px 0 44px;
  box-shadow: 0 10px 24px rgba(0,0,0,.14), inset 0 0 0 1px rgba(255,255,255,.05);
}
body[data-page="password"] .dnya-input-wrap input{
  flex:1; border:0; outline:none;
  background:transparent; color:#f3f1ee;
  font-size:1rem;
}
body[data-page="password"] .dnya-input-wrap:focus-within{
  box-shadow: 0 0 0 2px rgba(196,160,64,.35), 0 10px 24px rgba(0,0,0,.14);
}

/* Icone & occhi */
body[data-page="password"] .dnya-input-icon{
  position:absolute; left:14px; font-size:15px; color:#d8d2c9; pointer-events:none;
}
body[data-page="password"] .dnya-eye{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  border:0; background:transparent; color:#d8d2c9;
  cursor:pointer; padding:.45rem .55rem; border-radius:12px;
}
body[data-page="password"] .dnya-eye:hover{ color:#fff; background:#222; }

/* Bottone oro */
body[data-page="password"] #saveBtn.dnya-btn{
  width:min(96vw, 680px);
  margin:6px auto 0;
  border-radius:28px;
  padding:.8rem 1.2rem;
  color:#111;
  background:linear-gradient(180deg, #ffd97a, #c4a040 55%, #b98a2b);
  box-shadow: 0 12px 28px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.28);
}
body[data-page="password"] #saveBtn.dnya-btn:disabled{
  filter:saturate(.6) brightness(.92);
  cursor:not-allowed;
}

/* Helper + messaggi */
body[data-page="password"] .dnya-helpers{
  text-align:center; margin:.35rem 0 0;
}
body[data-page="password"] .dnya-inline-link{
  color:#c4a040; text-decoration:none; font-weight:600;
}
body[data-page="password"] .dnya-inline-link:hover{ text-decoration:underline; }
body[data-page="password"] .dnya-msg{
  min-height:1.2rem; text-align:center;
  color:#333; margin-top:6px;
}

/* Footer se presente */
body[data-page="password"] footer{
  max-width:1120px; margin:36px auto 20px; padding:18px 16px 0;
  text-align:center; color:#8a847b;
  border-top:1px solid #e8e4dc;
  font-size:.95rem;
}

/* Responsive */
@media (max-width:640px){
  body[data-page="password"] .dnya-form{ width: min(95vw, 520px); }
  body[data-page="password"] .dnya-input-wrap{ height:52px; }
  body[data-page="password"] #saveBtn.dnya-btn{ width: min(95vw, 520px); }
}
/* ===== RESERVED – card luxury (scoped) ===== */
body[data-page="reserved"] .reserved-card{
  max-width: 1140px;
  margin: 16px auto 28px;
  padding: 0 16px;
}
body[data-page="reserved"] .reserved-card__head{
  display:flex; align-items:baseline; justify-content:space-between; gap:10px;
  padding: 10px 2px 8px;
}
body[data-page="reserved"] .reserved-card__title{
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 800; letter-spacing:.02em; color:#111;
  font-size: clamp(1.25rem, 3.2vw, 1.6rem);
}
body[data-page="reserved"] .reserved-card__subtitle{
  color:#6b6b6b; font-size: .98rem;
}

body[data-page="reserved"] .reserved-card__frame{
  background:#fff;
  border-radius: 18px;
  box-shadow:
    0 22px 50px rgba(0,0,0,.14),
    inset 0 0 0 1px #e8e4dc,
    inset 0 0 0 3px rgba(196,160,64,.08);
  overflow: hidden;
}

/* Footer coerente con il resto del sito */
body[data-page="reserved"] .reserved-footer{
  max-width:1120px; margin: 8px auto 24px; padding: 14px 16px 0;
  text-align:center; color:#8a847b; font-size:.95rem;
  border-top:1px solid #e8e4dc;
}

/* Stato error/success (riusa palette già definita) */
body[data-page="reserved"] .dnya-status{ color:#7a7a7a; }
body[data-page="reserved"] .dnya-status.error{ color:#c94848; }


/* ===== Pagina PRIVATA (generica per utenti) ===== */
body[data-page="private"]{
  background:#f3f1ee; color:#2a2a2a;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

body[data-page="private"] .hero{
  max-width:1120px; margin:0 auto; padding:42px 16px 18px; text-align:center;
  border-bottom:1px solid #e8e4dc;
}
body[data-page="private"] .hero h1{
  font-family:"Playfair Display", Georgia, serif;
  font-weight:800; letter-spacing:.02em; color:#111;
  font-size:clamp(2rem,4.8vw,3rem); margin:0 0 .35rem;
}
body[data-page="private"] .hero .subtitle{
  color:#6b6b6b; font-size:clamp(.95rem,2.2vw,1.1rem); margin-bottom:24px;
}

body[data-page="private"] .section{
  max-width:920px; margin:26px auto; padding:0 16px; text-align:center;
}
body[data-page="private"] .section .section-title{
  font-family:"Playfair Display", Georgia, serif; color:#111;
  font-weight:800; font-size:clamp(1.4rem,3.4vw,2rem); margin:22px 0 12px;
}
body[data-page="private"] .section p{
  margin:.55rem auto; line-height:1.7; color:#3b3b3b; max-width:900px;
}

body[data-page="private"] .figure{ display:grid; place-items:center; margin:16px 0 6px; }
body[data-page="private"] .figure img{
  width:min(900px,92vw); height:auto; display:block; background:#fff; border-radius:12px;
  box-shadow:0 22px 60px rgba(0,0,0,.16);
}
body[data-page="private"] .caption{ color:#888; font-size:.9rem; margin-top:.35rem; }

body[data-page="private"] .actions{
  display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center; margin:14px 0 6px;
}
body[data-page="private"] .btn{
  appearance:none; border:0; border-radius:999px; cursor:pointer;
  padding:.58rem 1rem; font-weight:700; color:#111;
  background:linear-gradient(180deg,#ffd97a,#c4a040 55%,#b98a2b);
  text-decoration:none; display:inline-flex; align-items:center; gap:.45rem;
  box-shadow:0 8px 18px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.25);
}
body[data-page="private"] .btn.alt{ background:#111; color:#fff; box-shadow:none; }

body[data-page="private"] .footer{
  max-width:1120px; margin:26px auto; padding:18px 16px 36px; text-align:center;
  border-top:1px solid #e8e4dc; color:#7a7a7a; font-size:.95rem;
}
/* —— RESERVED polished (scoped) —— */
body[data-page="reserved"]{
  background:#f3f1ee; color:#2a2a2a;
  min-height:100dvh; display:flex; flex-direction:column;
}

body[data-page="reserved"] .dnya-reserved-header{
  position:sticky; top:0; z-index:10;
  background:#fff;
  border-bottom:1px solid #e8e4dc;
  padding:12px 18px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
body[data-page="reserved"] .dnya-brand{
  font-family:"Playfair Display", Georgia, serif;
  color:#c4a040; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
  font-size:clamp(1rem,2.2vw,1.15rem);
}
body[data-page="reserved"] .dnya-actions{ display:flex; gap:.6rem; }
body[data-page="reserved"] .dnya-btn{
  appearance:none; border:0; border-radius:999px; cursor:pointer;
  padding:.55rem .95rem; font-weight:700; color:#111;
  background:linear-gradient(180deg,#ffd97a,#c4a040 55%,#b98a2b);
  box-shadow:0 8px 18px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.25);
}
body[data-page="reserved"] .dnya-btn.link{ background:transparent; color:#c4a040; box-shadow:none; }

body[data-page="reserved"] .dnya-status{
  text-align:center; color:#7a7a7a; padding:.6rem 1rem; min-height:28px;
}
body[data-page="reserved"] main{ display:flex; flex-direction:column; }

body[data-page="reserved"] .reserved-card{
  max-width:1200px; margin: 8px auto 24px; padding: 0 16px;
}
body[data-page="reserved"] .reserved-card__head{
  display:flex; align-items:baseline; justify-content:space-between; gap:10px;
  padding:10px 2px 8px;
}
body[data-page="reserved"] .reserved-card__title{
  font-family:"Playfair Display", Georgia, serif;
  font-weight:800; letter-spacing:.02em; color:#111;
  font-size:clamp(1.2rem, 3vw, 1.6rem); margin:0;
}
body[data-page="reserved"] .reserved-card__subtitle{ color:#6b6b6b; font-size:.98rem; }

body[data-page="reserved"] .reserved-card__frame{
  background:#fff; border-radius:18px;
  box-shadow:
    0 22px 50px rgba(0,0,0,.14),
    inset 0 0 0 1px #e8e4dc,
    inset 0 0 0 3px rgba(196,160,64,.08);
  overflow:hidden;
  padding:0;  /* niente padding, l’iframe occupa tutto */
}

/* iframe piena larghezza, altezza gestita via JS */
body[data-page="reserved"] .dnya-secure-frame{
  display:block; width:100%; border:0; opacity:0;
}

/* footer coerente */
body[data-page="reserved"] .reserved-footer{
  max-width:1120px; margin: 8px auto 24px; padding: 14px 16px 0;
  text-align:center; color:#8a847b; font-size:.95rem;
  border-top:1px solid #e8e4dc;
}
/* ——— Login: miglior posizionamento occhio password ——— */
body[data-page="login"] .dnya-input-wrap {
  position: relative;
}

body[data-page="login"] .dnya-input-wrap input[type="password"],
body[data-page="login"] .dnya-input-wrap input#password {
  padding-right: 3rem;              /* spazio per l’occhio */
}

body[data-page="login"] .dnya-eye {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;                      /* target comodo su mobile */
  height: 36px;
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 1;
  font-size: 1rem;
  opacity: .85;
  transition: opacity .2s ease, transform .2s ease;
}

body[data-page="login"] .dnya-eye:hover,
body[data-page="login"] .dnya-eye:focus-visible {
  opacity: 1;
  outline: none;
  transform: translateY(-50%) scale(1.05);
}
/* Fix occhio password: niente pill, solo icona */
body[data-page="login"] .dnya-eye {
  all: unset;                     /* resetta stile ereditato da altri bottoni */
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  cursor: pointer;
  font-size: 1.1rem;
  color: var(--oro);              /* usa oro come le icone */
  opacity: 0.8;
}

body[data-page="login"] .dnya-eye:hover {
  opacity: 1;
}
/* Occhio: resetta stile “pill” e centratura dentro l’input */
body[data-page="login"] .dnya-input-wrap { position: relative; }

body[data-page="login"] .dnya-input-wrap input {
  /* padding anche quando il JS cambia type=password <-> text */
  padding-right: 3rem;
}

body[data-page="login"] .dnya-eye {
  all: unset;                 /* annulla background/border ereditati */
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  cursor: pointer;
  font-size: 1.05rem;         /* dimensione icona */
  line-height: 1;
  opacity: .85;
}

body[data-page="login"] .dnya-eye:hover,
body[data-page="login"] .dnya-eye:focus-visible {
  opacity: 1;
  outline: none;
}
/* Nasconde l'occhio nativo di Edge dentro gli input password */
body[data-page="login"] input[type="password"]::-ms-reveal,
body[data-page="login"] input[type="password"]::-ms-clear {
  display: none;
}

/* (già fatto prima) occhio custom allineato a destra */
body[data-page="login"] .dnya-input-wrap { position: relative; }
body[data-page="login"] .dnya-input-wrap input { padding-right: 3rem; }
body[data-page="login"] .dnya-eye {
  all: unset;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  cursor: pointer;
  font-size: 1.05rem;
  line-height: 1;
  opacity: .85;
}
body[data-page="login"] .dnya-eye:hover,
body[data-page="login"] .dnya-eye:focus-visible { opacity: 1; outline: none; }
/* --- Occhio password: sempre cliccabile e sopra all'input --- */
body[data-page="login"] .dnya-input-wrap { position: relative; }

body[data-page="login"] .dnya-input-wrap input {
  padding-right: 3rem;      /* spazio per l’occhio */
  position: relative;
  z-index: 1;               /* sotto al bottone */
}

/* nascondi icone native (Edge, Safari/Chrome autofill button) */
body[data-page="login"] input[type="password"]::-ms-reveal,
body[data-page="login"] input[type="password"]::-ms-clear {
  display: none;
}
body[data-page="login"] input::-webkit-credentials-auto-fill-button {
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
}

/* bottone occhio */
body[data-page="login"] .dnya-eye {
  all: unset;                       /* niente pill */
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  display: grid;                    /* centro perfetto */
  place-items: center;
  width: 36px;                      /* area tap comoda */
  height: 36px;
  cursor: pointer;
  z-index: 3;                       /* sopra all’input */
  line-height: 1;
  opacity: .9;
}
body[data-page="login"] .dnya-eye:hover,
body[data-page="login"] .dnya-eye:focus-visible {
  opacity: 1;
  outline: none;
}
/* — Occhio password: posizionato, cliccabile e senza doppioni — */
.page-login .dnya-input-wrap,
body[data-page="login"] .dnya-input-wrap {
  position: relative;
}

.page-login .dnya-input-wrap input,
body[data-page="login"] .dnya-input-wrap input {
  padding-right: 3rem;          /* spazio per l’occhio */
  position: relative;
  z-index: 1;                   /* sotto all’occhio */
}

/* nascondi icone native (Edge/Chrome) che creano il “secondo occhio” */
.page-login input[type="password"]::-ms-reveal,
.page-login input[type="password"]::-ms-clear,
body[data-page="login"] input[type="password"]::-ms-reveal,
body[data-page="login"] input[type="password"]::-ms-clear {
  display: none;
}
.page-login input::-webkit-credentials-auto-fill-button,
body[data-page="login"] input::-webkit-credentials-auto-fill-button {
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
}

/* occhio custom */
.page-login .dnya-eye,
body[data-page="login"] .dnya-eye {
  all: unset;                       /* niente stile “bottone” */
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 36px;                      /* area tap comoda */
  height: 36px;
  cursor: pointer;
  z-index: 3;                       /* sopra all’input */
  line-height: 1;
  font-size: 1.05rem;               /* 👁️/🙈 leggibili */
  color: #d9d5cf;
  opacity: .9;
}
.page-login .dnya-eye:hover,
body[data-page="login"] .dnya-eye:focus-visible {
  opacity: 1;
  outline: none;
  background: #1b1b1b;
  border-radius: 10px;
}
/* Pulsante ENTRA più grande e con più presenza */
body[data-page="login"] #loginBtn {
  width: 100%;
  max-width: 320px;          /* non esagerare su schermi grandi */
  font-size: 1.15rem;        /* più leggibile */
  padding: 1rem 1.5rem;      /* area ampia di click */
  border-radius: 12px;       /* più elegante */
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

/* Ridurre vuoti verticali del form */
body[data-page="login"] .dnya-form {
  margin-top: 1.5rem;        /* meno spazio sotto l’header */
  margin-bottom: 2rem;       /* meno spazio sopra il footer */
}

/* Inputs più compatti e coerenti */
body[data-page="login"] .dnya-input-wrap {
  margin-bottom: 0.9rem;     /* prima era più largo */
}
/* Smartphone piccoli */
@media (max-width: 480px) {
  body[data-page="login"] .dnya-form {
    width: 100%;
    max-width: 95%;
    margin: 1rem auto;
    padding: 0 0.5rem;
  }

  body[data-page="login"] .dnya-input-wrap input {
    font-size: 1rem;
    padding: 0.8rem 1rem;
  }

  body[data-page="login"] #loginBtn {
    width: 100%;
    max-width: 100%;
    font-size: 1rem;
    padding: 0.9rem;
  }
}

/* Tablet */
@media (min-width: 481px) and (max-width: 768px) {
  body[data-page="login"] .dnya-form {
    max-width: 420px;
    margin: 1.5rem auto;
  }

  body[data-page="login"] .dnya-input-wrap input {
    font-size: 1.05rem;
    padding: 0.9rem 1.2rem;
  }

  body[data-page="login"] #loginBtn {
    max-width: 280px;
    font-size: 1.1rem;
    padding: 1rem;
  }
}
body[data-page="login"] .dnya-input-wrap input {
  line-height: 1.4;          /* testo più centrato verticalmente */
  display: flex;
  align-items: center;
}
/* Smartphone piccoli */
@media (max-width: 480px) {
  body[data-page="login"] .dnya-form {
    width: 100%;
    max-width: 95%;
    margin: 1rem auto;
    padding: 0 0.5rem;
  }

  body[data-page="login"] .dnya-input-wrap input {
    font-size: 1rem;
    padding: 0.8rem 1rem;
  }

  body[data-page="login"] #loginBtn {
    width: 100%;
    max-width: 100%;
    font-size: 1rem;
    padding: 0.9rem;
  }
}

/* Tablet */
@media (min-width: 481px) and (max-width: 768px) {
  body[data-page="login"] .dnya-form {
    max-width: 420px;
    margin: 1.5rem auto;
  }

  body[data-page="login"] .dnya-input-wrap input {
    font-size: 1.05rem;
    padding: 0.9rem 1.2rem;
  }

  body[data-page="login"] #loginBtn {
    max-width: 280px;
    font-size: 1.1rem;
    padding: 1rem;
  }
}
/* — Inputs: stato normale coerente con la pill nera — */
body[data-page="login"] .dnya-input-wrap input{
  background:#2b2b2b;
  color:#e9e6e1;
  border:1px solid rgba(0,0,0,.35);
  border-radius:999px;
  caret-color:#e9e6e1;
  text-align:center;           /* placeholder centrato */
  padding-right:3rem;          /* spazio occhio */
}

/* Quando c'è contenuto (digitato o incollato), riallinea a sinistra */
body[data-page="login"] .dnya-input-wrap input:not(:placeholder-shown){
  text-align:left;
}

/* Placeholder più elegante */
body[data-page="login"] .dnya-input-wrap input::placeholder{
  color:#a9a6a1;
  opacity:.9;
}

/* — AUTOFILL Chrome/Edge/Safari (rimuove giallo/azzurro) — */
body[data-page="login"] input:-webkit-autofill,
body[data-page="login"] input:-webkit-autofill:hover,
body[data-page="login"] input:-webkit-autofill:focus{
  -webkit-text-fill-color:#e9e6e1 !important;
  caret-color:#e9e6e1;
  /* “vernicia” lo sfondo azzurrino con il nero soft della pill */
  -webkit-box-shadow:0 0 0 1000px #2b2b2b inset !important;
  box-shadow:0 0 0 1000px #2b2b2b inset !important;
  border:1px solid rgba(0,0,0,.35) !important;
  text-align:left;             /* con dati salvati → testo a sinistra */
}

/* iOS Safari: evita glow giallo */
@supports (-webkit-touch-callout: none){
  body[data-page="login"] input:-webkit-autofill{
    transition:background-color 9999s ease-out, color 9999s ease-out;
  }
}

/* — Occhio: resta cliccabile sopra all'input — */
body[data-page="login"] .dnya-input-wrap{ position:relative; }
body[data-page="login"] .dnya-eye{
  all:unset;
  position:absolute; top:50%; right:12px; transform:translateY(-50%);
  width:36px; height:36px; display:grid; place-items:center;
  cursor:pointer; z-index:3; line-height:1; opacity:.9;
}
body[data-page="login"] .dnya-eye:hover{ opacity:1; }

/* Nasconde l'occhio nativo Edge */
body[data-page="login"] input[type="password"]::-ms-reveal,
body[data-page="login"] input[type="password"]::-ms-clear{ display:none; }
/* —— LOGIN: togli tutti i bordi degli input —— */
body[data-page="login"] .dnya-input-wrap{
  /* rimuove il filetto interno */
  box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
  border: none !important;
}
body[data-page="login"] .dnya-input-wrap:focus-within{
  /* niente anello di contorno; solo glow morbido */
  box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
}

/* input “pulito” */
body[data-page="login"] .dnya-input-wrap input{
  background: transparent !important;
  border: none !important;
  outline: none !important;
}

/* Autofill (Chrome/Edge/Safari): niente bordo, niente azzurrino */
body[data-page="login"] input:-webkit-autofill,
body[data-page="login"] input:-webkit-autofill:hover,
body[data-page="login"] input:-webkit-autofill:focus{
  -webkit-text-fill-color: #e9e6e1 !important;
  -webkit-box-shadow: 0 0 0 1000px #2f2f2f inset !important; /* solo sfondo scuro */
  box-shadow: 0 0 0 1000px #2f2f2f inset !important;
  border: none !important;
}
/* ——— LOGIN: pill pulite, senza bordi interni ——— */
.page-login .dnya-input-wrap,
body[data-page="login"] .dnya-input-wrap{
  /* niente filetto interno */
  box-shadow: 0 10px 24px rgba(0,0,0,.14) !important; /* solo drop shadow */
  border: none !important;
}
.page-login .dnya-input-wrap:focus-within,
body[data-page="login"] .dnya-input-wrap:focus-within{
  /* se vuoi un accenno oro quando attivi il campo */
  box-shadow: 0 0 0 2px rgba(196,160,64,.28), 0 12px 28px rgba(0,0,0,.18) !important;
}

/* input “flat”: niente bordi/outline, testo a sinistra */
.page-login .dnya-input-wrap input,
body[data-page="login"] .dnya-input-wrap input{
  background: transparent !important;
  border: none !important;
  outline: none !important;
  text-align: center !important;      /* placeholder e testo sempre a sinistra */
  padding-right: 3rem;              /* spazio per l’occhio */
  color: #e9e6e1;
}

/* placeholder elegante */
.page-login .dnya-input-wrap input::placeholder,
body[data-page="login"] .dnya-input-wrap input::placeholder{
  color: #a9a6a1;
  opacity: .9;
}

/* AUTOFILL (Chrome/Edge/Safari): niente azzurrino, niente bordo */
.page-login input:-webkit-autofill,
.page-login input:-webkit-autofill:hover,
.page-login input:-webkit-autofill:focus,
body[data-page="login"] input:-webkit-autofill,
body[data-page="login"] input:-webkit-autofill:hover,
body[data-page="login"] input:-webkit-autofill:focus{
  -webkit-text-fill-color: #e9e6e1 !important;
  -webkit-box-shadow: 0 0 0 1000px #2f2f2f inset !important; /* colora come la pill */
  box-shadow: 0 0 0 1000px #2f2f2f inset !important;
  border: none !important;
}

/* Occhio: sempre cliccabile e sopra all’input */
.page-login .dnya-eye,
body[data-page="login"] .dnya-eye{
  all: unset;
  position: absolute; top: 50%; right: 12px; transform: translateY(-50%);
  width: 36px; height: 36px; display: grid; place-items: center;
  cursor: pointer; z-index: 3; line-height: 1; opacity: .9;
}
.page-login .dnya-eye:hover,
body[data-page="login"] .dnya-eye:hover{ opacity: 1; }

/* Nascondi l’occhio nativo di Edge */
.page-login input[type="password"]::-ms-reveal,
.page-login input[type="password"]::-ms-clear,
body[data-page="login"] input[type="password"]::-ms-reveal,
body[data-page="login"] input[type="password"]::-ms-clear{ display:none; }
/* —— LOGIN: piccolo bordo bianco sulle pill —— */
.page-login .dnya-input-wrap,
body[data-page="login"] .dnya-input-wrap{
  border: 1px solid rgba(255,255,255,0.18) !important; /* hairline bianco */
  border-radius: 999px;                                  /* pill perfetta */
  box-shadow: 0 10px 24px rgba(0,0,0,.14);               /* drop morbido */
  background: #2f2f2f;                                   /* scuro uniforme */
}

/* Focus: leggermente più visibile (sempre bianco) */
.page-login .dnya-input-wrap:focus-within,
body[data-page="login"] .dnya-input-wrap:focus-within{
  border-color: rgba(255,255,255,0.32) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}

/* Input interni: nessun bordo/outline che tagli la pill */
.page-login .dnya-input-wrap input,
body[data-page="login"] .dnya-input-wrap input{
  border: none !important;
  outline: none !important;
  background: transparent !important;
}

/* Autofill: mantieni sfondo scuro, non toccare il bordo del wrapper */
.page-login input:-webkit-autofill,
.page-login input:-webkit-autofill:hover,
.page-login input:-webkit-autofill:focus,
body[data-page="login"] input:-webkit-autofill,
body[data-page="login"] input:-webkit-autofill:hover,
body[data-page="login"] input:-webkit-autofill:focus{
  -webkit-text-fill-color:#e9e6e1 !important;
  -webkit-box-shadow:0 0 0 1000px #2f2f2f inset !important;
          box-shadow:0 0 0 1000px #2f2f2f inset !important;
}
/* Contenitore del frame riservato */
.page-reserved .dnya-frame-wrap{ width:100%; max-width:1120px; padding:8px; margin:0 auto; }
.page-reserved .dnya-secure-frame{
  width:100%;
  height:clamp(62vh, 76vh, 900px);
  border:0; border-radius:18px;
  background:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.12), inset 0 0 0 1px rgba(196,160,64,.25);
}
@media (max-width: 640px){
  .page-reserved .dnya-secure-frame{ height:78vh; border-radius:14px; }
}
/* Status */
.dnya-status{ text-align:center; margin:10px auto 0; opacity:.85; }
.dnya-status.error{ color: #b84a4a; }
/* Già coerenti con dnayourart.com: */
.page-reserved .dnya-reserved-header{
  position:sticky;top:0;z-index:10;background:#fff;
  border-bottom:1px solid #e8e4dc;padding:12px 18px;
  display:flex;align-items:center;justify-content:space-between;
}
.page-reserved .dnya-brand{
  font-family: "Playfair Display", serif; font-weight:800; letter-spacing:.04em;
  color: var(--oro); text-transform:uppercase; font-size: clamp(1rem,2.2vw,1.15rem);
}
.page-reserved .dnya-secure-frame{
  width:100%; min-height:60dvh; border:0; background:#fff;
  border-radius:18px;
  box-shadow:0 18px 50px rgba(0,0,0,.12), inset 0 0 0 1px rgba(196,160,64,.25);
}
@media (max-width:640px){
  .page-reserved .dnya-secure-frame{ height:78vh; border-radius:14px; }
}
/* Azioni rapide in alto a destra (aderenti allo stile .btn) */
.dnya-quick-actions{
  position: fixed;
  top: 14px;
  right: 14px;
  display: flex;
  gap: .6rem;
  z-index: 1000;
}

/* Contenitore frame: larghezze eleganti come le altre sezioni */
.dnya-frame-wrap{
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}

/* Altezza comoda del frame (il resto dello stile viene da .dnya-secure-frame già presente) */
.page-reserved .dnya-secure-frame{
  width: 100%;
  height: clamp(62vh, 76vh, 900px);
  border: 0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(0,0,0,.12), inset 0 0 0 1px rgba(196,160,64,.25);
}

@media (max-width: 640px){
  .dnya-quick-actions{ right: 10px; top: 10px; }
  .page-reserved .dnya-secure-frame{ height: 78vh; border-radius: 14px; }
}
/* --- Area personale: toolbar azioni dentro il flusso, niente giallo --- */
.dnya-quick-actions{
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  justify-content: flex-end;
  gap: .75rem;
}

/* Bottoni DNA Your Art (neutri) */
.dnya-quick-actions .btn{
  border-radius: 999px;
  padding: .75rem 1.1rem;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
  border: 1px solid transparent;
}

.dnya-quick-actions .btn:active{ transform: translateY(1px); }

/* Variante chiara (ex “Cambia password”) */
.dnya-quick-actions .btn-ghost{
  background: #ffffff;
  color: #111;
  border-color: #e8e4dc;
}
.dnya-quick-actions .btn-ghost:hover{ 
  background: #f7f4ef;
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
}

/* Variante scura (ex “Logout”) */
.dnya-quick-actions .btn-dark{
  background: #111; 
  color: #fff;
  border-color: #000;
}
.dnya-quick-actions .btn-dark:hover{
  background: #000;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}

/* Spaziature sezione titolo+stato coerenti */
.page-reserved section > h2 + #status,
.page-reserved #status{
  margin-top: .25rem;
}

/* Responsive */
@media (max-width: 768px){
  .dnya-quick-actions{
    padding: 0 1rem;
  }
  .dnya-quick-actions .btn{
    padding: .7rem 1rem;
    font-weight: 700;
  }
}

@media (max-width: 560px){
  .dnya-quick-actions{
    flex-direction: column;
    align-items: stretch;
    gap: .5rem;
  }
  .dnya-quick-actions .btn{
    width: 100%;
    text-align: center;
  }
}
.page-reserved #status{
  text-align: center;
  color: #9b9b9b;
  margin-bottom: .75rem;
}
/* === Toolbar azioni area personale === */
.dnya-toolbar{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:.75rem;
}

/* Chip neutri (white / outline dark), senza giallo */
.dnya-toolbar .btn-chip{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.7rem 1.05rem;
  border-radius:999px;
  font-weight:800;
  letter-spacing:.02em;
  font-size:.95rem;
  border:1px solid #e8e4dc;
  background:#fff;
  color:#111;
  box-shadow:0 6px 16px rgba(0,0,0,.10);
  transition:background-color .15s ease, color .15s ease,
             border-color .15s ease, box-shadow .15s ease, transform .1s ease;
}

.dnya-toolbar .btn-chip:hover{ 
  background:#f7f4ef;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}

.dnya-toolbar .btn-chip:active{ transform:translateY(1px); }

/* Variante outline scura (Logout) */
.dnya-toolbar .btn-outline{
  background:transparent;
  color:#111;
  border-color:#111;
  box-shadow:none;
}
.dnya-toolbar .btn-outline:hover{
  background:#111;
  color:#fff;
  border-color:#111;
}

/* Icone: allineamento fine */
.dnya-toolbar .btn-chip i{ font-size:.95rem; line-height:1; }

/* Stato "Verifica accesso..." più compatto */
.page-reserved #status{
  text-align:center;
  color:#9b9b9b;
  margin:.25rem 0 .25rem;
}

/* Responsive */
@media (max-width: 640px){
  .dnya-toolbar{ 
    flex-direction:column;
    align-items:stretch;
    padding:0 1rem;
  }
  .dnya-toolbar .btn-chip{
    width:100%;
    justify-content:center;
    font-weight:700;
  }
}
/* === Icon-only buttons (neutri, stile DNAYA) === */
.icon-btn{
  all: unset;
  position: fixed;
  z-index: 1100;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #ffffff;
  color: #111;
  border: 1px solid #e8e4dc;
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease,
              border-color .15s ease, box-shadow .15s ease, transform .12s ease;
  /* evita selezioni/tooltip strani su long-press mobile */
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}
.icon-btn:hover{ background:#f7f4ef; box-shadow:0 12px 28px rgba(0,0,0,.18); transform: translateY(-1px); }
.icon-btn:active{ transform: translateY(0); }
.icon-btn i{ font-size: 1rem; line-height: 1; }

/* Logout: in alto a destra, a sinistra dell’hamburger (3 trattini) */
.logout-icon{
  top: 14px;
  /* lascia spazio all'hamburger che sta allineato a destra ~16px, largo ~44px */
  right: 66px; /* 16px (margine) + 44px (menu) + 6px gap */
}

/* Chiave: floating in basso a destra */
.fab-key{
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  right: 16px;
}

/* Variante dark on hover per feedback deciso */
.logout-icon:hover{ background:#111; color:#fff; border-color:#111; }
.fab-key:hover{ background:#111; color:#fff; border-color:#111; }

/* Mobile tuning */
@media (max-width: 640px){
  .icon-btn{ width: 46px; height: 46px; }
  .logout-icon{ top: 10px; right: 62px; }
  .fab-key{ bottom: calc(12px + env(safe-area-inset-bottom, 0px)); right: 12px; }
}
/* Iframe: occupa sempre almeno gran parte della viewport */
.page-reserved .dnya-secure-frame{
  width: 100%;
  min-height: 72vh;   /* puoi portarlo a 78vh se vuoi più pieno */
  border: 0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(0,0,0,.12), inset 0 0 0 1px rgba(196,160,64,.25);
}

/*FINE CSS*/