:root{
  --brand: #0d6efd;
}

body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* ===== HERO ===== */
.hero {
  min-height: 75vh;
  background-image: url("https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1600&q=80");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  display: flex;
  align-items: center;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

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

/* ===== CARDS ===== */
.card-hover {
  transition: transform .15s ease, box-shadow .15s ease;
}

.card-hover:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 35px rgba(0,0,0,.15);
}

/* ===== FOOTER ===== */
.footer-small {
  font-size: .9rem;
  opacity: .9;
}
/* Titoli pagine interne (NON hero home) */
.page-title h1,
header.page-header h1 {
  color: #000;
  font-weight: 700;
}


/* Sottotitolo sotto il titolo */
.page-subtitle,
header p.lead {
  color: #333 !important;
}

/* ===== MODALE PORTFOLIO RIDOTTA ===== */
.modal-dialog.modal-lg {
  max-width: 50vw;        /* metà schermo */
}

@media (max-width: 992px) {
  .modal-dialog.modal-lg {
    max-width: 95vw;      /* quasi full su mobile */
  }
}

/* immagini carousel tutte uguali */
.modal .carousel-item img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 8px;
}
/* ===== PORTFOLIO RESPONSIVE ===== */

/* Card anteprima portfolio */
.portfolio-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

/* Tablet */
@media (max-width: 992px) {
  .portfolio-card img {
    height: 200px;
  }
}

/* Smartphone */
@media (max-width: 576px) {
  .portfolio-card img {
    height: 180px;
  }
}

/* ===== MODALE + CAROUSEL ===== */
.modal-dialog.modal-lg {
  max-width: 50vw;
}

@media (max-width: 992px) {
  .modal-dialog.modal-lg {
    max-width: 90vw;
  }
}

.modal .carousel-item img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 8px;
}

@media (max-width: 768px) {
  .modal .carousel-item img {
    height: 300px;
  }
}

@media (max-width: 576px) {
  .modal .carousel-item img {
    height: 240px;
  }
}
/* =========================
   HERO – TESTO LEGGIBILE
   ========================= */

.hero {
  position: relative;
  color: #fff;
}

/* overlay scuro ma controllato */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45); /* NON più troppo scuro */
  z-index: 1;
}

/* contenuto sopra overlay */
.hero .container {
  position: relative;
  z-index: 2;
}

/* titolo principale */
.hero h1 {
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0,0,0,0.6);
}

/* sottotitolo */
.hero p {
  color: #f1f1f1;
}

/* responsive: su mobile overlay leggermente più forte */
@media (max-width: 768px) {
  .hero::before {
    background: rgba(0, 0, 0, 0.55);
  }
}
/* FORZA testo hero sempre bianco */
.hero h1,
.hero p {
  color: #ffffff !important;
}

