/* 🎨 Variabili Colori */
:root {
/* Neutri */
--color-background: #F9FAFB;
--color-text-primary: #1F2937;
--color-text-dark: #000000;
--color-gray-light: #E5E7EB;
--color-gray-dark: #4B5563;
--color-white: #ffffff;

/* Accenti */
--color-accent-indigo: #6366F1;
--color-accent-pink: #EC4899;
--color-accent-yellow: #FBBF24;
--color-accent-green: #10B981;

/* Navbar/Footer */
--color-navbar: #000;
--color-footer: #000;
}


/* 🔤 Tipografia e base */
body {
  font-family: 'Open Sans', sans-serif;
  background-color: var(--color-background);
  color: var(--color-text-primary);
}

h1,
h2,
h3 {
  font-family: 'Roboto', sans-serif;
  color: var(--color-text-primary);
}

p {margin-bottom: 0;}

a {
  color: rgb(76 147 176);
  position: relative;
  text-decoration: none; /* rimuove underline di default */
  background-image: linear-gradient(rgb(76 147 176), rgb(76 147 176)); /* colore del testo */
  background-repeat: no-repeat;
  background-size: 0% 2px; /* underline inizialmente invisibile */
  background-position: 0 100%;
  transition: background-size 0.3s ease-in-out;
}

/* a:hover {
  background-size: 100% 2px;
} */

a.nav-link {
  padding: 0;
}

a:hover {cursor: pointer;}

/* 🌟 Hero Section */
.hero-section {
  background: url('https://ionuts.it/assets/images/bh-hero.jpg') no-repeat center center;
  background-size: cover;
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  color: var(--bianco);
  text-align: center;
  padding: 4rem 0;
}

.hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: -1;
}

.hero-section .container {
  position: relative;
  z-index: 2;
}

/* 🔽 Navbar */
.navbar {
  background-color: var(--color-navbar)!important;
}

.navbar-brand,
.nav-link {
  color: var(--bianco) !important;
}

.navbar-nav .nav-link:hover {
  color: var(--color-accent-yellow) !important;
}

.navbar-custom {
  background-color: transparent;
  transition: background-color 0.4s ease, box-shadow 0.4s ease;
  padding: 1rem 0;
}

.navbar-custom.scrolled {
  background-color: white!important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.navbar-custom .nav-link {
  font-weight: 500;
  font-size: 1rem;
  position: relative;
  color: white!important;
  transition: color 0.3s ease;
}

@media (min-width: 576px) {
.navbar-custom.scrolled .nav-link{
  color: var(--color-text-dark) !important;
}
.navbar-custom .nav-link{
  color: #fff !important;
}
}

@media (max-width: 576px) {
.navbar-custom.scrolled .nav-link{
  color: #fff !important;
}
.navbar-custom .nav-link{
  color: #fff !important;
}
}

#navbarNav:not(.dropdown) .navbar-custom .nav-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 2px;
  background-color: currentColor;
  transition: width 0.3s ease;
}

#navbarNav:not(.dropdown) .navbar-custom .nav-link:hover::after {
  width: 100%;
}

.navbar-custom .navbar-brand {
  font-size: 1.5rem;
  color: white!important;
  transition: color 0.3s ease;
}

.navbar-custom.scrolled .navbar-brand {
  color: #222!important;
}

/* Language switcher with inline buttons */
.lang-switcher a {
  font-size: 1.2rem;
  text-decoration: none;
}
.lang-switcher a:hover {
  opacity: 0.7;
}


/* ℹ️ Sezione About */
#about {
  background-color: #fff!important;
  padding: 50px 0;
}

#about p {
  font-size: 1.2rem;
}

#about .btn {
  background-color: #fdffb7;
color: var(--color-text-dark) !important;
border-radius: 5px;
padding: 10px 20px;
border: 2px solid var(--color-text-dark);
}

#about .btn:hover {
  background-color: #fff !important;
  color: var(--color-text-dark)!important;
  border: 2px solid  var(--color-text-dark);
}

