  body {
    font: 400 15px/1.8 Lato, sans-serif;
    color: #777;
  }
  h3, h4 {
    margin: 10px 0 30px 0;
    letter-spacing: 10px;
    font-size: 20px;
    color: #111;
  }
  .container {
    padding: 140px 120px;
  }
  /* ── Escala en pantallas grandes ── */
  @media (min-width: 1400px) {
    .container { max-width: 1360px !important; width: 96% !important; }
    body { font-size: 16px; }
  }
  @media (min-width: 1700px) {
    .container { max-width: 1620px !important; width: 96% !important; }
    body { font-size: 17px; }
  }
  @media (min-width: 2000px) {
    .container { max-width: 1900px !important; width: 96% !important; }
    body { font-size: 18px; }
    h3, h4 { font-size: 24px; }
    .navbar { min-height: 140px !important; }
    .navbar-brand { height: 140px !important; }
    .navbar-right { margin-top: 90px !important; }
    #myCarousel { top: 140px !important; }
    #myCarousel .carousel-inner,
    #myCarousel .carousel-inner img { height: 720px; max-height: 720px; }
  }
  .person {
    border: 10px solid transparent;
    margin-bottom: 25px;
    width: 80%;
    height: 80%;
    opacity: 0.7;
  }
  .person:hover {
    border-color: #f1f1f1;
  }
  .carousel-indicators{
    height: 50px !important;
  }

  /* ── Banner principal ───────────────────────────────────────── */
  #myCarousel {
    top: 120px !important;
    overflow: hidden;
  }
  #myCarousel .carousel-inner {
    max-height: 620px;
  }
  #myCarousel .carousel-inner img {
    width: 100%;
    height: 620px;
    object-fit: cover;
    object-position: center center;
    display: block;
  }
  @media (max-width: 992px) {
    #myCarousel .carousel-inner,
    #myCarousel .carousel-inner img {
      height: 420px;
      max-height: 420px;
    }
  }
  @media (max-width: 600px) {
    #myCarousel .carousel-inner,
    #myCarousel .carousel-inner img {
      height: 260px;
      max-height: 260px;
    }
  }

  /* ── Carrusel de comentarios ────────────────────────────────── */
  #myCarousel2 .carousel-inner img {
    width: 100%;
    margin: auto;
  }

  .carousel-caption h3 {
    color: #fff !important;
  }
  .carousel-control.right {
    background-image: -webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,82) 100%);
    background-image: -o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,82) 100%);
  }
  .carousel-control.left {
    background-image: -webkit-linear-gradient(right,rgba(0,0,0,.0001) 0,rgba(0,0,82) 100%);
    background-image: -o-linear-gradient(right,rgba(0,0,0,.0001) 0,rgba(0,0,82) 100%);
  }

  @media (max-width: 600px) {
    .carousel-caption {
      display: none; /* Hide the carousel text when the screen is less than 600 pixels wide */
    }
  }
  /* #myCarousel top definido arriba junto con el resto del bloque del banner */
  @media (max-width: 800px) {
    #numeros{
      display: none;
    }
    #descmobile{
      height: 1200px !important;
    }

  }
  .bg-1 {
    background: #339;
    color: #bdbdbd;
  }
  .bg-1 h3 {color: #fff;}
  .bg-1 p {font-style: italic;}
  .list-group-item:first-child {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
  }
  .list-group-item:last-child {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  .thumbnail {
    padding: 0 0 15px 0;
    border: none;
    border-radius: 0;
    background-color: transparent !important;
  }
  .thumbnail p {
    margin-top: 15px;
    color: #555;
  }
  .btn {
    padding: 10px 20px;
    background-color: #333;
    color: #f1f1f1;
    border-radius: 0;
    transition: .2s;
  }
  .btn:hover, .btn:focus {
    border: 1px solid #333;
    background-color: #fff;
    color: #000;
  }
  .modal-header, h4, .close {
    background-color: #333;
    color: #fff !important;
    text-align: center;
    font-size: 30px;
  }
  .modal-header, .modal-body {
    padding: 40px 50px;
  }
  .nav-tabs li a {
    color: #777;
  }
  #googleMap {
    width: 100%;
    height: 400px;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
  }
  .navbar {
    font-family: Montserrat, sans-serif;
    margin-bottom: 0;
    background-color: #339;
    border: 0;
    font-size: 11px !important;
    letter-spacing: 4px;
    opacity: 0.9;
    min-height: 120px !important;
  }
  .navbar-right {
    margin-top: 70px !important;
}
.navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
    max-height: 440px !important;
}
  .navbar-brand{
    height: 120px !important;
  }
  .navbar li a, .navbar .navbar-brand {
    color: #d5d5d5 !important;
  }
  .navbar-nav li a:hover {
    color: #fff !important;
  }
  .navbar-nav li.active a {
    color: #fff !important;
    background-color: #000066 !important;
  }
  .navbar-default .navbar-toggle {
    border-color: transparent;
  }
  .open .dropdown-toggle {
    color: #fff;
    background-color: #000068 !important;
  }
  .dropdown-menu li a {
    color: #000 !important;
  }
  .dropdown-menu li a:hover {
    background-color: purple !important;
  }
  footer {
    background-color: #2d2d30;
    color: #f5f5f5;
    padding: 2px 32px;
  }
  footer a {
    color: #f5f5f5;
  }
  footer a:hover {
    color: #777;
    text-decoration: none;
  }
  .form-control {
    border-radius: 0;
  }
  textarea {
    resize: none;
  }

  /* ── Tableta y celular ──────────────────────────────────────────
     El relleno de .container (140px 120px) dejaba cada sección de la portada en ~135px de
     ancho en un teléfono. Las páginas internas (descp-com, aviso, política) ya ponen el suyo. */
  @media (max-width: 991px) {
    .container { padding-left: 30px; padding-right: 30px; }
  }
  @media (max-width: 767px) {
    .container { padding: 70px 15px; }
    h3, h4 { letter-spacing: 4px; }
    footer { padding: 2px 15px; }
    footer .text-left, footer .text-right { text-align: center; }
  }
