/* Titoli con font Amatic SC - regola più specifica per Bootstrap */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Amatic SC', handwriting, cursive !important;
    font-weight: 700 !important;
}

/* Menu navbar con font Amatic SC */
.navbar-nav .nav-link,
.navbar-brand,
.dropdown-item {
    font-family: 'Amatic SC', handwriting, cursive !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
    color: #1796a0 !important;
}

.navbar-nav .nav-link:hover,
.dropdown-item:hover {
    color: #146b73 !important;
}

.navbar-nav .nav-link.active {
    color: #2c5530 !important;
}

body {
    background-color: #f7f7f7;
    background-image: url('pattern_black.png');
    background-repeat: repeat;
  }

/* Section Light - sfondo chiaro con pattern nero */
.section-light {
    background-color: #f7f7f7;
    background-image: url('uploads/pattern_black.png');
    background-repeat: repeat;
    color: #1796a0;
    padding: 60px 0;
}

.section-light h1,
.section-light h2,
.section-light h3,
.section-light h4,
.section-light h5,
.section-light h6 {
    color: #1796a0;
}

.section-light p,
.section-light .text-content {
    color: #1796a0;
}

/* Section Dark - sfondo scuro con pattern bianco */
.section-dark {
    background-color: #1796a0;
    background-image: url('uploads/pattern_white.png');
    background-repeat: repeat;
    color: #ffffff;
    padding: 60px 0;
}

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.section-dark h5,
.section-dark h6 {
    color: #ffffff;
}

.section-dark p,
.section-dark .text-content {
    color: #ecf0f1;
}

.section-dark .btn-primary {
    background-color: #1796a0;
    border-color: #1796a0;
}

.section-dark .btn-primary:hover {
    background-color: #146b73;
    border-color: #146b73;
}
  .hero-bg {
    background: url('https://via.placeholder.com/1920x400?text=Hero+Image') center/cover no-repeat;
    color: #fff;
    position: relative;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .hero-overlay {
    background: rgba(0, 80, 100, 0.45);
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 1;
  }
  .hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 2rem 1rem;
  }
  .booking-box {
      margin-top: 1.5rem;
  }
  .section-title {
    color: #1796a0;
    font-weight: bold;
    margin: 2.5rem 0 1.5rem 0;
    text-align: center;
  }
  .icon-feature {
    font-size: 2.5rem;
    color: #1796a0;
    margin-bottom: 0.5rem;
  }
  .apartment-card img {
    border-radius: 8px 8px 0 0;
    object-fit: cover;
    height: 180px;
    width: 100%;
  }
  .review-stars {
    color: #f7b731;
    font-size: 1.2rem;
  }
  .gallery-img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 8px;
  }
  .footer {
    background: #1796a0;
    color: #fff;
    padding: 2rem 0 1rem 0;
    margin-top: 2rem;
  }
  .footer-form input, .footer-form textarea {
    margin-bottom: 0.5rem;
  }
  .background-green {
    background-color: #98bf92;
  }

  .apartment-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: none;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    height: 100%;
    color: #1796a0!important;
  }
.card-text {
  color: #1796a0 !important;
}

.card-title {
  color: #1796a0 !important;
}

  .apartment-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  }
  .apartment-card img {
    height: 200px;
    object-fit: cover;
  }
  .apartment-info {
    display: flex;
    gap: 1rem;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
  }
  .filter-section {
    background: #f8f9fa;
    padding: 2rem 0;
    margin-bottom: 2rem;
  }
  .filter-badge {
    background: #eaf6f7;
    color: #1796a0;
    border: 1px solid #1796a0;
    border-radius: 20px;
    padding: 0.3em 0.8em;
    margin: 0.2em;
    display: inline-block;
    font-size: 0.9em;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .filter-badge:hover, .filter-badge.active {
    background: #1796a0;
    color: white;
  }
  .section-title {
    text-align: center;
    margin-bottom: 2rem;
    color: #1796a0;
  }
  .apartment-price {
    color: #1796a0;
    font-weight: bold;
    font-size: 1.1rem;
  }
  .no-results {
    text-align: center;
    padding: 3rem;
    color: #6c757d;
  }

  .hero-bg {
    background: url('uploads/header_homepage_hero.jpg') center/cover no-repeat;
    min-height: 500px;
    position: relative;
    color: #fff;
    display: flex;
    align-items: center;
  }
  .hero-overlay {
    background: rgba(0, 80, 100, 0.45);
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 1;
  }
  .hero-content {
    position: relative;
    z-index: 2;
    padding: 2rem 1rem;
  }
  .booking-box {
    padding: 2rem;
    border-radius: 10px;
    margin-top: 2rem;
  }
  .video {
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
  }
  .icon-feature {
    font-size: 3rem;
    margin-bottom: 1rem;
  }
  .apartment-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: none;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  }
  .apartment-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  }
  .apartment-card img {
    height: 180px;
    object-fit: cover;
  }
  .gallery-img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
    transition: transform 0.3s ease;
  }
  .gallery-img:hover {
    transform: scale(1.05);
  }
  .review-stars {
    color: #ffc107;
    font-size: 1.2rem;
  }
  .section-title {
    text-align: center;
    margin-bottom: 3rem;
    color: #1796a0;
  }