a.btn-compra {background: #fff000!important;color: #111827!important;}
.btn-verde {background: #b7ffbf !important;color: #000000;border: 1px solid #b7ffbf;}
.btn-blu {background: #b7f0ff;border: 1px solid #b6f0ff;color: #000000;}
.btn-blu:hover {background: #b7f0ff;border: 1px solid #b6f0ff;color: #000000;}
.more-wrapper {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.6s ease;
}

.more-wrapper.expanded {
  max-height: 100%;
}


.modal-content {
  background-color: var(--color-white)!important;
}
.modal-title {color: #111827!important;}

.contact-form .btn {background: #feffe4!important;color: var(--color-text-dark);}

 .modal-header .btn-close {
 opacity: 1; /* Rende l'icona bianca */
}

/* 🎨 Sezione Mostre */
#exhibitions {
  background-color: var(--color-text-dark);
  padding: 50px 0;
}

#exhibitions h2 {
  color: #fff;
  margin-bottom: 30px;
}

.exhibition {
  overflow: hidden;
  transition: transform 0.3s ease;
}

.exhibition img {
  object-fit: cover;
  height: 200px;
}

.exhibition.fade-out {
  animation: fadeOut 0.5s ease forwards;
}

.exhibition.fade-in {
  animation: fadeIn 0.5s ease forwards;
}

.exhibition-list {
  list-style-type: none;
  padding: 0;
}

.exhibition-item {
  background-color: #f8f9fa;
  border: 1px solid #ddd;
  padding: 15px;
  margin-bottom: 10px;
  border-radius: 5px;
}

.card-body {
  padding: 20px;
}

.card-title {
  font-weight: 600;
  color: var(--blu-navy);
}

.card-text {
  font-size: 0.9rem;
  color: var(--grigio-antracite);
}

.card-img-top {
  object-fit: cover;
  height: 200px;
}

/* 🎛️ Filtri */
.form-select {
  width: 200px;
}

.form-label {
  color: #fff;
  font-weight: 600;
}

/* 📩 Contatti */
#contact {
  background-color:var(--color-text-dark);
}

.contact-form input,
.contact-form textarea {
  border-radius: 5px;
}
#contact h2 {color: #fff!important;}

#contact .btn {
background: #feffe4;
color: var(--color-text-dark);
}
.honeypot {
  display: none;
}

/* ✨ Animazioni */
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

/* 🔚 Footer */
footer {
  background-color: var(--color-navbar)!important;
  color: #fff;
  padding: 30px 0;
  text-align: center;
}

footer p {
  margin: 0;
}

footer a {
  color: var(--bianco);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
}

footer a:hover {
  color: var(--corallo);
}

/* Personalizzazione navbar e offcanvas */

.navbar-custom {
background-color: var(--blu-navy);
}

/* Stili per l'Offcanvas */
.offcanvas-start {
width: 250px; /* Larghezza dell'Offcanvas */
}

.offcanvas-body {
background-color: var(--color-navbar);
color: white;
}

.offcanvas .nav-link {
color: white;
font-size: 1.2rem;
}

.offcanvas .nav-link:hover {
color: var(--corallo);  /* Cambia colore al passaggio del mouse */
}

/* Responsività */
@media (max-width: 991px) {
/* Mostra il bottone hamburger solo sui dispositivi mobili */
.navbar-toggler {
display: block;
}

/* Nascondi il menu orizzontale su dispositivi mobili */
.navbar-collapse {
display: none;
}

/* Mostra l'offcanvas su dispositivi mobili */
.offcanvas-start {
display: block;
}
}

@media (min-width: 992px) {
/* Mostra il menu orizzontale solo su desktop */
.navbar-collapse {
display: flex !important;
}

/* Nascondi l'offcanvas su desktop */
.offcanvas-start {
display: none;
}

/* Nascondi il bottone hamburger su desktop */
.navbar-toggler {
display: none;
}
}

/* Filtro al 100% */
@media (max-width: 767.98px) {
#filterYear,
#filterCity {
width: 100%;
}
}


/* TOGGLE PERSONALIZZATO  NUOVO */
.hamburger-btn {
background: transparent;
border: none;
padding: 0;
cursor: pointer;
}

.hamburger-icon {
stroke: white;
stroke-width: 6;
stroke-linecap: round;
transition: all 0.3s ease-in-out;
}

.scrolled .hamburger-icon {
stroke: var(--color-text-dark)!important;
}

.line {
transition: transform 0.4s ease, opacity 0.3s ease;
transform-origin: 50% 50%; /* centri perfetti */
}

/* Stato attivo - animazione in X */
.hamburger-btn.active .top {
transform: rotate(45deg) translate(7px, 7px);
}

.hamburger-btn.active .middle {
opacity: 0;
}

.hamburger-btn.active .bottom {
transform: rotate(-45deg) translate(7px, -7px);
}

.zoom-overlay {
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

.card:hover .zoom-overlay {
  opacity: 1;
}

.zoom-icon {
  width: 48px;
  height: 48px;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Card Quadri in vendita Icona esplodi immagine */
.bi::before, [class^="bi-"]::before, [class*=" bi-"]::before {padding: 7px;}
i.bi.bi-search. {width: 60px;height: 60px;display: block;}
