:root {
        --azul: #0072bc;
        --azul2: #0d8fd3;
        --azulOsc: #082946;
        --verde: #72c943;
        --verde2: #a8df57;
        --naranja: #f59b12;
        --amarillo: #ffd25a;
        --celeste: #eef8ff;
        --gris: #f5f8fc;
        --borde: #dfe8f2;
        --texto: #16243b;
        --muted: #657487;
        --shadow: 0 14px 34px rgba(10, 35, 70, 0.1);
        --shadow2: 0 8px 20px rgba(10, 35, 70, 0.075);
      }
      * {
        margin: 0;
      
        box-sizing: border-box;
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        font-family: "Inter", sans-serif;
        color: var(--texto);
        background: #ffffff;
        overflow-x: hidden;
      }
      a {
        text-decoration: none;
        color: inherit;
      }
      img {
        display: block;
        max-width: 100%;
      }
      button,
      input,
      textarea,
      select {
        font-family: inherit;
      }
      .container {
        width: min(1180px, 92%);
        margin: auto;
      } /* BARRA SUPERIOR */
      .top-strip {
        background: linear-gradient(90deg, #128fd0, #68bf42);
        color: white;
        font-size: 10.5px;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.35px;
        overflow: hidden;
      }
      .top-strip .container {
        height: 22px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
        white-space: nowrap;
      }
      .topbar {
        background: #062743;
        color: white;
        font-size: 13px;
        font-weight: 700;
      }
      .topbar .container {
        min-height: 42px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        flex-wrap: wrap;
      }
      .top-info,
      .top-social {
        display: flex;
        align-items: center;
        gap: 18px;
        flex-wrap: wrap;
      }
      .topbar span {
        display: inline-flex;
        align-items: center;
        gap: 7px;
      }
      .top-social a {
        width: 29px;
        height: 29px;
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 50%;
        display: grid;
        place-items: center;
        transition: 0.2s ease;
      }
      .top-social a:hover {
        background: rgba(255, 255, 255, 0.12);
      } /* HEADER */
      .header {
        background: white;
        position: sticky;
        top: 0;
        z-index: 1000;
        box-shadow: 0 6px 22px rgba(12, 35, 70, 0.08);
      }
      .nav {
        min-height: 66px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
      }
      .brand {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-shrink: 0;
      }
      .brand img {
        width: 64px;
      }
      .brand strong {
        display: block;
        color: #173a5f;
        font-size: 15px;
        line-height: 1.05;
        font-weight: 900;
      }
      .brand small {
        display: block;
        color: #50708f;
        font-size: 10px;
        line-height: 1;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.4px;
      }
      .menu {
        display: flex;
        align-items: center;
        gap: 20px;
        color: #243a59;
        margin-left: auto;
      }
      .nav-item {
        position: relative;
      }
      .nav-link {
        border: 0;
        background: transparent;
        color: inherit;
        font-weight: 800;
        font-size: 14px;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        cursor: pointer;
        padding: 22px 0;
      }
      .nav-link:hover,
      .nav-link.active {
        color: var(--azul);
      }
      .nav-link.active::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 11px;
        width: 100%;
        height: 4px;
        border-radius: 6px;
        background: linear-gradient(90deg, var(--azul), var(--verde));
      }
      .dropdown {
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%) translateY(10px);
        width: 370px;
        background: white;
        border: 1px solid var(--borde);
        border-radius: 18px;
        box-shadow: var(--shadow);
        padding: 12px;
        opacity: 0;
        pointer-events: none;
        transition: 0.18s ease;
        z-index: 1002;
      }
      .nav-item:hover .dropdown,
      .nav-item.open .dropdown {
        opacity: 1;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
      }
      .dropdown-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
      }
      .drop-btn {
        border: 1px solid var(--borde);
        background: #fff;
        border-radius: 13px;
        padding: 12px;
        text-align: left;
        cursor: pointer;
        display: flex;
        gap: 10px;
        align-items: flex-start;
        transition: 0.2s ease;
      }
      .drop-btn:hover {
        background: var(--celeste);
        transform: translateY(-2px);
      }
      .drop-btn i {
        width: 33px;
        height: 33px;
        border-radius: 10px;
        display: grid;
        place-items: center;
        color: white;
        flex: 0 0 33px;
        background: linear-gradient(135deg, var(--azul), var(--azul2));
      }
      .drop-btn b {
        display: block;
        color: #173350;
        font-size: 13px;
        margin-bottom: 3px;
      }
      .drop-btn small {
        display: block;
        color: var(--muted);
        font-size: 11px;
        line-height: 1.25;
      }
      .header-actions {
        display: flex;
        align-items: center;
        gap: 9px;
        flex-shrink: 0;
      }
      .search-btn,
      .pay-btn,
      .admin-btn {
        height: 39px;
        border-radius: 10px;
        padding: 0 14px;
        border: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-size: 13px;
        font-weight: 900;
        cursor: pointer;
      }
      .search-btn {
        background: white;
        color: var(--azul);
        border: 1px solid #cfe0ef;
      }
      .pay-btn {
        background: linear-gradient(135deg, var(--azul), var(--azul2));
        color: white;
        box-shadow: 0 10px 20px rgba(0, 114, 188, 0.2);
      }
      .admin-btn {
        background: #0b2341;
        color: white;
      }
      .hamb {
        display: none;
        width: 42px;
        height: 42px;
        border: 0;
        border-radius: 10px;
        background: var(--azul);
        color: white;
        font-size: 24px;
        cursor: pointer;
      } /* BUSCADOR GLOBAL */
      .search-panel {
        position: fixed;
        inset: 0;
        background: rgba(5, 20, 38, 0.62);
        z-index: 3500;
        display: none;
        align-items: flex-start;
        justify-content: center;
        padding: 88px 20px 20px;
      }
      .search-panel.show {
        display: flex;
      }
      .search-box {
        width: min(900px, 100%);
        background: white;
        border-radius: 22px;
        box-shadow: 0 30px 80px rgba(0, 0, 0, 0.32);
        overflow: hidden;
      }
      .search-head {
        padding: 18px;
        border-bottom: 1px solid var(--borde);
        display: flex;
        gap: 12px;
        align-items: center;
      }
      .search-head input {
        flex: 1;
        height: 48px;
        border: 1px solid var(--borde);
        border-radius: 12px;
        padding: 0 15px;
        outline: none;
        font-size: 15px;
        font-weight: 600;
      }
      .close-search {
        width: 45px;
        height: 45px;
        border: 0;
        border-radius: 50%;
        background: var(--azul);
        color: white;
        cursor: pointer;
        font-size: 21px;
      }
      .search-results {
        padding: 16px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        max-height: 420px;
        overflow: auto;
      }
      .search-result {
        border: 1px solid var(--borde);
        border-radius: 14px;
        background: #fff;
        padding: 13px;
        cursor: pointer;
        display: flex;
        gap: 10px;
        text-align: left;
        align-items: flex-start;
      }
      .search-result:hover {
        background: var(--celeste);
      }
      .search-result i {
        width: 34px;
        height: 34px;
        border-radius: 10px;
        color: white;
        background: linear-gradient(135deg, var(--azul), var(--azul2));
        display: grid;
        place-items: center;
        flex: 0 0 34px;
      }
      .search-result b {
        display: block;
        font-size: 13px;
        margin-bottom: 3px;
        color: #173350;
      }
      .search-result small {
        color: var(--muted);
        font-size: 11px;
        line-height: 1.3;
        display: block;
      } /* HERO */
      .hero {
        position: relative;
        background:
          linear-gradient(
            90deg,
            rgba(6, 29, 52, 0.72),
            rgba(6, 29, 52, 0.34),
            rgba(6, 29, 52, 0.18)
          ),
          var(--hero-image, url("assets/img/portada.png")) center/cover
            no-repeat;
        min-height: 365px;
        overflow: hidden;
        transition: background-image 0.3s ease;
      }
      .hero::after {
        content: "";
        position: absolute;
        left: -0%;
        right: -0%;
        bottom: -0px;
        height: 0px;
        background: rgb(255, 255, 255);
        border-radius: 50% 50% 0 0;
        z-index: 1;
      }
      .hero .container {
        position: relative;
        z-index: 2;
        min-height: 365px;
        display: flex;
        align-items: center;
      }
      .hero-content {
        color: white;
        max-width: 660px;
        padding: 34px 0 50px;
      }
      .hero-badge {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: rgba(255, 255, 255, 0.14);
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 999px;
        padding: 9px 14px;
        font-size: 12px;
        font-weight: 900;
        margin-bottom: 14px;
        backdrop-filter: blur(5px);
      }
      .hero h1 {
        font-size: clamp(40px, 5.6vw, 66px);
        line-height: 0.94;
        font-weight: 900;
        letter-spacing: -2px;
        margin-bottom: 14px;
      }
      .hero h1 span {
        display: block;
        color: #c7f36b;
      }
      .hero p {
        color: #f3f8ff;
        font-size: 16px;
        line-height: 1.48;
        max-width: 640px;
        margin-bottom: 21px;
        font-weight: 600;
      }
      .hero-actions {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
      }
      .btn {
        border: 0;
        border-radius: 10px;
        min-height: 43px;
        padding: 0 18px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-size: 14px;
        font-weight: 900;
        cursor: pointer;
        transition: 0.2s ease;
      }
      .btn:hover {
        transform: translateY(-2px);
      }
      .btn-green {
        background: linear-gradient(135deg, var(--verde), var(--verde2));
        color: white;
      }
      .btn-blue {
        background: linear-gradient(135deg, var(--azul), var(--azul2));
        color: white;
      }
      .btn-orange {
        background: linear-gradient(135deg, var(--naranja), #ffb427);
        color: white;
      }
      .btn-white {
        background: white;
        color: var(--azul);
      }
      .hero-dots {
        display: flex;
        gap: 9px;
        margin-top: 17px;
      }
      .hero-dots button {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        border: 0;
        background: rgba(255, 255, 255, 0.45);
        cursor: pointer;
      }
      .hero-dots button.active {
        width: 30px;
        border-radius: 30px;
        background: white;
      } /* ACCESOS */
      .quick-wrap {
        position: relative;
        z-index: 5;
        margin-top: -22px;
      }
      .quick-grid {
        background: white;
        border-radius: 20px;
        box-shadow: var(--shadow);
        padding: 12px;
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        gap: 10px;
      }
      .quick-card {
        border: 1px solid var(--borde);
        background: white;
        border-radius: 14px;
        min-height: 86px;
        padding: 9px 6px;
        display: grid;
        place-items: center;
        text-align: center;
        gap: 5px;
        cursor: pointer;
        transition: 0.2s ease;
      }
      .quick-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--shadow2);
      }
      .qicon {
        width: 38px;
        height: 38px;
        border-radius: 10px;
        display: grid;
        place-items: center;
        color: white;
        font-size: 20px;
      }
      .bg-orange {
        background: linear-gradient(135deg, var(--naranja), #ffb427);
      }
      .bg-blue {
        background: linear-gradient(135deg, var(--azul), var(--azul2));
      }
      .bg-green {
        background: linear-gradient(135deg, var(--verde), var(--verde2));
      }
      .bg-dark {
        background: linear-gradient(135deg, #082946, #1c4b76);
      }
      .quick-card span {
        font-size: 12px;
        font-weight: 900;
        color: #193451;
        line-height: 1.15;
      } /* SECCIONES */
      section {
        padding: 24px 0;
      }
      .title-row {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 14px;
        margin-bottom: 13px;
      }
      .section-title {
        font-size: 28px;
        color: #122b49;
        font-weight: 900;
        letter-spacing: -0.8px;
        position: relative;
        display: inline-block;
        padding-bottom: 8px;
        line-height: 1.1;
      }
      .section-title::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 74px;
        height: 5px;
        border-radius: 20px;
        background: linear-gradient(
          90deg,
          var(--azul),
          var(--verde),
          var(--naranja)
        );
      }
      .section-lead {
        margin-top: 4px;
        margin-bottom: 14px;
        color: var(--muted);
        font-size: 14px;
        line-height: 1.55;
        max-width: 790px;
      }
      .section-link {
        color: var(--azul);
        font-size: 13px;
        font-weight: 900;
      } /* BANNER PRINCIPAL */
      .main-banner,
      .vet-banner {
        min-height: 230px;
        border-radius: 22px;
        overflow: hidden;
        position: relative;
        box-shadow: var(--shadow);
        background: #eef5fb;
      }
      .main-banner img,
      .vet-banner img {
        width: 100%;
        height: 100%;
        min-height: 230px;
        object-fit: cover;
      }
      .main-banner::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          90deg,
          rgba(7, 32, 58, 0.78),
          rgba(7, 32, 58, 0.18)
        );
      }
      .banner-content {
        position: absolute;
        left: 28px;
        bottom: 26px;
        z-index: 2;
        color: white;
        max-width: 560px;
      }
      .banner-content h2 {
        font-size: 34px;
        line-height: 1;
        margin-bottom: 9px;
        letter-spacing: -1px;
      }
      .banner-content p {
        color: #eaf4ff;
        line-height: 1.45;
        font-size: 15px;
        margin-bottom: 14px;
      } /* NOTICIAS */
      .news-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
      }
      .news-card {
        background: white;
        border: 1px solid var(--borde);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: var(--shadow2);
        cursor: pointer;
        transition: 0.2s ease;
      }
      .news-card:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow);
      }
      .news-img {
        height: 135px;
        background-size: cover;
        background-position: center;
        position: relative;
      }
      .news-img::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.38));
      }
      .tag {
        position: absolute;
        left: 10px;
        bottom: 10px;
        z-index: 2;
        border-radius: 8px;
        padding: 5px 8px;
        font-size: 11px;
        color: white;
        font-weight: 900;
        text-transform: uppercase;
      }
      .tag.orange {
        background: var(--naranja);
      }
      .tag.green {
        background: var(--verde);
      }
      .tag.blue {
        background: var(--azul);
      }
      .news-body {
        padding: 12px;
      }
      .news-date {
        font-size: 11px;
        color: #8b97a8;
        margin-bottom: 6px;
        display: block;
      }
      .news-body h3 {
        font-size: 15px;
        line-height: 1.25;
        color: #173350;
        margin-bottom: 7px;
      }
      .news-body p {
        font-size: 12.5px;
        line-height: 1.4;
        color: #687789;
        margin-bottom: 10px;
      }
      .read-more {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 12px;
        font-weight: 900;
        color: var(--azul);
      } /* GUÍA */
      .guide-layout {
        display: grid;
        grid-template-columns: 1fr 330px;
        gap: 14px;
        align-items: start;
      }
      .box {
        background: white;
        border: 1px solid var(--borde);
        border-radius: 18px;
        box-shadow: var(--shadow2);
        padding: 14px;
      }
      .guide-search {
        display: grid;
        grid-template-columns: 1fr 110px;
        gap: 10px;
        margin: 14px 0 11px;
      }
      .guide-search input {
        height: 42px;
        border: 1px solid #d7e4f1;
        border-radius: 10px;
        padding: 0 14px;
        outline: none;
        font-size: 14px;
        font-weight: 600;
      }
      .guide-search input:focus {
        border-color: var(--azul);
        box-shadow: 0 0 0 4px rgba(0, 114, 188, 0.08);
      }
      .guide-search button {
        border: 0;
        background: #8bc53f;
        color: white;
        font-weight: 900;
        border-radius: 10px;
        cursor: pointer;
      }
      .chips {
        display: flex;
        flex-wrap: wrap;
        gap: 9px;
        margin-bottom: 12px;
      }
      .chip {
        border: 1px solid #d7e4f1;
        background: white;
        color: #354d6a;
        border-radius: 10px;
        padding: 8px 12px;
        font-size: 12px;
        font-weight: 900;
        cursor: pointer;
      }
      .chip.active {
        background: var(--azul);
        border-color: var(--azul);
        color: white;
      }
      .guide-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 9px;
      }
      .guide-item,
      .inst-card {
        background: white;
        border: 1px solid var(--borde);
        border-radius: 13px;
        padding: 11px;
        text-align: center;
        cursor: pointer;
        transition: 0.2s ease;
        min-height: 78px;
        display: grid;
        place-items: center;
      }
      .guide-item:hover,
      .inst-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--shadow2);
        background: #fbfdff;
      }
      .guide-item i,
      .inst-card i {
        color: var(--azul);
        font-size: 22px;
        margin-bottom: 5px;
        display: block;
      }
      .guide-item span,
      .inst-card span {
        font-size: 12px;
        line-height: 1.15;
        color: #193451;
        font-weight: 900;
      }
      .inst-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 9px;
        margin-top: 14px;
      } /* VETERINARIA */
      .vet-banner {
        min-height: 260px;
        background: linear-gradient(135deg, #009fe3, #72c943);
      }
      .vet-banner img {
        min-height: 260px;
        opacity: 0.95;
        filter: saturate(1.12) contrast(1.04);
      }
      .vet-banner::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          90deg,
          rgba(0, 114, 188, 0.3),
          rgba(114, 201, 67, 0.16)
        );
        pointer-events: none;
      }
      .vet-button-only {
        position: absolute;
        left: 28px;
        bottom: 24px;
        z-index: 3;
      } /* SERVICIOS */
      .services-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
        margin-top: 14px;
      }
      .service-card {
        background: white;
        border: 1px solid var(--borde);
        border-radius: 16px;
        padding: 14px;
        box-shadow: var(--shadow2);
        display: flex;
        gap: 12px;
        align-items: flex-start;
        text-align: left;
        cursor: pointer;
        transition: 0.2s ease;
        min-height: 104px;
      }
      .service-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--shadow);
      }
      .service-card .icon {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        display: grid;
        place-items: center;
        color: white;
        flex: 0 0 44px;
        font-size: 21px;
      }
      .service-card h3 {
        font-size: 15px;
        color: #173350;
        margin-bottom: 5px;
        line-height: 1.2;
      }
      .service-card p {
        font-size: 12.5px;
        color: #687789;
        line-height: 1.4;
      } /* 12 CUOTAS */
      .cuotas-banner {
        position: relative;
        overflow: hidden;
        border-radius: 24px;
        min-height: 265px;
        background:
          radial-gradient(
              circle,
              rgba(255, 255, 255, 0.28) 2px,
              transparent 2.5px
            )
            0 0/27px 27px,
          linear-gradient(135deg, #0082c6 0%, #00a8dc 52%, #37c7e8 100%);
        box-shadow: var(--shadow);
        display: grid;
        grid-template-columns: 1.25fr 0.75fr;
        align-items: center;
        border: 8px solid white;
        outline: 1px solid #d7eefb;
      }
      .cuotas-content {
        position: relative;
        z-index: 2;
        padding: 28px 30px;
        color: white;
        max-width: 760px;
      }
      .cuotas-kicker {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 15px;
        border-radius: 999px;
        background: #84c341;
        color: white;
        border: 4px solid white;
        font-size: 15px;
        font-weight: 900;
        margin-bottom: 14px;
        text-transform: uppercase;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
      }
      .cuotas-content h2 {
        font-size: clamp(38px, 6vw, 70px);
        line-height: 0.88;
        margin-bottom: 12px;
        letter-spacing: -2px;
        font-weight: 900;
        text-transform: uppercase;
      }
      .cuotas-content h2 span {
        display: block;
        color: white;
        font-size: 0.62em;
        letter-spacing: -1px;
      }
      .cuotas-box {
        background: var(--naranja);
        border: 8px solid white;
        border-radius: 28px;
        padding: 20px;
        box-shadow: 0 16px 28px rgba(0, 0, 0, 0.18);
        max-width: 620px;
        position: relative;
      }
      .cuotas-box::after {
        content: "\F26A";
        font-family: "bootstrap-icons";
        position: absolute;
        right: -28px;
        top: -30px;
        width: 74px;
        height: 74px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        background: #72c943;
        border: 7px solid white;
        color: white;
        font-size: 36px;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
      }
      .cuotas-line {
        display: block;
        font-size: 22px;
        font-weight: 900;
        text-transform: uppercase;
        border-top: 4px dotted rgba(255, 255, 255, 0.85);
        border-bottom: 4px dotted rgba(255, 255, 255, 0.85);
        padding: 11px 0;
        margin: 10px 0;
      }
      .cuotas-small {
        font-size: 15px;
        font-weight: 900;
        text-transform: uppercase;
      }
      .cuotas-info {
        margin-top: 16px;
        display: grid;
        gap: 10px;
        max-width: 650px;
      }
      .cuotas-pill {
        background: #84c341;
        border: 5px solid white;
        border-radius: 999px;
        padding: 10px 16px;
        color: white;
        font-weight: 900;
        font-size: 19px;
        text-align: center;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
      }
      .cuotas-text {
        color: white;
        font-weight: 800;
        line-height: 1.4;
        font-size: 15px;
        text-align: center;
      }
      .cuotas-actions {
        margin-top: 16px;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
      }
      .cuotas-toro {
        position: relative;
        z-index: 2;
        height: 100%;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        padding: 14px 14px 0;
      }
      .cuotas-toro img {
        max-width: 285px;
        width: 100%;
        filter: drop-shadow(0 18px 24px rgba(0, 0, 0, 0.24));
      } /* TURISMO */
      .tour-grid {
        display: grid;
        grid-template-columns: 190px repeat(4, 1fr);
        gap: 12px;
        align-items: stretch;
        margin-top: 14px;
      }
      .tour-title {
        display: flex;
        flex-direction: column;
        justify-content: center;
        color: var(--azul);
      }
      .tour-title i {
        font-size: 32px;
        margin-bottom: 8px;
      }
      .tour-title h2 {
        font-size: 29px;
        line-height: 1;
        font-weight: 900;
        letter-spacing: -0.8px;
      }
      .tour-card {
        border: 1px solid var(--borde);
        background: white;
        border-radius: 16px;
        overflow: hidden;
        box-shadow: var(--shadow2);
        cursor: pointer;
        transition: 0.2s ease;
      }
      .tour-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--shadow);
      }
      .tour-card img {
        width: 100%;
        height: 116px;
        object-fit: cover;
      }
      .tour-card div {
        padding: 12px;
      }
      .tour-card h3 {
        font-size: 15px;
        color: #173350;
        margin-bottom: 5px;
        line-height: 1.2;
      }
      .tour-card p {
        font-size: 12.5px;
        line-height: 1.35;
        color: #687789;
      } /* ATENCIÓN */
      .attention {
        background: linear-gradient(135deg, #eaf6ff, #fff);
        border: 1px solid #d8ecff;
        border-radius: 18px;
        box-shadow: var(--shadow2);
        display: grid;
        grid-template-columns: 1.05fr 1fr 1fr 1.25fr;
        overflow: hidden;
      }
      .att-col {
        padding: 17px 15px;
        min-height: 84px;
        border-right: 1px solid #dbe9f6;
        display: flex;
        gap: 12px;
        align-items: center;
      }
      .att-col:last-child {
        border-right: 0;
      }
      .att-title {
        font-size: 20px;
        color: var(--azul);
        font-weight: 900;
      }
      .att-col i {
        color: var(--azul);
        font-size: 25px;
      }
      .att-col b {
        display: block;
        color: #173350;
        margin-bottom: 3px;
      }
      .att-col small {
        display: block;
        color: #687789;
        font-size: 12.5px;
        line-height: 1.35;
      }
      .att-highlight {
        background: linear-gradient(135deg, var(--azul), var(--azul2));
        color: white;
      }
      .att-highlight i,
      .att-highlight b,
      .att-highlight small {
        color: white;
      } /* FOOTER */
      footer {
        background: #081d37;
        color: white;
        margin-top: 20px;
        padding-top: 34px;
      }
      .footer-grid {
        display: grid;
        grid-template-columns: 1.2fr 0.8fr 0.8fr 0.8fr 1fr;
        gap: 22px;
        padding-bottom: 28px;
      }
      .footer-brand img {
        width: 95px;
        background: white;
        border-radius: 10px;
        padding: 6px;
        margin-bottom: 12px;
      }
      footer h4 {
        font-size: 15px;
        margin-bottom: 10px;
      }
      footer p,
      footer li {
        font-size: 13px;
        line-height: 1.7;
        color: #d2dbe8;
        list-style: none;
      }
      .numbers {
        background: rgba(255, 255, 255, 0.08);
        border-radius: 14px;
        padding: 14px;
      }
      .numbers li {
        display: flex;
        justify-content: space-between;
        gap: 10px;
      }
      .numbers b {
        color: #ffb427;
      }
      .footer-bottom {
        background: #061426;
        color: #d2dbe8;
        padding: 12px 0;
        font-size: 12px;
      }
      .footer-bottom .container {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
      }
      .float-wp {
        bottom: 18px;
        width: 58px;
        height: 58px;
        background: #25d366;
        font-size: 30px;
      } /* MODAL GENERAL */
      .modal {
        position: fixed;
        inset: 0;
        background: rgba(6, 19, 36, 0.68);
        display: none;
        align-items: center;
        justify-content: center;
        padding: 20px;
        z-index: 5000;
      }
      .modal.show {
        display: flex;
      }
      .modal-box {
        width: min(900px, 100%);
        max-height: 92vh;
        overflow: auto;
        background: white;
        border-radius: 22px;
        box-shadow: 0 30px 90px rgba(0, 0, 0, 0.35);
      }
      .modal-head {
        background: linear-gradient(135deg, var(--azul), var(--azulOsc));
        color: white;
        padding: 24px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
      }
      .modal-title-wrap {
        display: flex;
        gap: 12px;
        align-items: flex-start;
      }
      .modal-icon {
        width: 50px;
        height: 50px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.16);
        display: grid;
        place-items: center;
        font-size: 24px;
        flex: 0 0 auto;
      }
      .modal-head h2 {
        font-size: 27px;
        margin-bottom: 6px;
        line-height: 1.15;
      }
      .modal-head p {
        color: #dceeff;
        line-height: 1.4;
      }
      .modal-close {
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 50%;
        background: white;
        color: var(--azul);
        font-size: 22px;
        cursor: pointer;
        flex: 0 0 auto;
      }
      .modal-body {
        padding: 22px;
      }
      .modal-body p {
        color: #4f5c71;
        line-height: 1.6;
        margin-bottom: 14px;
      }
      .modal-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin: 16px 0;
      }
      .modal-info {
        border: 1px solid var(--borde);
        background: #fbfdff;
        border-radius: 14px;
        padding: 14px;
      }
      .modal-info b {
        display: block;
        color: #1b3554;
        margin-bottom: 6px;
      }
      .modal-info small {
        display: block;
        color: #6a7689;
        line-height: 1.4;
      }
      .modal-actions {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        margin-top: 12px;
      }
      .modal-note {
        background: #fff4e5;
        border: 1px solid #ffd89d;
        color: #7a4a00;
        border-radius: 14px;
        padding: 14px;
        line-height: 1.5;
        margin-top: 10px;
      }
      .modal-news-img {
        width: 100%;
        max-height: 360px;
        object-fit: cover;
        border-radius: 16px;
        margin-bottom: 18px;
        border: 1px solid var(--borde);
      } /* PANEL ADMIN */
      .admin-panel {
        position: fixed;
        inset: 0;
        background: rgba(6, 19, 36, 0.7);
        display: none;
        z-index: 6000;
        overflow: auto;
        padding: 20px;
      }
      .admin-panel.show {
        display: block;
      }
      .admin-shell {
        width: min(1180px, 100%);
        background: #fff;
        border-radius: 24px;
        margin: auto;
        box-shadow: 0 30px 90px rgba(0, 0, 0, 0.35);
        overflow: hidden;
      }
      .admin-head {
        background: linear-gradient(135deg, #082946, #0072bc);
        color: white;
        padding: 22px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
      }
      .admin-head h2 {
        font-size: 26px;
        margin-bottom: 6px;
      }
      .admin-head p {
        color: #dceeff;
        line-height: 1.4;
      }
      .admin-close {
        border: 0;
        background: white;
        color: var(--azul);
        border-radius: 50%;
        width: 42px;
        height: 42px;
        font-size: 22px;
        cursor: pointer;
        flex: 0 0 auto;
      }
      .admin-body {
        padding: 20px;
        display: grid;
        grid-template-columns: 1fr 1.2fr;
        gap: 18px;
        align-items: start;
      }
      .admin-card {
        border: 1px solid var(--borde);
        border-radius: 18px;
        padding: 16px;
        background: #fbfdff;
      }
      .admin-card h3 {
        color: #173350;
        font-size: 20px;
        margin-bottom: 12px;
      }
      .form-grid {
        display: grid;
        gap: 10px;
      }
      .form-row {
        display: grid;
        gap: 6px;
      }
      .form-row label {
        font-size: 13px;
        font-weight: 900;
        color: #31445f;
      }
      .form-row input,
      .form-row textarea,
      .form-row select {
        width: 100%;
        border: 1px solid #d7e4f1;
        border-radius: 11px;
        padding: 11px 12px;
        outline: none;
        font-size: 14px;
        background: white;
      }
      .form-row textarea {
        min-height: 110px;
        resize: vertical;
        line-height: 1.5;
      }
      .admin-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 12px;
      }
      .admin-list {
        display: grid;
        gap: 10px;
        max-height: 550px;
        overflow: auto;
        padding-right: 4px;
      }
      .admin-list-item {
        display: grid;
        grid-template-columns: 90px 1fr auto;
        gap: 12px;
        align-items: center;
        border: 1px solid var(--borde);
        border-radius: 14px;
        padding: 10px;
        background: white;
      }
      .admin-list-item img {
        width: 90px;
        height: 58px;
        object-fit: cover;
        border-radius: 10px;
        background: #eef5fb;
      }
      .admin-list-item b {
        display: block;
        font-size: 14px;
        color: #173350;
        margin-bottom: 3px;
      }
      .admin-list-item small {
        display: block;
        color: var(--muted);
        line-height: 1.35;
        font-size: 12px;
      }
      .admin-icon-btn {
        border: 0;
        background: var(--azul);
        color: white;
        border-radius: 10px;
        width: 36px;
        height: 36px;
        cursor: pointer;
      }
      .admin-icon-btn.delete {
        background: #e74c3c;
      }
      .admin-small {
        color: var(--muted);
        font-size: 12px;
        line-height: 1.4;
        margin-top: 8px;
      } /* RESPONSIVE */
      @media (max-width: 1100px) {
        .menu {
          gap: 14px;
        }
        .quick-grid {
          grid-template-columns: repeat(4, 1fr);
        }
        .news-grid,
        .services-grid {
          grid-template-columns: repeat(2, 1fr);
        }
        .guide-layout,
        .cuotas-banner,
        .tour-grid {
          grid-template-columns: 1fr;
        }
        .attention {
          grid-template-columns: repeat(2, 1fr);
        }
        .footer-grid {
          grid-template-columns: repeat(2, 1fr);
        }
        .search-results {
          grid-template-columns: repeat(2, 1fr);
        }
        .admin-body {
          grid-template-columns: 1fr;
        }
      }
      @media (max-width: 780px) {
        .top-strip,
        .topbar {
          display: none;
        }
        .nav {
          min-height: 66px;
        }
        .brand img {
          width: 56px;
        }
        .brand strong {
          font-size: 13px;
        }
        .brand small {
          font-size: 9.5px;
        }
        .hamb {
          display: grid;
          place-items: center;
        }
        .menu {
          position: fixed;
          top: 66px;
          left: 0;
          right: 0;
          background: white;
          box-shadow: var(--shadow);
          flex-direction: column;
          align-items: stretch;
          padding: 14px 18px;
          gap: 0;
          transform: translateY(-140%);
          transition: 0.25s ease;
          max-height: calc(100vh - 66px);
          overflow: auto;
        }
        .menu.open {
          transform: translateY(0);
        }
        .nav-link {
          padding: 12px 0;
          justify-content: space-between;
          width: 100%;
        }
        .nav-link.active::after {
          display: none;
        }
        .dropdown {
          position: static;
          transform: none;
          width: 100%;
          opacity: 1;
          pointer-events: auto;
          display: none;
          box-shadow: none;
          margin: 4px 0 10px;
        }
        .nav-item.open .dropdown {
          display: block;
          transform: none;
        }
        .nav-item:hover .dropdown {
          transform: none;
        }
        .dropdown-grid {
          grid-template-columns: 1fr;
        }
        .header-actions {
          margin-left: auto;
        }
        .search-btn,
        .admin-btn {
          display: none;
        }
        .pay-btn {
          height: 37px;
          padding: 0 12px;
          font-size: 12px;
        }
        .hero {
          min-height: 330px;
        }
        .hero .container {
          min-height: 330px;
        }
        .hero h1 {
          font-size: 38px;
        }
        .hero p {
          font-size: 14.5px;
        }
        .hero-content {
          padding: 32px 0 48px;
        }
        .quick-grid {
          grid-template-columns: repeat(2, 1fr);
        }
        section {
          padding: 22px 0;
        }
        .news-grid,
        .services-grid,
        .guide-grid,
        .inst-grid,
        .attention,
        .footer-grid,
        .modal-grid,
        .search-results {
          grid-template-columns: 1fr;
        }
        .guide-search {
          grid-template-columns: 1fr;
        }
        .main-banner,
        .vet-banner {
          min-height: 230px;
        }
        .main-banner img,
        .vet-banner img {
          min-height: 230px;
        }
        .banner-content {
          left: 20px;
          bottom: 20px;
          right: 20px;
        }
        .banner-content h2 {
          font-size: 27px;
        }
        .cuotas-content {
          padding: 22px;
        }
        .cuotas-content h2 {
          font-size: 38px;
        }
        .cuotas-box {
          border-width: 6px;
          padding: 16px;
        }
        .cuotas-box::after {
          width: 56px;
          height: 56px;
          right: -20px;
          top: -24px;
          font-size: 27px;
          border-width: 5px;
        }
        .cuotas-pill {
          font-size: 16px;
          border-width: 4px;
        }
        .cuotas-toro img {
          max-width: 220px;
        }
        .att-col {
          border-right: 0;
          border-bottom: 1px solid #dbe9f6;
        }
        .modal-title-wrap {
          flex-direction: column;
        }
        .admin-list-item {
          grid-template-columns: 72px 1fr;
        }
        .admin-list-item img {
          width: 72px;
          height: 54px;
        }
        .admin-list-item > div:last-child {
          grid-column: 1 / -1;
          display: flex;
          gap: 8px;
        }
      }

      /* AJUSTES SOLICITADOS - LIMPIO FINAL */
      .dropdown-wide {
        width: 520px;
      }

      .admin-dot {
        width: 13px;
        height: 13px;
        min-width: 13px;
        padding: 0;
        border-radius: 50%;
        background: var(--azul);
        box-shadow: 0 0 0 4px rgba(0, 114, 188, 0.12);
        font-size: 0;
      }

      body img,
      .main-banner img,
      .vet-banner img,
      .tour-card img,
      .modal-news-img {
        opacity: 1 !important;
        filter: none !important;
        
      }

      .hero {
        background:
          linear-gradient(
            90deg,
            rgba(6, 29, 52, 0.72),
            rgba(6, 29, 52, 0.46),
            rgba(6, 29, 52, 0.82)
          ),
          var(--hero-image, url("assets/img/portada.png")) center/cover
            no-repeat;
      }

      .main-banner::after,
      .vet-banner::after,
      .news-img::after {
        display: none;
      }

      .banner-content {
        background: rgba(6, 29, 52, 0.82);
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 18px;
        padding: 18px;
        backdrop-filter: blur(4px);
      }

      .news-img {
        background-position: center;
      }

      .quick-card span,
      .guide-item span,
      .inst-card span,
      .service-card h3,
      .tour-card h3,
      .drop-btn b,
      .news-body h3 {
        color: #07182d !important;
        font-weight: 900;
      }

      .service-card p,
      .tour-card p,
      .news-body p {
        color: #526174;
      }

      .mobile-guide-select {
        display: none;
      }

      .cuotas-banner {
        min-height: 300px;
        grid-template-columns: minmax(0, 1fr) 330px;
        gap: 10px;
        align-items: center;
      }

      .cuotas-content {
        max-width: 780px;
      }

      .cuotas-box {
        max-width: 560px;
      }

      .cuotas-toro {
        align-items: center;
        justify-content: center;
        padding: 12px 22px;
      }

      .cuotas-toro img {
        max-width: 250px;
        width: 100%;
        object-fit: contain;
      }

      .tour-grid {
        grid-template-columns: 220px repeat(4, minmax(0, 1fr));
      }

      .tour-card img {
        height: 140px;
      }

      @media (max-width: 780px) {
        .container {
          width: min(94%, 520px);
        }

        .nav {
          min-height: 64px;
          gap: 8px;
        }

        .brand img {
          width: 52px;
        }

        .brand strong {
          font-size: 12px;
        }

        .brand small {
          display: none;
        }

        .header-actions {
          gap: 7px;
        }

        .pay-btn,
        .hamb {
          width: 42px;
          height: 42px;
          min-width: 42px;
          border-radius: 12px;
          padding: 0;
          display: grid;
          place-items: center;
        }

        .pay-btn {
          font-size: 0;
        }

        .pay-btn i,
        .hamb i {
          font-size: 20px;
        }

        .admin-dot {
          width: 10px;
          height: 10px;
          min-width: 10px;
          box-shadow: 0 0 0 3px rgba(0, 114, 188, 0.13);
        }

        .menu {
          top: 64px;
          max-height: calc(100vh - 64px);
        }

        .dropdown-wide {
          width: 100%;
        }

        .hero,
        .hero .container {
          min-height: 415px;
        }

        .hero {
          background-position: center;
        }

        .hero-content {
          max-width: 100%;
          padding: 28px 0 56px;
        }

        .hero h1 {
          font-size: 31px;
          letter-spacing: -1.2px;
        }

        .hero p {
          font-size: 13.5px;
        }

        .hero-actions .btn {
          width: 100%;
          min-height: 38px;
        }

        .quick-wrap {
          margin-top: -14px;
        }

        .quick-card span,
        .service-card h3,
        .guide-item span,
        .inst-card span {
          color: #07182d !important;
        }

        .section-link {
          display: none;
        }

        .main-banner,
        .vet-banner {
          min-height: auto;
          background: #fff;
        }

        .main-banner img,
        .vet-banner img {
          width: 100%;
          height: auto;
          min-height: 0;
          object-fit: contain;
        }

        .main-banner {
          display: grid;
        }

        .banner-content {
          position: static;
          margin: 0;
          border-radius: 0 0 20px 20px;
          background: #082946;
          color: #fff;
        }

        .banner-content h2 {
          font-size: 23px;
        }

        .vet-button-only {
          left: 14px;
          bottom: 14px;
        }

        .guide-layout {
          grid-template-columns: 1fr;
        }

        .guide-search {
          grid-template-columns: 1fr;
        }

        .mobile-guide-select {
          display: grid;
          grid-template-columns: 1fr 48px;
          gap: 8px;
          margin-bottom: 4px;
        }

        .mobile-guide-select select,
        .mobile-guide-select button {
          height: 46px;
          border-radius: 12px;
          border: 1px solid #d7e4f1;
          background: white;
          color: #07182d;
          font-weight: 900;
          padding: 0 12px;
        }

        .mobile-guide-select button {
          border: 0;
          background: linear-gradient(135deg, var(--azul), var(--azul2));
          color: white;
          font-size: 18px;
        }

        .chips,
        .guide-grid,
        .transparency-box {
          display: none !important;
        }

        .services-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 10px;
        }

        .service-card {
          min-height: 122px;
          padding: 12px 8px;
          flex-direction: column;
          align-items: center;
          justify-content: flex-start;
          text-align: center;
          gap: 8px;
        }

        .service-card .icon {
          width: 42px;
          height: 42px;
          flex: 0 0 42px;
        }

        .service-card h3 {
          font-size: 13px;
          line-height: 1.15;
          margin-bottom: 3px;
        }

        .service-card p {
          font-size: 11.2px;
          line-height: 1.25;
        }

        .cuotas-banner {
          grid-template-columns: 1fr;
          border-width: 5px;
          min-height: auto;
          padding-bottom: 0;
        }

        .cuotas-content {
          padding: 18px 14px 8px;
        }

        .cuotas-kicker {
          font-size: 12px;
          border-width: 3px;
          margin-bottom: 10px;
        }

        .cuotas-box {
          border-width: 5px;
          border-radius: 22px;
          padding: 14px;
        }

        .cuotas-content h2 {
          font-size: 34px;
        }

        .cuotas-line {
          font-size: 15px;
          padding: 8px 0;
        }

        .cuotas-small {
          font-size: 12px;
        }

        .cuotas-info {
          gap: 7px;
          margin-top: 10px;
        }

        .cuotas-pill {
          font-size: 13px;
          padding: 8px 12px;
          border-width: 3px;
        }

        .cuotas-text {
          font-size: 12px;
        }

        .cuotas-actions .btn {
          width: 100%;
        }

        .cuotas-toro {
          padding: 0 10px 8px;
          min-height: 120px;
        }

        .cuotas-toro img {
          max-width: 155px;
        }

        .tour-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 10px;
        }

        .tour-title {
          grid-column: 1 / -1;
          background: linear-gradient(135deg, #eef8ff, #ffffff);
          border: 1px solid var(--borde);
          border-radius: 16px;
          padding: 16px;
        }

        .tour-title h2 {
          font-size: 24px;
        }

        .tour-card img {
          height: 96px;
          object-fit: cover;
        }

        .tour-card div {
          padding: 10px;
        }

        .tour-card h3 {
          font-size: 13px;
        }

        .tour-card p {
          font-size: 11px;
        }

        .news-img {
          height: 160px;
        }

        .float-wp {
          width: 52px;
          height: 52px;
        }
      }

      /* ===== AJUSTES FINALES SOLICITADOS ===== */
      :root {
        --maipu-blue: #0072bc;
        --maipu-sky: #0d8fd3;
        --maipu-green: #72c943;
        --maipu-orange: #f59b12;
        --maipu-ink: #07182d;
      }

      .admin-dot {
        width: auto;
        min-width: 56px;
        height: 34px;
        padding: 0 12px;
        border-radius: 999px;
        background: linear-gradient(135deg, var(--maipu-blue), var(--maipu-sky));
        color: #fff;
        font-size: 11px;
        font-weight: 900;
        box-shadow: 0 0 0 4px rgba(0, 114, 188, 0.12);
        text-transform: uppercase;
        letter-spacing: .2px;
      }

      .admin-dot:hover {
        transform: translateY(-1px);
      }

      .site-banner-section {
        padding: 20px 0;
      }

      .site-banner {
        position: relative;
        display: block;
        height: 232px;
        min-height: 232px;
        border-radius: 24px;
        overflow: hidden;
        box-shadow: var(--shadow);
        background:
          radial-gradient(circle at 88% 20%, rgba(255,255,255,.34) 0 70px, transparent 72px),
          linear-gradient(135deg, #0072bc 0%, #0d8fd3 48%, #72c943 100%);
        border: 1px solid #d7eefb;
        isolation: isolate;
      }

      .site-banner.banner-green {
        background:
          radial-gradient(circle at 86% 24%, rgba(255,255,255,.34) 0 70px, transparent 72px),
          linear-gradient(135deg, #0072bc 0%, #19a7d8 45%, #72c943 100%);
      }

      .site-banner.banner-orange {
        background:
          radial-gradient(circle at 84% 30%, rgba(255,255,255,.28) 0 72px, transparent 74px),
          linear-gradient(135deg, #082946 0%, #0072bc 44%, #f59b12 100%);
      }

      .site-banner img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 1 !important;
        filter: none !important;
      }

      .site-banner.has-img::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgba(6,29,52,.82), rgba(6,29,52,.36), rgba(6,29,52,.18));
        z-index: 1;
      }

      .site-banner.no-img::before {
        content: "";
        position: absolute;
        right: -40px;
        bottom: -60px;
        width: 250px;
        height: 250px;
        border-radius: 50%;
        background: rgba(255,255,255,.16);
      }

      .site-banner-info {
        position: absolute;
        left: 26px;
        bottom: 24px;
        z-index: 2;
        max-width: 620px;
        color: #fff;
      }

      .site-banner-kicker {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        background: rgba(255,255,255,.16);
        border: 1px solid rgba(255,255,255,.28);
        border-radius: 999px;
        padding: 7px 12px;
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: .45px;
        margin-bottom: 10px;
        backdrop-filter: blur(4px);
      }

      .site-banner-info h2 {
        font-size: clamp(25px, 3.4vw, 40px);
        line-height: 1;
        letter-spacing: -1px;
        margin-bottom: 8px;
        font-weight: 900;
      }

      .site-banner-info p {
        max-width: 560px;
        font-size: 14px;
        line-height: 1.45;
        color: #eef8ff;
        font-weight: 700;
      }

      .site-banner-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-top: 12px;
        font-size: 13px;
        font-weight: 900;
        color: #fff;
      }

      .site-banner-link i {
        font-size: 17px;
      }

      .guide-search {
        grid-template-columns: 1fr 138px;
      }

      .guide-search button {
        min-height: 46px;
        border-radius: 14px;
        background: linear-gradient(135deg, var(--maipu-blue), var(--maipu-sky));
        box-shadow: 0 10px 22px rgba(0,114,188,.18);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-size: 14px;
      }

      .guide-search button::before {
        content: "\F52A";
        font-family: "bootstrap-icons";
        font-size: 16px;
      }

      .modal-box {
        width: min(740px, 94%);
        border-radius: 20px;
      }

      .modal-head {
        background: linear-gradient(135deg, #0072bc, #0d8fd3);
        padding: 18px 20px;
      }

      .modal-head h2 {
        font-size: 22px;
      }

      .modal-head p {
        font-size: 14px;
      }

      .modal-icon {
        background: #fff;
        width: 54px;
        height: 54px;
        border-radius: 16px;
        padding: 6px;
      }

      .modal-icon img {
        width: 100%;
        height: 100%;
        object-fit: contain;
      }

      .modal-body {
        padding: 18px 20px 20px;
      }

      .modal-news-img {
        max-height: 260px;
        border-radius: 14px;
      }

      .tour-grid-clean {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }

      .tour-grid-clean .tour-card img {
        height: 150px;
      }

      .admin-body-new {
        grid-template-columns: 1fr 1fr;
      }

      .admin-card-wide {
        grid-column: 1 / -1;
      }

      .mini-list {
        max-height: 280px;
      }

      .admin-list-item .admin-mini-actions {
        display: flex;
        gap: 6px;
      }

      .banner-admin-thumb {
        background: linear-gradient(135deg, #eef8ff, #fff);
      }

      @media (max-width: 780px) {
        .nav {
          min-height: 62px;
          gap: 7px;
        }

        .brand {
          order: 1;
          min-width: 0;
          gap: 7px;
        }

        .brand img {
          width: 48px;
        }

        .brand strong {
          font-size: 11.5px;
          max-width: 116px;
        }

        .header-actions {
          order: 2;
          margin-left: auto;
          gap: 6px;
        }

        .hamb {
          order: 3;
          width: 40px;
          height: 40px;
          min-width: 40px;
          border-radius: 12px;
        }

        .menu {
          order: 4;
          top: 62px;
          max-height: calc(100vh - 62px);
        }

        .pay-btn {
          width: 40px;
          height: 40px;
          min-width: 40px;
          padding: 0;
          border-radius: 12px;
          font-size: 0;
        }

        .pay-btn i {
          font-size: 18px;
        }

        .admin-dot {
          display: inline-flex !important;
          align-items: center;
          justify-content: center;
          min-width: 42px;
          width: 42px;
          height: 40px;
          padding: 0;
          border-radius: 12px;
          font-size: 9px;
          letter-spacing: 0;
          box-shadow: 0 0 0 3px rgba(0,114,188,.12);
        }

        .search-btn {
          display: none !important;
        }

        .site-banner {
          height: 190px;
          min-height: 190px;
          border-radius: 20px;
        }

        .site-banner img {
          object-fit: cover;
        }

        .site-banner.has-img::after {
          background: linear-gradient(90deg, rgba(6,29,52,.82), rgba(6,29,52,.46));
        }

        .site-banner-info {
          left: 16px;
          right: 16px;
          bottom: 16px;
          max-width: none;
        }

        .site-banner-kicker {
          font-size: 9px;
          padding: 6px 9px;
          margin-bottom: 8px;
        }

        .site-banner-info h2 {
          font-size: 22px;
          line-height: 1.03;
        }

        .site-banner-info p {
          font-size: 12px;
          line-height: 1.35;
        }

        .site-banner-link {
          font-size: 11px;
          margin-top: 8px;
        }

        .guide-search {
          grid-template-columns: 1fr;
        }

        .guide-search button {
          min-height: 44px;
          width: 100%;
          border-radius: 13px;
        }

        .tour-grid-clean {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 10px;
        }

        .tour-grid-clean .tour-card img {
          height: 105px;
        }

        .admin-body-new {
          grid-template-columns: 1fr;
        }

        .admin-card-wide {
          grid-column: auto;
        }

        .modal {
          align-items: flex-start;
          padding-top: 82px;
        }

        .modal-box {
          width: min(94%, 520px);
          max-height: 82vh;
        }

        .modal-head {
          padding: 16px;
        }

        .modal-title-wrap {
          flex-direction: row;
          align-items: center;
        }

        .modal-icon {
          width: 48px;
          height: 48px;
        }

        .modal-head h2 {
          font-size: 18px;
        }

        .modal-head p {
          font-size: 12px;
        }

        .modal-body {
          padding: 16px;
        }
      }

      /* ===== AJUSTES FINALES PEDIDOS ===== */

      /* Portada: imagen con brillo real, solo leve sombra a la derecha */
      .hero {
        background: var(--hero-image, url("assets/img/portada.png")) center/cover no-repeat !important;
        isolation: isolate;
      }

      .hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          90deg,
          rgba(6, 29, 52, 0.10) 0%,
          rgba(6, 29, 52, 0.06) 45%,
          rgba(6, 29, 52, 0.38) 100%
        );
        z-index: 1;
        pointer-events: none;
      }

      .hero-content {
        text-shadow: 0 3px 12px rgba(0, 0, 0, 0.38);
      }

      .hero-actions .btn {
        min-height: 38px;
        padding: 0 14px;
        font-size: 13px;
        border-radius: 9px;
      }

      /* Todas las imágenes con brillo completo */
      img,
      .site-banner img,
      .main-banner img,
      .vet-banner img,
      .tour-card img,
      .news-img,
      .modal-news-img {
        opacity: 1 !important;
        filter: none !important;
      }

      /* Banners: solo imagen + link, sin texto ni capas opacas */
      .site-banner-section {
        padding: 18px 0;
      }

      .site-banner {
        display: block;
        width: 100%;
        height: 232px;
        min-height: 232px;
        border-radius: 24px;
        overflow: hidden;
        background: #eef8ff;
        border: 1px solid #d7eefb;
        box-shadow: var(--shadow);
      }

      .site-banner img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
      }

      .site-banner::before,
      .site-banner::after,
      .site-banner.has-img::after,
      .site-banner.no-img::before,
      .site-banner-info,
      .site-banner-kicker,
      .site-banner-link {
        display: none !important;
      }

      /* Admin banners: solo imagen y link */
      .admin-banner-title-row,
      .admin-banner-text-row {
        display: none !important;
      }

      .admin-banner-note {
        background: #eef8ff;
        border: 1px solid #d7e8f7;
        border-radius: 13px;
        padding: 12px;
        color: #173350;
        font-size: 13px;
        line-height: 1.45;
        font-weight: 700;
      }

      .admin-banner-note b {
        color: var(--azul);
      }

      .banner-admin-thumb {
        object-fit: cover !important;
      }

      /* Header móvil: botón pago en línea centrado */
      @media (max-width: 780px) {
        .header-actions {
          gap: 7px;
          margin-left: auto;
        }

        .pay-btn,
        .hamb {
          width: 42px !important;
          height: 42px !important;
          min-width: 42px !important;
          padding: 0 !important;
          border-radius: 12px !important;
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          text-align: center !important;
        }

        .pay-btn {
          font-size: 0 !important;
        }

        .pay-btn i,
        .hamb i {
          font-size: 20px !important;
          line-height: 1 !important;
          margin: 0 !important;
        }

        .hero-actions {
          gap: 8px;
        }

        .hero-actions .btn {
          min-height: 35px;
          padding: 0 12px;
          font-size: 12px;
          border-radius: 9px;
        }

        .site-banner {
          height: auto;
          min-height: 0;
          border-radius: 18px;
        }

        .site-banner img {
          height: auto;
          min-height: 0;
          object-fit: contain;
        }
      }
/* Banner 3 más alto solo en computadora */
#bannerSlot3 .site-banner {
  height: 390px;
  min-height: 390px;
}

#bannerSlot3 .site-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* En celular se ve igual que los otros banners, sin recuadro */
@media (max-width: 780px) {
  #bannerSlot3 .site-banner {
    height: auto;
    min-height: 0;
    border-radius: 18px;
    border: 1px solid #d7eefb;
    box-shadow: var(--shadow);
  }

  #bannerSlot3 .site-banner img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}@media (max-width: 780px) {
  #bannerSlot3 .site-banner {
    height: auto;
    min-height: 0;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    background: transparent;
  }

  #bannerSlot3 .site-banner img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}

      /* =========================================================
         CORRECCIÓN FINAL PORTADA MÓVIL
         Botones del hero uno debajo del otro, como la referencia 2.
         ========================================================= */
      @media (max-width: 780px) {
        .hero-actions {
          display: flex !important;
          flex-direction: column !important;
          align-items: flex-start !important;
          justify-content: flex-start !important;
          gap: 8px !important;
          flex-wrap: nowrap !important;
          width: 100% !important;
          max-width: 236px !important;
        }

        .hero-actions .btn {
          width: 100% !important;
          min-height: 38px !important;
          padding: 0 14px !important;
          border-radius: 10px !important;
          display: flex !important;
          align-items: center !important;
          justify-content: center !important;
          gap: 8px !important;
          font-size: 13px !important;
          white-space: nowrap !important;
        }
      }

      /* ===== AJUSTES FINALES: CELULAR, BUSCADOR, NOMBRE Y CARRUSEL DE NOTICIAS ===== */
      .news-carousel-wrap {
        position: relative;
      }

      .news-arrow {
        display: none;
      }

      .admin-btn,
      .admin-dot {
        display: none !important;
      }

      @media (max-width: 780px) {
        .header .container.nav {
          width: min(96%, 540px);
        }

        .brand {
          flex: 1 1 auto;
          min-width: 0;
        }

        .brand img {
          width: 44px;
          flex: 0 0 44px;
        }

        .brand strong {
          max-width: none !important;
          white-space: nowrap;
          overflow: visible;
          font-size: 13px;
          line-height: 1.05;
        }

        .brand small {
          display: block;
          font-size: 8.5px;
          letter-spacing: .25px;
        }

        .header-actions {
          flex: 0 0 auto;
          margin-left: 4px;
        }

        .search-btn {
          display: grid !important;
          width: 40px;
          height: 40px;
          min-width: 40px;
          padding: 0;
          border-radius: 12px;
          font-size: 0;
          place-items: center;
          background: linear-gradient(135deg, var(--azul), var(--azul2));
          color: white;
          border: 0;
          box-shadow: 0 10px 20px rgba(0, 114, 188, 0.18);
        }

        .search-btn i {
          font-size: 18px;
        }

        .pay-btn {
          width: 40px;
          height: 40px;
          min-width: 40px;
          border-radius: 12px;
        }

        .hamb {
          width: 40px;
          height: 40px;
          min-width: 40px;
          border-radius: 12px;
        }

        .hero,
        .hero .container {
          min-height: 462px;
        }

        .hero {
          background:
            linear-gradient(180deg, rgba(6, 29, 52, 0.34), rgba(6, 29, 52, 0.76)),
            var(--hero-image, url("assets/img/portada.png")) center/cover no-repeat !important;
        }

        .hero::after {
          left: -28%;
          right: -28%;
          bottom: -78px;
          height: 128px;
          border-radius: 0 0 50% 50%;
          border-radius: 50% 50% 0 0;
        }

        .hero .container {
          align-items: flex-start;
        }

        .hero-content {
          padding: 50px 0 74px;
        }

        .hero-badge {
          font-size: 10px;
          padding: 8px 12px;
          margin-bottom: 14px;
        }

        .hero h1 {
          font-size: 31px;
          line-height: .96;
          letter-spacing: -1.1px;
          max-width: 340px;
        }

        .hero p {
          max-width: 330px;
          font-size: 13.5px;
          line-height: 1.45;
          margin-bottom: 17px;
        }

        .hero-actions {
          display: grid;
          grid-template-columns: 1fr;
          gap: 10px;
          max-width: 236px;
        }

        .hero-actions .btn {
          width: 100%;
          min-height: 38px;
          border-radius: 11px;
          font-size: 12.5px;
        }

        .hero-dots {
          justify-content: center;
          max-width: 236px;
          margin-top: 14px;
        }

        .quick-wrap {
          margin-top: -12px;
        }

        .news-carousel-wrap {
          padding: 0 38px;
          margin-top: 4px;
        }

        .news-grid {
          display: flex !important;
          grid-template-columns: none !important;
          gap: 12px;
          overflow-x: auto;
          overflow-y: hidden;
          scroll-snap-type: x mandatory;
          scroll-behavior: smooth;
          -webkit-overflow-scrolling: touch;
          scrollbar-width: none;
        }

        .news-grid::-webkit-scrollbar {
          display: none;
        }

        .news-card {
          min-width: 100%;
          flex: 0 0 100%;
          scroll-snap-align: center;
        }

        .news-img {
          height: 172px;
        }

        .news-arrow {
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          z-index: 6;
          display: grid;
          place-items: center;
          width: 34px;
          height: 44px;
          border: 0;
          border-radius: 14px;
          background: linear-gradient(135deg, var(--azul), var(--azul2));
          color: white;
          box-shadow: 0 12px 22px rgba(0, 114, 188, 0.22);
          cursor: pointer;
          font-size: 18px;
        }

        .news-prev {
          left: 0;
        }

        .news-next {
          right: 0;
        }

        .search-panel {
          padding: 78px 12px 16px;
        }

        .search-head {
          padding: 14px;
        }

        .search-head input {
          height: 44px;
          font-size: 13px;
        }
      }

      @media (max-width: 390px) {
        .brand img {
          width: 40px;
          flex-basis: 40px;
        }

        .brand strong {
          font-size: 12.2px;
        }

        .brand small {
          font-size: 7.8px;
        }

        .search-btn,
        .pay-btn,
        .hamb {
          width: 38px;
          height: 38px;
          min-width: 38px;
        }

        .header-actions {
          gap: 5px;
        }

        .hero h1 {
          font-size: 29px;
        }
      }

      /* ===== AJUSTE FINAL HEADER MOBILE: SIN PAGO, LUPA Y MENÚ CENTRADOS ===== */
      @media (max-width: 780px) {
        .header .container.nav {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 7px;
        }

        .brand {
          flex: 1 1 auto;
          min-width: 0;
        }

        .brand strong {
          white-space: nowrap;
          overflow: visible;
          text-overflow: clip;
          max-width: none !important;
        }

        .header-actions {
          order: 2;
          flex: 0 0 auto;
          display: flex !important;
          align-items: center;
          justify-content: center;
          gap: 6px;
          margin-left: auto;
        }

        .pay-btn {
          display: none !important;
        }

        .search-btn,
        .hamb {
          width: 40px !important;
          height: 40px !important;
          min-width: 40px !important;
          padding: 0 !important;
          border-radius: 12px !important;
          background: #ffffff !important;
          color: var(--azul) !important;
          border: 2px solid var(--azul) !important;
          box-shadow: 0 8px 18px rgba(0, 114, 188, 0.12) !important;
          display: grid !important;
          place-items: center !important;
          align-items: center !important;
          justify-content: center !important;
          line-height: 1 !important;
        }

        .search-btn {
          font-size: 0 !important;
        }

        .search-btn i,
        .hamb i {
          display: block !important;
          margin: 0 !important;
          padding: 0 !important;
          line-height: 1 !important;
          color: var(--azul) !important;
        }

        .search-btn i {
          font-size: 19px !important;
        }

        .hamb {
          order: 3;
          font-size: 0 !important;
        }

        .hamb i {
          font-size: 23px !important;
        }
      }

      @media (max-width: 390px) {
        .search-btn,
        .hamb {
          width: 38px !important;
          height: 38px !important;
          min-width: 38px !important;
        }

        .search-btn i {
          font-size: 18px !important;
        }

        .hamb i {
          font-size: 22px !important;
        }
      }

      /* ===== AJUSTE FINAL: LUPA AZUL SIN RECUADRO EN CELULAR ===== */
      @media (max-width: 780px) {
        .header-actions .pay-btn {
          display: none !important;
        }

        .header-actions .search-btn {
          width: 34px !important;
          height: 40px !important;
          min-width: 34px !important;
          padding: 0 !important;
          border: 0 !important;
          border-radius: 0 !important;
          background: transparent !important;
          box-shadow: none !important;
          display: grid !important;
          place-items: center !important;
          line-height: 1 !important;
        }

        .header-actions .search-btn i {
          color: var(--azul) !important;
          font-size: 26px !important;
          font-weight: 900 !important;
          line-height: 1 !important;
          margin: 0 !important;
          padding: 0 !important;
          -webkit-text-stroke: 0.65px var(--azul);
          text-shadow: 0 0 0 var(--azul);
        }
      }

      @media (max-width: 390px) {
        .header-actions .search-btn {
          width: 32px !important;
          height: 38px !important;
          min-width: 32px !important;
        }

        .header-actions .search-btn i {
          font-size: 25px !important;
        }
      }

      /* =========================================================
         CORRECCIÓN PEDIDA: ADMIN EN COMPUTADORA + LOGIN
         LUPA MÁS ABAJO EN CELULAR + HAMBURGUESA AZUL CON RAYAS BLANCAS
         ========================================================= */
      .admin-login-panel {
        position: fixed;
        inset: 0;
        background: rgba(6, 19, 36, 0.72);
        display: none;
        align-items: center;
        justify-content: center;
        padding: 20px;
        z-index: 6500;
      }

      .admin-login-panel.show {
        display: flex;
      }

      .admin-login-box {
        width: min(430px, 94%);
        background: #ffffff;
        border-radius: 24px;
        overflow: hidden;
        box-shadow: 0 30px 90px rgba(0, 0, 0, 0.35);
        border: 1px solid rgba(255, 255, 255, 0.18);
      }

      .admin-login-head {
        background: linear-gradient(135deg, #082946, #0072bc 62%, #0d8fd3);
        color: #ffffff;
        padding: 22px;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 14px;
      }

      .admin-login-head h2 {
        font-size: 24px;
        line-height: 1.05;
        margin-bottom: 7px;
        font-weight: 900;
      }

      .admin-login-head p {
        color: #dceeff;
        font-size: 13px;
        line-height: 1.45;
        font-weight: 600;
      }

      .admin-login-close {
        width: 39px;
        height: 39px;
        border: 0;
        border-radius: 50%;
        background: #ffffff;
        color: #0072bc;
        display: grid;
        place-items: center;
        cursor: pointer;
        font-size: 20px;
        flex: 0 0 auto;
      }

      .admin-login-body {
        padding: 20px;
      }

      .admin-login-form {
        display: grid;
        gap: 12px;
      }

      .admin-login-form label {
        display: grid;
        gap: 7px;
        color: #173350;
        font-size: 13px;
        font-weight: 900;
      }

      .admin-login-form input {
        width: 100%;
        height: 46px;
        border: 1px solid #d7e4f1;
        border-radius: 13px;
        padding: 0 13px;
        outline: none;
        font-size: 14px;
        font-weight: 700;
        color: #07182d;
        background: #fbfdff;
      }

      .admin-login-form input:focus {
        border-color: #0072bc;
        box-shadow: 0 0 0 4px rgba(0, 114, 188, 0.1);
        background: #ffffff;
      }

      .admin-login-error {
        display: none;
        border-radius: 13px;
        background: #fff4f2;
        color: #b12b1d;
        border: 1px solid #ffd0c9;
        padding: 10px 12px;
        font-size: 12.5px;
        font-weight: 800;
        line-height: 1.35;
      }

      .admin-login-error.show {
        display: block;
      }

      .admin-login-help {
        margin-top: 14px;
        border-radius: 15px;
        background: #eef8ff;
        border: 1px solid #d7eefb;
        padding: 13px;
        color: #31445f;
        font-size: 12.5px;
        line-height: 1.45;
      }

      .admin-login-help b {
        color: #173350;
      }

      .admin-head-actions {
        display: flex;
        gap: 8px;
        align-items: center;
        flex: 0 0 auto;
      }

      .admin-logout {
        height: 42px;
        border: 0;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.14);
        color: #ffffff;
        border: 1px solid rgba(255, 255, 255, 0.24);
        padding: 0 14px;
        font-size: 13px;
        font-weight: 900;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
      }

      .admin-logout:hover {
        background: rgba(255, 255, 255, 0.22);
      }

      @media (min-width: 781px) {
        .header-actions .admin-btn.desktop-admin-btn {
          display: inline-flex !important;
          height: 39px;
          border-radius: 12px;
          padding: 0 15px;
          background: linear-gradient(135deg, #082946, #0072bc);
          color: #ffffff;
          box-shadow: 0 10px 22px rgba(0, 114, 188, 0.2);
          border: 0;
          font-size: 13px;
          font-weight: 900;
          align-items: center;
          justify-content: center;
          gap: 8px;
          cursor: pointer;
        }

        .header-actions .admin-btn.desktop-admin-btn:hover {
          transform: translateY(-1px);
          box-shadow: 0 14px 26px rgba(0, 114, 188, 0.25);
        }
      }

      @media (max-width: 780px) {
        .header-actions .admin-btn.desktop-admin-btn {
          display: none !important;
        }

        .header-actions .search-btn {
          position: relative;
          top: 5px;
        }

        .hamb {
          background: linear-gradient(135deg, #0072bc, #0d8fd3) !important;
          color: #ffffff !important;
          border: 1px solid rgba(255, 255, 255, 0.18) !important;
          box-shadow: 0 10px 22px rgba(0, 114, 188, 0.2) !important;
          display: grid !important;
          place-items: center !important;
        }

        .hamb i {
          color: #ffffff !important;
          font-size: 25px !important;
          line-height: 1 !important;
          font-weight: 900 !important;
        }

        .admin-login-panel {
          align-items: flex-start;
          padding-top: 82px;
        }

        .admin-login-head {
          padding: 18px;
        }

        .admin-login-head h2 {
          font-size: 21px;
        }

        .admin-login-body {
          padding: 17px;
        }

        .admin-head-actions {
          flex-direction: column-reverse;
          align-items: flex-end;
        }

        .admin-logout {
          height: 36px;
          padding: 0 11px;
          font-size: 12px;
        }
      }

      /* ===== MODAL MODERNO TIPO WEB MUNICIPAL ===== */
      .modal {
        background: rgba(12, 28, 43, 0.62) !important;
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
        padding: 22px !important;
      }

      .modal.show {
        display: flex !important;
      }

      .modal-box {
        width: min(760px, 94%) !important;
        max-height: 86vh !important;
        overflow: hidden !important;
        border-radius: 26px !important;
        background: #ffffff !important;
        border: 1px solid rgba(255, 255, 255, 0.72);
        box-shadow: 0 34px 90px rgba(4, 20, 38, 0.36) !important;
      }

      .modal-head {
        position: relative;
        overflow: hidden;
        background:
          radial-gradient(circle at 92% 5%, rgba(255, 255, 255, 0.22), transparent 24%),
          linear-gradient(135deg, #0b527e 0%, #0a77a6 42%, #1597b8 100%) !important;
        color: #ffffff !important;
        padding: 22px 24px 20px !important;
        align-items: center !important;
      }

      .modal-head::before {
        content: "";
        position: absolute;
        right: -70px;
        bottom: -100px;
        width: 260px;
        height: 260px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.10);
        pointer-events: none;
      }

      .modal-title-wrap {
        position: relative;
        z-index: 2;
        display: flex !important;
        align-items: center !important;
        gap: 16px !important;
        min-width: 0;
      }

      .modal-icon {
        width: 76px !important;
        height: 76px !important;
        min-width: 76px !important;
        border-radius: 18px !important;
        background: #ffffff !important;
        padding: 10px !important;
        box-shadow: 0 18px 34px rgba(6, 28, 50, 0.22);
        display: grid !important;
        place-items: center !important;
      }

      .modal-icon img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
      }

      .modal-icon i {
        color: var(--azul);
        font-size: 30px;
      }

      .modal-copy {
        min-width: 0;
      }

      .modal-kicker {
        display: block;
        color: #c7f36b;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 1.1px;
        margin-bottom: 5px;
      }

      .modal-head h2 {
        color: #ffffff !important;
        font-size: clamp(26px, 4vw, 38px) !important;
        line-height: 0.98 !important;
        letter-spacing: -1.4px;
        font-weight: 900 !important;
        margin: 0 0 6px !important;
      }

      .modal-head p {
        color: rgba(255, 255, 255, 0.90) !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
        font-weight: 800 !important;
        margin: 0 !important;
      }

      .modal-close {
        position: relative;
        z-index: 3;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, 0.16) !important;
        border: 1px solid rgba(255, 255, 255, 0.34) !important;
        color: #ffffff !important;
        display: grid !important;
        place-items: center !important;
        font-size: 18px !important;
        transition: 0.2s ease;
      }

      .modal-close:hover {
        background: rgba(255, 255, 255, 0.25) !important;
        transform: rotate(4deg) scale(1.04);
      }

      .modal-body {
        padding: 0 !important;
        max-height: calc(86vh - 118px);
        overflow-y: auto;
        background: #ffffff;
        color: #36506a;
        scrollbar-width: thin;
        scrollbar-color: #657487 #eef4fa;
      }

      .modal-body::-webkit-scrollbar {
        width: 9px;
      }

      .modal-body::-webkit-scrollbar-track {
        background: #eef4fa;
        border-radius: 999px;
      }

      .modal-body::-webkit-scrollbar-thumb {
        background: #657487;
        border-radius: 999px;
        border: 2px solid #eef4fa;
      }

      .modal-body > * {
        margin-left: 24px;
        margin-right: 24px;
      }

      .modal-body > *:first-child {
        margin-top: 22px;
      }

      .modal-body > *:last-child {
        margin-bottom: 24px;
      }

      .modal-body p,
      .modal-lead,
      .modal-text {
        color: #50657a !important;
        font-size: 15.5px !important;
        line-height: 1.65 !important;
        font-weight: 700 !important;
        margin-bottom: 16px !important;
      }

      .modal-body p:first-child,
      .modal-lead {
        color: #455f76 !important;
        font-weight: 800 !important;
      }

      .modal-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        margin-top: 18px !important;
        margin-bottom: 18px !important;
      }

      .modal-info {
        position: relative;
        min-height: 72px;
        display: grid !important;
        grid-template-columns: 46px 1fr;
        align-items: center;
        gap: 12px;
        background: linear-gradient(135deg, #f6fbff, #ffffff) !important;
        border: 1px solid #dbeaf5 !important;
        border-radius: 17px !important;
        padding: 12px 14px !important;
        box-shadow: 0 8px 20px rgba(10, 55, 90, 0.055);
      }

      .modal-card-icon {
        width: 40px;
        height: 40px;
        border-radius: 13px;
        display: grid;
        place-items: center;
        background: linear-gradient(135deg, #0b9fdb, #0072bc);
        color: #ffffff;
        font-size: 19px;
        box-shadow: 0 8px 18px rgba(0, 114, 188, 0.20);
      }

      .modal-info b {
        display: block !important;
        color: #173350 !important;
        font-size: 13.5px !important;
        line-height: 1.18 !important;
        margin-bottom: 4px !important;
        font-weight: 900 !important;
      }

      .modal-info small {
        display: block !important;
        color: #66798d !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
        font-weight: 800;
      }

      .modal-actions,
      .modern-actions {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px !important;
        margin-top: 18px !important;
        margin-bottom: 20px !important;
      }

      .modal-body .btn,
      .modal-body a.btn,
      .modal-body button[onclick*="licencia-info-box"] {
        min-height: 42px !important;
        padding: 0 16px !important;
        border-radius: 999px !important;
        border: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        box-shadow: 0 12px 24px rgba(0, 114, 188, 0.16);
        transition: 0.2s ease;
      }

      .modal-body .btn:hover,
      .modal-body a.btn:hover,
      .modal-body button[onclick*="licencia-info-box"]:hover {
        transform: translateY(-2px);
        filter: brightness(1.02);
      }

      .modal-body .btn-blue {
        background: linear-gradient(135deg, #087ad1, #0a9bd8) !important;
      }

      .modal-body .btn-green {
        background: linear-gradient(135deg, #128a55, #27b777) !important;
      }

      .modal-body .btn-orange {
        background: linear-gradient(135deg, #f28c28, #ffac34) !important;
      }

      .modal-body button[onclick*="licencia-requisitos"] {
        background: linear-gradient(135deg, #087ad1, #0a9bd8) !important;
      }

      .modal-body button[onclick*="licencia-aranceles"] {
        background: linear-gradient(135deg, #128a55, #27b777) !important;
      }

      .modal-body button[onclick*="licencia-turno"] {
        background: linear-gradient(135deg, #f28c28, #ffac34) !important;
      }

      .modal-note {
        background: linear-gradient(135deg, #fff8e9, #ffffff) !important;
        border: 1px solid #ffe0aa !important;
        color: #80510b !important;
        border-radius: 18px !important;
        padding: 15px 16px !important;
        font-size: 14px;
        line-height: 1.55;
        font-weight: 800;
        box-shadow: 0 8px 18px rgba(245, 155, 18, 0.08);
      }

      .modal-body h3,
      .modal-body h4,
      .modal-body h5 {
        color: #173350 !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        margin: 12px 0 10px !important;
      }

      .modal-body h4 {
        font-size: 18px !important;
      }

      .modal-body h5 {
        font-size: 15px !important;
      }

      .modal-body ul {
        list-style: none !important;
        display: grid;
        gap: 9px;
        padding-left: 0 !important;
        margin: 12px 0 16px !important;
      }

      .modal-body li {
        position: relative;
        color: #455f76 !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        font-weight: 800 !important;
        padding-left: 32px !important;
      }

      .modal-body li::before {
        content: "\F26A";
        font-family: "bootstrap-icons";
        position: absolute;
        left: 0;
        top: -1px;
        width: 23px;
        height: 23px;
        border-radius: 50%;
        background: #72c943;
        color: white;
        display: grid;
        place-items: center;
        font-size: 13px;
        font-weight: 900;
      }

      .modal-body .licencia-info-box {
        background: linear-gradient(135deg, #f6fbff, #ffffff) !important;
        border: 1px solid #dbeaf5 !important;
        border-radius: 18px !important;
        padding: 18px !important;
        margin-top: 14px !important;
        box-shadow: 0 10px 22px rgba(10, 55, 90, 0.07);
      }

      .modal-news-img {
        width: calc(100% - 48px) !important;
        margin: 24px 24px 18px !important;
        max-height: 280px !important;
        border-radius: 18px !important;
        object-fit: cover !important;
        border: 1px solid #dbeaf5 !important;
        box-shadow: 0 12px 26px rgba(10, 55, 90, 0.10);
      }

      @media (max-width: 780px) {
        .modal {
          align-items: flex-start !important;
          padding: 84px 12px 18px !important;
        }

        .modal-box {
          width: min(96%, 520px) !important;
          max-height: 82vh !important;
          border-radius: 22px !important;
        }

        .modal-head {
          padding: 18px !important;
        }

        .modal-title-wrap {
          gap: 12px !important;
        }

        .modal-icon {
          width: 56px !important;
          height: 56px !important;
          min-width: 56px !important;
          border-radius: 16px !important;
          padding: 8px !important;
        }

        .modal-kicker {
          font-size: 10px;
          letter-spacing: 0.75px;
          margin-bottom: 4px;
        }

        .modal-head h2 {
          font-size: 25px !important;
          letter-spacing: -0.8px;
        }

        .modal-head p {
          font-size: 12px !important;
        }

        .modal-close {
          width: 38px !important;
          height: 38px !important;
          min-width: 38px !important;
          border-radius: 13px !important;
        }

        .modal-body {
          max-height: calc(82vh - 96px);
        }

        .modal-body > * {
          margin-left: 16px;
          margin-right: 16px;
        }

        .modal-body > *:first-child {
          margin-top: 17px;
        }

        .modal-grid {
          grid-template-columns: 1fr !important;
          gap: 10px !important;
        }

        .modal-info {
          grid-template-columns: 42px 1fr;
          border-radius: 16px !important;
          padding: 12px !important;
        }

        .modal-card-icon {
          width: 38px;
          height: 38px;
          border-radius: 12px;
        }

        .modal-body p,
        .modal-lead,
        .modal-text {
          font-size: 14px !important;
          line-height: 1.6 !important;
        }

        .modal-actions,
        .modern-actions,
        .modal-body div[style*="display:flex"] {
          display: grid !important;
          grid-template-columns: 1fr !important;
          gap: 9px !important;
        }

        .modal-body .btn,
        .modal-body a.btn,
        .modal-body button[onclick*="licencia-info-box"] {
          width: 100% !important;
          min-height: 41px !important;
          font-size: 12.5px !important;
        }

        .modal-news-img {
          width: calc(100% - 32px) !important;
          margin: 18px 16px 14px !important;
          max-height: 220px !important;
        }
      }

      /* =========================================================
         AJUSTE FINAL DEL MODAL: MÁS ANCHO, TARJETAS CORRECTAS,
         BOTONES CENTRADOS, NOTICIAS MÁS PROLIJAS Y RESPONSIVE
         ========================================================= */
      .modal-box {
        width: min(1100px, 94%) !important;
        max-height: 1500vh !important;
      }

      .modal-head {
        padding: 24px 26px 22px !important;
      }

      .modal-kicker {
        color: #c7f36b !important;
      }

      .modal-body {
        max-height: calc(87vh - 126px) !important;
        overflow-y: auto !important;
      }

      .modal-body > * {
        margin-left: 26px !important;
        margin-right: 26px !important;
      }

      .modal-body > *:first-child {
        margin-top: 24px !important;
      }

      .modal-body > *:last-child {
        margin-bottom: 36px !important;
      }

      .modal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
      }

      .modal-info {
        grid-template-columns: 44px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        align-items: center !important;
        column-gap: 14px !important;
        row-gap: 2px !important;
        min-height: 84px !important;
        padding: 14px 16px !important;
      }

      .modal-card-icon {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        align-self: center !important;
        justify-self: center !important;
      }

      .modal-info b {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: end !important;
        min-width: 0 !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
      }

      .modal-info small {
        grid-column: 2 !important;
        grid-row: 2 !important;
        align-self: start !important;
        min-width: 0 !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        white-space: normal !important;
      }

      .modal-actions,
      .modern-actions {
        justify-content: center !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
      }

      .modal-body .licencia-info-box {
        margin-left: 26px !important;
        margin-right: 26px !important;
      }

      .modal-news-img {
        width: calc(100% - 52px) !important;
        margin: 26px 26px 18px !important;
      }

      .modal.news-mode .modal-box {
        width: min(820px, 94%) !important;
      }

      .modal.news-mode .modal-head h2 {
        font-size: clamp(21px, 2.8vw, 30px) !important;
        line-height: 1.08 !important;
        letter-spacing: -0.7px !important;
      }

      .modal.news-mode .modal-head p {
        font-size: 13px !important;
      }

      .modal.news-mode .modal-body p:last-child {
        padding-bottom: 14px !important;
        margin-bottom: 42px !important;
      }

      @media (max-width: 780px) {
        .modal {
          padding: 82px 10px 16px !important;
        }

        .modal-box,
        .modal.news-mode .modal-box {
          width: min(98%, 540px) !important;
          max-height: 83vh !important;
          border-radius: 22px !important;
        }

        .modal-head {
          padding: 16px 14px !important;
          gap: 10px !important;
        }

        .modal-title-wrap {
          gap: 10px !important;
          align-items: center !important;
        }

        .modal-icon {
          width: 52px !important;
          height: 52px !important;
          min-width: 52px !important;
          border-radius: 15px !important;
          padding: 7px !important;
        }

        .modal-copy {
          min-width: 0 !important;
        }

        .modal-kicker {
          font-size: 9.5px !important;
          letter-spacing: 0.6px !important;
          margin-bottom: 3px !important;
        }

        .modal-head h2,
        .modal.news-mode .modal-head h2 {
          font-size: clamp(19px, 6.2vw, 24px) !important;
          line-height: 1.02 !important;
          letter-spacing: -0.55px !important;
        }

        .modal-head p,
        .modal.news-mode .modal-head p {
          font-size: 11.5px !important;
          line-height: 1.25 !important;
        }

        .modal-close {
          width: 36px !important;
          height: 36px !important;
          min-width: 36px !important;
          border-radius: 12px !important;
          font-size: 17px !important;
        }

        .modal-body {
          max-height: calc(83vh - 92px) !important;
        }

        .modal-body > * {
          margin-left: 14px !important;
          margin-right: 14px !important;
        }

        .modal-body > *:first-child {
          margin-top: 16px !important;
        }

        .modal-body > *:last-child {
          margin-bottom: 30px !important;
        }

        .modal-body p,
        .modal-lead,
        .modal-text {
          font-size: 13.5px !important;
          line-height: 1.55 !important;
        }

        .modal-grid {
          grid-template-columns: 1fr !important;
          gap: 10px !important;
          margin-top: 14px !important;
          margin-bottom: 14px !important;
        }

        .modal-info {
          grid-template-columns: 40px minmax(0, 1fr) !important;
          min-height: 76px !important;
          padding: 12px !important;
          column-gap: 11px !important;
        }

        .modal-card-icon {
          width: 38px !important;
          height: 38px !important;
          border-radius: 12px !important;
          font-size: 17px !important;
        }

        .modal-info b {
          font-size: 13px !important;
          line-height: 1.15 !important;
        }

        .modal-info small {
          font-size: 11.5px !important;
          line-height: 1.35 !important;
        }

        .modal-actions,
        .modern-actions,
        .modal-body div[style*="display:flex"] {
          display: grid !important;
          grid-template-columns: 1fr !important;
          gap: 9px !important;
          padding-left: 0 !important;
          padding-right: 0 !important;
          justify-content: stretch !important;
        }

        .modal-body .btn,
        .modal-body a.btn,
        .modal-body button[onclick*="licencia-info-box"] {
          width: 100% !important;
          min-height: 40px !important;
          font-size: 12.2px !important;
          padding: 0 12px !important;
        }

        .modal-body .licencia-info-box {
          margin-left: 14px !important;
          margin-right: 14px !important;
          padding: 14px !important;
        }

        .modal-news-img {
          width: calc(100% - 28px) !important;
          margin: 16px 14px 12px !important;
          max-height: 205px !important;
        }

        .modal.news-mode .modal-body p:last-child {
          padding-bottom: 18px !important;
          margin-bottom: 36px !important;
        }
      }

      @media (max-width: 380px) {
        .modal-head h2,
        .modal.news-mode .modal-head h2 {
          font-size: 18px !important;
        }

        .modal-icon {
          width: 48px !important;
          height: 48px !important;
          min-width: 48px !important;
        }

        .modal-close {
          width: 34px !important;
          height: 34px !important;
          min-width: 34px !important;
        }
      }

      /* =========================================================
         PORTADA OPCIÓN D - HERO OSCURO, TEXTO CENTRAL Y ACCESOS GLASS
         ========================================================= */
      .top-strip,
      .topbar {
        display: none !important;
      }

      .header {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        background: transparent !important;
        box-shadow: none !important;
        z-index: 3200;
        pointer-events: none;
      }

      .header .container.nav {
        pointer-events: auto;
        width: min(1240px, 94%);
        min-height: 70px;
        margin-top: 14px;
        padding: 0 18px;
        border-radius: 18px;
        background: rgba(6, 22, 39, 0.76);
        border: 1px solid rgba(255, 255, 255, 0.16);
        box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
        backdrop-filter: blur(14px);
      }

      .brand strong {
        color: #ffffff !important;
      }

      .brand small {
        color: rgba(255, 255, 255, 0.78) !important;
      }

      .menu {
        color: rgba(255, 255, 255, 0.9) !important;
      }

      .nav-link {
        color: inherit !important;
      }

      .nav-link:hover,
      .nav-link.active {
        color: #ffffff !important;
      }

      .nav-link.active::after {
        bottom: 14px;
        height: 3px;
        background: linear-gradient(90deg, var(--verde), var(--naranja));
      }

      .search-btn {
        background: rgba(255, 255, 255, 0.12) !important;
        color: #ffffff !important;
        border-color: rgba(255, 255, 255, 0.22) !important;
      }

      .admin-btn {
        background: #06213c !important;
        color: #ffffff !important;
        border: 1px solid rgba(255, 255, 255, 0.15) !important;
      }

      .dropdown {
        background: rgba(255, 255, 255, 0.98) !important;
      }

      .hero {
        min-height: 610px !important;
        overflow: hidden;
        background:
          radial-gradient(circle at 50% 20%, rgba(114, 201, 67, 0.18), transparent 34%),
          linear-gradient(180deg, rgba(4, 14, 26, 0.34) 0%, rgba(4, 14, 26, 0.62) 48%, rgba(4, 14, 26, 0.9) 100%),
          linear-gradient(90deg, rgba(4, 14, 26, 0.92), rgba(4, 14, 26, 0.42), rgba(4, 14, 26, 0.86)),
          var(--hero-image, url("assets/img/portada.png")) center/cover no-repeat !important;
      }

      .hero::after {
        display: none !important;
      }

      .hero .container {
        min-height: 610px !important;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .hero-content {
        max-width: 820px;
        margin: 0 auto;
        padding: 135px 0 150px !important;
        text-align: center;
      }

      .hero-badge {
        display: none !important;
      }

      .hero h1 {
        font-size: clamp(48px, 7vw, 78px) !important;
        line-height: 0.95 !important;
        letter-spacing: -2.8px;
        margin-bottom: 16px;
        text-shadow: 0 18px 42px rgba(0, 0, 0, 0.42);
      }

      .hero h1 span {
        display: block;
        color: #8edb4e !important;
      }

      .hero p {
        max-width: 580px;
        margin: 0 auto 25px;
        color: rgba(255, 255, 255, 0.9) !important;
        font-size: 16px;
        line-height: 1.55;
        font-weight: 650;
      }

      .hero-actions {
        justify-content: center;
        gap: 12px;
      }

      .hero-actions .btn-orange {
        display: none !important;
      }

      .hero-actions .btn {
        border-radius: 10px;
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.22);
      }

      .hero-dots {
        display: none !important;
      }

      .quick-wrap {
        margin-top: -112px !important;
        margin-bottom: 30px;
        position: relative;
        z-index: 30;
      }

      .quick-grid {
        overflow: hidden;
        gap: 0 !important;
        padding: 0 !important;
        border-radius: 19px !important;
        background: rgba(5, 20, 35, 0.88) !important;
        border: 1px solid rgba(255, 255, 255, 0.16);
        box-shadow: 0 24px 55px rgba(0, 0, 0, 0.28) !important;
        backdrop-filter: blur(16px);
      }

      .quick-card {
        min-height: 104px;
        border: 0 !important;
        border-right: 1px solid rgba(255, 255, 255, 0.13) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #ffffff !important;
      }

      .quick-card:last-child {
        border-right: 0 !important;
      }

      .quick-card:hover {
        transform: none !important;
        background: rgba(255, 255, 255, 0.08) !important;
      }

      .qicon {
        width: auto !important;
        height: auto !important;
        border-radius: 0 !important;
        background: transparent !important;
        font-size: 25px;
      }

      .bg-orange {
        color: #f59b12 !important;
      }

      .bg-blue {
        color: #0d9de4 !important;
      }

      .bg-green {
        color: #86d851 !important;
      }

      .quick-card span {
        color: rgba(255, 255, 255, 0.92) !important;
        font-size: 12px;
        font-weight: 850;
      }

      .site-banner-section {
        padding-top: 10px !important;
      }

      @media (max-width: 980px) {
        .header .container.nav {
          width: min(94%, 760px);
        }

        .hero {
          min-height: 570px !important;
        }

        .hero .container {
          min-height: 570px !important;
        }

        .quick-grid {
          grid-template-columns: repeat(4, 1fr) !important;
        }

        .quick-card:nth-child(4n) {
          border-right: 0 !important;
        }

        .quick-card:nth-child(-n + 4) {
          border-bottom: 1px solid rgba(255, 255, 255, 0.13) !important;
        }
      }

      @media (max-width: 780px) {
        .header .container.nav {
          min-height: 58px !important;
          margin-top: 8px;
          padding: 0 11px;
          border-radius: 16px;
        }

        .brand img {
          width: 44px !important;
        }

        .brand strong {
          color: #ffffff !important;
          max-width: 120px;
        }

        .hamb,
        .pay-btn,
        .admin-dot {
          background: rgba(255, 255, 255, 0.13) !important;
          border: 1px solid rgba(255, 255, 255, 0.18) !important;
          color: #ffffff !important;
        }

        .menu {
          top: 74px !important;
          left: 3% !important;
          right: 3% !important;
          border-radius: 18px;
          background: rgba(6, 22, 39, 0.98) !important;
          border: 1px solid rgba(255, 255, 255, 0.12);
          box-shadow: 0 22px 50px rgba(0, 0, 0, 0.28);
        }

        .nav-link {
          color: #ffffff !important;
        }

        .dropdown {
          background: #ffffff !important;
        }

        .drop-btn b {
          color: #07182d !important;
        }

        .hero,
        .hero .container {
          min-height: 555px !important;
        }

        .hero {
          background-position: center top !important;
        }

        .hero-content {
          padding: 108px 0 132px !important;
        }

        .hero h1 {
          font-size: clamp(38px, 13vw, 52px) !important;
          line-height: 0.96 !important;
          letter-spacing: -1.7px;
        }

        .hero p {
          font-size: 13.5px !important;
          max-width: 330px;
          margin-bottom: 18px;
        }

        .hero-actions {
          display: grid !important;
          grid-template-columns: 1fr 1fr;
          width: min(330px, 100%);
          margin: 0 auto;
          gap: 9px;
        }

        .hero-actions .btn {
          width: auto !important;
          min-height: 40px !important;
          padding: 0 10px;
          font-size: 11.5px;
        }

        .quick-wrap {
          margin-top: -92px !important;
          margin-bottom: 22px;
        }

        .quick-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          border-radius: 18px !important;
        }

        .quick-card {
          min-height: 78px !important;
          padding: 8px 5px !important;
          border-right: 0 !important;
          border-bottom: 1px solid rgba(255, 255, 255, 0.13) !important;
        }

        .quick-card:nth-child(odd) {
          border-right: 1px solid rgba(255, 255, 255, 0.13) !important;
        }

        .quick-card:nth-last-child(-n + 2) {
          border-bottom: 0 !important;
        }

        .qicon {
          font-size: 21px !important;
        }

        .quick-card span {
          font-size: 11px !important;
        }
      }

      /* =========================================================
         AJUSTE PEDIDO: PORTADA MÁS CLARA + HEADER SIN RECUADRO
         ========================================================= */
      .header {
        background: transparent !important;
        box-shadow: none !important;
      }

      .header .container.nav {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        padding: 0 8px !important;
        margin-top: 14px !important;
        border-radius: 0 !important;
      }

      .brand strong,
      .brand small,
      .menu,
      .nav-link {
        color: #ffffff !important;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.62);
      }

      .nav-link.active::after {
        bottom: 12px !important;
        background: linear-gradient(90deg, #72c943, #f59b12) !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
      }

      .header-actions .search-btn,
      .header-actions .admin-btn.desktop-admin-btn {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #ffffff !important;
        padding: 0 9px !important;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.62);
      }

      .header-actions .search-btn:hover,
      .header-actions .admin-btn.desktop-admin-btn:hover,
      .nav-link:hover {
        color: #c7f36b !important;
        transform: none !important;
      }

      .hero {
        min-height: 610px !important;
        background:
          linear-gradient(180deg, rgba(4, 14, 26, 0.08) 0%, rgba(4, 14, 26, 0.14) 45%, rgba(4, 14, 26, 0.34) 100%),
          linear-gradient(90deg, rgba(4, 14, 26, 0.30), rgba(4, 14, 26, 0.04), rgba(4, 14, 26, 0.24)),
          var(--hero-image, url("assets/img/portada.png")) center/cover no-repeat !important;
      }

      .hero h1 {
        text-shadow: 0 5px 24px rgba(0, 0, 0, 0.58), 0 1px 2px rgba(0, 0, 0, 0.45) !important;
      }

      .hero p {
        color: #ffffff !important;
        text-shadow: 0 3px 14px rgba(0, 0, 0, 0.58) !important;
      }

      @media (max-width: 780px) {
        .header .container.nav {
          min-height: 58px !important;
          margin-top: 8px !important;
          padding: 0 4px !important;
        }

        .brand strong {
          color: #ffffff !important;
          text-shadow: 0 2px 10px rgba(0, 0, 0, 0.72);
        }

        .hamb,
        .pay-btn,
        .admin-dot {
          background: rgba(0, 114, 188, 0.92) !important;
          border: 0 !important;
          color: #ffffff !important;
          box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22) !important;
        }

        .menu {
          background: rgba(6, 22, 39, 0.98) !important;
          border: 1px solid rgba(255, 255, 255, 0.12) !important;
          box-shadow: 0 22px 50px rgba(0, 0, 0, 0.28) !important;
          border-radius: 18px !important;
        }

        .hero,
        .hero .container {
          min-height: 555px !important;
        }

        .hero {
          background:
            linear-gradient(180deg, rgba(4, 14, 26, 0.06) 0%, rgba(4, 14, 26, 0.12) 48%, rgba(4, 14, 26, 0.36) 100%),
            linear-gradient(90deg, rgba(4, 14, 26, 0.34), rgba(4, 14, 26, 0.07), rgba(4, 14, 26, 0.24)),
            var(--hero-image, url("assets/img/portada.png")) center top/cover no-repeat !important;
        }
      }

      /* ===== DATOS ABIERTOS - MODAL INTEGRADO ===== */
      .datos-open-btn {
        border: 0;
        background: transparent;
        color: inherit;
        font: inherit;
        text-align: left;
        padding: 0;
        cursor: pointer;
      }

      footer .footer-link-btn {
        width: 100%;
        border: 0;
        background: transparent;
        color: #d2dbe8;
        font: inherit;
        text-align: left;
        padding: 0;
        cursor: pointer;
        line-height: 1.7;
        transition: 0.2s ease;
      }

      footer .footer-link-btn:hover {
        color: #ffffff;
        transform: translateX(3px);
      }

      .datos-modal-intro {
        background: linear-gradient(135deg, #eef8ff, #ffffff);
        border: 1px solid #d9ecfb;
        border-radius: 18px;
        padding: 16px;
        margin-bottom: 16px;
        display: flex;
        gap: 12px;
        align-items: flex-start;
      }

      .datos-modal-intro i {
        width: 42px;
        height: 42px;
        border-radius: 13px;
        display: grid;
        place-items: center;
        flex: 0 0 42px;
        color: #ffffff;
        background: linear-gradient(135deg, var(--azul), var(--azul2));
        font-size: 20px;
      }

      .datos-modal-intro b {
        display: block;
        color: #173350;
        font-size: 16px;
        margin-bottom: 4px;
      }

      .datos-modal-intro span {
        display: block;
        color: #617186;
        font-size: 13px;
        line-height: 1.45;
        font-weight: 600;
      }

      .datos-modal-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 12px;
      }

      .datos-modal-card {
        border: 1px solid var(--borde);
        background: #ffffff;
        border-radius: 16px;
        padding: 13px;
        display: grid;
        grid-template-columns: 44px 1fr auto;
        gap: 11px;
        align-items: center;
        box-shadow: 0 8px 18px rgba(10, 35, 70, 0.06);
        transition: 0.2s ease;
      }

      .datos-modal-card:hover {
        transform: translateY(-2px);
        box-shadow: var(--shadow2);
        border-color: rgba(0, 114, 188, 0.28);
      }

      .datos-modal-icon {
        width: 44px;
        height: 44px;
        border-radius: 13px;
        display: grid;
        place-items: center;
        color: var(--azul);
        background: #eef8ff;
        font-size: 21px;
      }

      .datos-modal-card b {
        display: block;
        color: #173350;
        font-size: 13.5px;
        line-height: 1.15;
        margin-bottom: 4px;
      }

      .datos-modal-card small {
        display: block;
        color: #64758a;
        font-size: 11.5px;
        line-height: 1.32;
        font-weight: 600;
      }

      .datos-pdf-btn {
        min-width: 70px;
        height: 38px;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        color: #ffffff;
        background: linear-gradient(135deg, var(--naranja), #ffb427);
        font-size: 12px;
        font-weight: 900;
        box-shadow: 0 9px 16px rgba(245, 155, 18, 0.2);
        transition: 0.2s ease;
      }

      .datos-pdf-btn:hover {
        transform: translateY(-1px);
        filter: brightness(1.03);
      }

      .datos-pdf-btn i {
        font-size: 15px;
      }

      .datos-modal-banner {
        margin-top: 16px;
        border-radius: 18px;
        min-height: 155px;
        overflow: hidden;
        background:
          linear-gradient(90deg, rgba(8, 41, 70, 0.88), rgba(0, 114, 188, 0.45)),
          url("https://www.maipu.gob.ar/wp-content/uploads/2021/08/1173x310-agua-04.jpg") center/cover no-repeat;
        display: flex;
        align-items: flex-end;
        padding: 18px;
        color: #ffffff;
      }

      .datos-modal-banner b {
        display: block;
        font-size: 20px;
        line-height: 1.1;
        margin-bottom: 5px;
      }

      .datos-modal-banner span {
        display: block;
        font-size: 13px;
        color: #eaf4ff;
        font-weight: 700;
        line-height: 1.4;
      }

      @media (max-width: 780px) {
        .datos-modal-grid {
          grid-template-columns: 1fr;
        }

        .datos-modal-card {
          grid-template-columns: 40px 1fr 48px;
          gap: 9px;
          padding: 11px;
        }

        .datos-modal-icon {
          width: 40px;
          height: 40px;
          font-size: 19px;
        }

        .datos-pdf-btn {
          min-width: 44px;
          width: 44px;
          height: 42px;
          border-radius: 13px;
          font-size: 0;
        }

        .datos-pdf-btn i {
          font-size: 18px;
        }

        .datos-modal-banner {
          min-height: 170px;
        }
      }

/* ===== PORTADA FINAL COMO LA CAPTURA ===== */
      .hero {
        min-height: 382px !important;
        background:
          linear-gradient(
            90deg,
            rgba(6, 29, 52, 0.68) 0%,
            rgba(6, 29, 52, 0.36) 44%,
            rgba(6, 29, 52, 0.52) 100%
          ),
          var(--hero-image, url("assets/img/portada.png")) center center / cover no-repeat !important;
        overflow: hidden !important;
      }

      .hero::after {
        content: "" !important;
        position: absolute !important;
        left: -8% !important;
        right: -8% !important;
        bottom: -88px !important;
        height: 122px !important;
        background: #ffffff !important;
        border-radius: 50% 50% 0 0 !important;
        z-index: 1 !important;
      }

      .hero .container {
        min-height: 382px !important;
        align-items: center !important;
      }

      .hero-content {
        max-width: 670px !important;
        padding: 34px 0 56px !important;
      }

      .hero-badge {
        background: rgba(255, 255, 255, 0.16) !important;
        border: 1px solid rgba(255, 255, 255, 0.32) !important;
        border-radius: 999px !important;
        color: #ffffff !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
        backdrop-filter: blur(6px) !important;
      }

      .hero h1 {
        font-size: clamp(42px, 5.7vw, 66px) !important;
        line-height: 0.94 !important;
        letter-spacing: -2.6px !important;
        color: #ffffff !important;
        text-shadow: 0 8px 22px rgba(0, 0, 0, 0.34) !important;
      }

      .hero h1 span {
        display: block !important;
        color: #c7f36b !important;
      }

      .hero p {
        max-width: 660px !important;
        color: #ffffff !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        text-shadow: 0 5px 14px rgba(0, 0, 0, 0.32) !important;
      }

      .hero-actions .btn {
        min-height: 39px !important;
        border-radius: 10px !important;
        box-shadow: 0 10px 22px rgba(0, 0, 0, 0.16) !important;
      }

      .hero-dots {
        margin-top: 17px !important;
      }

      .hero-dots button {
        width: 10px !important;
        height: 10px !important;
        background: rgba(255, 255, 255, 0.46) !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22) !important;
      }

      .hero-dots button.active {
        width: 30px !important;
        background: #ffffff !important;
      }

      .quick-wrap {
        margin-top: -23px !important;
      }

      .quick-grid {
        border: 1px solid rgba(207, 224, 239, 0.95) !important;
        box-shadow: 0 16px 32px rgba(10, 35, 70, 0.13) !important;
      }

      @media (max-width: 780px) {
        .hero,
        .hero .container {
          min-height: 390px !important;
        }

        .hero {
          background-position: 58% center !important;
        }

        .hero-content {
          padding: 28px 0 58px !important;
        }

        .hero h1 {
          font-size: 36px !important;
          letter-spacing: -1.4px !important;
        }

        .hero p {
          font-size: 13.5px !important;
          line-height: 1.42 !important;
        }

        .hero-actions {
          width: min(320px, 100%) !important;
          margin: 0 auto !important;
        }

        .quick-wrap {
          margin-top: -21px !important;
        }
      }

      /* ===== TRANSPARENCIA COMO PÁGINA INTERNA ===== */
      .nav-link[href="gobiernoabierto.php"] {
        text-decoration: none;
      }
      footer a {
        color: #d2dbe8;
        transition: .2s ease;
      }
      footer a:hover {
        color: #ffffff;
        text-decoration: underline;
      }

/* ===== MAPA TURÍSTICO FINAL INTEGRADO ===== */
  .maipu-tour-final {
    padding: 28px 0 34px;
    background:
      radial-gradient(circle at 8% 15%, rgba(0, 114, 188, .06), transparent 28%),
      radial-gradient(circle at 92% 85%, rgba(114, 201, 67, .08), transparent 30%),
      linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
  }

  .maipu-tour-final-head {
    align-items: center;
    margin-bottom: 16px;
  }

  .maipu-tour-open-map {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--azul), var(--azul2));
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(0, 114, 188, .18);
    transition: transform .2s ease, box-shadow .2s ease;
  }

  .maipu-tour-open-map:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0, 114, 188, .22);
  }

  .maipu-tour-map-wide {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    background: #eef5fb;
    border: 1px solid var(--borde);
    box-shadow: var(--shadow);
  }

  .maipu-tour-map-img {
    position: relative;
    display: block;
    width: 100%;
    height: 330px;
    min-height: 330px;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
  }

  .maipu-tour-map-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .45s ease;
  }

  .maipu-tour-map-img:hover img {
    transform: scale(1.022);
  }

  .maipu-tour-map-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(255,255,255,0) 52%, rgba(8,41,70,.18) 100%),
      linear-gradient(90deg, rgba(255,255,255,.30), rgba(255,255,255,0) 38%);
    pointer-events: none;
  }

  .maipu-map-center-badge,
  .maipu-map-action-badge {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    font-weight: 900;
    box-shadow: 0 14px 28px rgba(8, 41, 70, .16);
  }

  .maipu-map-center-badge {
    left: 22px;
    top: 20px;
    padding: 9px 14px;
    background: #ffffff;
    color: #c82333;
    font-size: 13px;
  }

  .maipu-map-center-badge i {
    font-size: 18px;
  }

  .maipu-map-action-badge {
    left: 22px;
    bottom: 20px;
    padding: 12px 15px;
    background: rgba(255, 255, 255, .94);
    color: var(--azulOsc);
    backdrop-filter: blur(10px);
    font-size: 13px;
  }

  .maipu-map-action-badge i {
    color: var(--azul);
    font-size: 16px;
  }

  .maipu-tour-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 14px;
    margin-top: 14px;
    align-items: start;
  }

  .maipu-tour-lugares,
  .maipu-tour-data-card {
    background: #ffffff;
    border: 1px solid var(--borde);
    border-radius: 22px;
    box-shadow: var(--shadow2);
  }

  .maipu-tour-lugares {
    padding: 18px;
  }

  .maipu-tour-lugares-head {
    display: grid;
    gap: 5px;
    margin-bottom: 13px;
  }

  .maipu-tour-lugares-head span,
  .maipu-tour-data-brand span {
    color: var(--azul);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .45px;
  }

  .maipu-tour-lugares-head h3,
  .maipu-tour-data-brand h3 {
    color: var(--azulOsc);
    font-size: 22px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.4px;
  }

  .maipu-tour-lugares-head p {
    color: var(--muted);
    font-size: 13.5px;
    line-height: 1.45;
  }

  .maipu-tour-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
  }

  .maipu-tour-filter {
    border: 1px solid #d7e4f1;
    background: #ffffff;
    color: #33475f;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    transition: .2s ease;
  }

  .maipu-tour-filter:hover {
    border-color: rgba(0, 114, 188, .35);
    background: var(--celeste);
  }

  .maipu-tour-filter.is-active {
    background: linear-gradient(135deg, var(--azul), var(--azul2));
    border-color: transparent;
    color: #ffffff;
  }

  .maipu-tour-place-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .maipu-tour-place-card {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 12px;
    align-items: center;
    min-height: 78px;
    padding: 12px;
    border-radius: 16px;
    background: #fbfdff;
    border: 1px solid #e1ebf4;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }

  .maipu-tour-place-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 114, 188, .26);
    box-shadow: 0 10px 22px rgba(10, 35, 70, .08);
  }

  .maipu-tour-place-card.is-hidden {
    display: none;
  }

  .maipu-place-number {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: #ffffff;
    background: linear-gradient(135deg, var(--azul), var(--verde));
    font-size: 12px;
    font-weight: 900;
  }

  .maipu-tour-place-card strong {
    display: block;
    color: var(--azulOsc);
    font-size: 14.5px;
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: 3px;
  }

  .maipu-tour-place-card small {
    display: block;
    color: var(--muted);
    font-size: 12.2px;
    line-height: 1.35;
    font-weight: 600;
  }

  .maipu-tour-data-card {
    overflow: hidden;
    background:
      radial-gradient(circle at 96% 0%, rgba(255,255,255,.17), transparent 34%),
      linear-gradient(135deg, var(--azulOsc), var(--azul));
    color: #ffffff;
    padding: 14px;
  }

  .maipu-tour-data-brand {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 12px;
    align-items: center;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    padding: 10px;
    margin-bottom: 10px;
  }

  .maipu-tour-data-brand img {
    width: 58px;
    height: 58px;
    object-fit: contain;
    background: #ffffff;
    border-radius: 15px;
    padding: 6px;
    box-shadow: 0 10px 20px rgba(0,0,0,.10);
  }

  .maipu-tour-data-brand span,
  .maipu-tour-data-brand h3 {
    color: #ffffff;
  }

  .maipu-tour-data-brand h3 {
    font-size: 19px;
    margin-top: 3px;
  }

  .maipu-tour-data-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .maipu-tour-data-item {
    min-height: 58px;
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 10px;
    align-items: center;
    border-radius: 16px;
    padding: 10px 12px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
  }

  .maipu-tour-data-item i {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: rgba(255,255,255,.16);
    color: #ffffff;
    font-size: 17px;
  }

  .maipu-tour-data-green i {
    background: linear-gradient(135deg, var(--verde), var(--verde2));
  }

  .maipu-tour-data-item strong {
    display: block;
    font-size: 24px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.6px;
  }

  .maipu-tour-data-item small {
    display: block;
    margin-top: 4px;
    color: rgba(255,255,255,.86);
    font-size: 10.5px;
    line-height: 1.15;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .25px;
  }

  .maipu-tour-data-link {
    min-height: 42px;
    margin-top: 10px;
    padding: 0 12px;
    border-radius: 14px;
    background: #ffffff;
    color: var(--azul);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 12.5px;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(0,0,0,.10);
  }

  /* Selector móvil para reemplazar la imagen del mapa en celulares */
  .maipu-tour-map-mobile-selector {
    display: none;
  }

  .maipu-mobile-selector-head {
    display: grid;
    gap: 5px;
    margin-bottom: 12px;
  }

  .maipu-mobile-selector-head span {
    color: var(--azul);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .45px;
  }

  .maipu-mobile-selector-head h3 {
    color: var(--azulOsc);
    font-size: 24px;
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -.5px;
  }

  .maipu-mobile-selector-head p {
    color: var(--muted);
    font-size: 13.5px;
    line-height: 1.42;
    font-weight: 600;
  }

  .maipu-mobile-search {
    height: 46px;
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    border: 1px solid #d7e4f1;
    border-radius: 15px;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 8px 18px rgba(10, 35, 70, .055);
    margin-bottom: 10px;
  }

  .maipu-mobile-search i {
    display: grid;
    place-items: center;
    color: var(--azul);
    font-size: 18px;
  }

  .maipu-mobile-search input {
    width: 100%;
    height: 100%;
    border: 0;
    outline: 0;
    color: var(--azulOsc);
    font-size: 13.5px;
    font-weight: 750;
    background: transparent;
  }

  .maipu-mobile-search input::placeholder {
    color: #7c8fa2;
  }

  .maipu-mobile-select-wrap {
    position: relative;
    height: 46px;
    margin-bottom: 12px;
  }

  .maipu-mobile-select-wrap select {
    width: 100%;
    height: 46px;
    appearance: none;
    border: 0;
    outline: 0;
    border-radius: 15px;
    padding: 0 42px 0 14px;
    background: linear-gradient(135deg, var(--azul), var(--azul2));
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(0, 114, 188, .18);
  }

  .maipu-mobile-select-wrap select option {
    color: var(--azulOsc);
    background: #ffffff;
  }

  .maipu-mobile-select-wrap i {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #ffffff;
    pointer-events: none;
    font-size: 14px;
  }

  .maipu-mobile-options {
    display: grid;
    gap: 10px;
  }

  .maipu-mobile-option {
    display: grid;
    grid-template-columns: 42px 1fr 26px;
    gap: 11px;
    align-items: center;
    min-height: 72px;
    padding: 10px 11px;
    border-radius: 16px;
    border: 1px solid #e1ebf4;
    background: #fbfdff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(10, 35, 70, .055);
  }

  .maipu-mobile-option.is-hidden {
    display: none;
  }

  .maipu-mobile-option > span {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: #ffffff;
    background: linear-gradient(135deg, var(--azul), var(--verde));
    font-size: 12px;
    font-weight: 950;
  }

  .maipu-mobile-option strong {
    display: block;
    color: var(--azulOsc);
    font-size: 14.5px;
    line-height: 1.15;
    font-weight: 950;
    margin-bottom: 3px;
  }

  .maipu-mobile-option small {
    display: block;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.28;
    font-weight: 650;
  }

  .maipu-mobile-option > i {
    color: var(--azul);
    font-size: 16px;
  }

  /* Corrige botones centrados dentro de modales puntuales, como Rentas */
  .modal-actions-center {
    justify-content: center;
    align-items: center;
    text-align: center;
  }

  .modal-actions-center .btn {
    margin-left: auto;
    margin-right: auto;
    min-width: 220px;
  }

  @media (max-width: 980px) {
    .maipu-tour-bottom {
      grid-template-columns: 1fr;
    }

    .maipu-tour-map-img {
      height: 300px;
      min-height: 300px;
    }

    .maipu-tour-data-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 780px) {
    .maipu-tour-final-head {
      align-items: flex-start;
      flex-direction: column;
      gap: 8px;
    }

    .maipu-tour-open-map {
      width: 100%;
    }

    .maipu-tour-map-wide {
      border-radius: 20px;
      overflow: visible;
      background: transparent;
      border: 0;
      box-shadow: none;
    }

    .maipu-tour-map-img {
      display: none;
    }

    .maipu-tour-map-mobile-selector {
      display: block;
      background:
        radial-gradient(circle at 92% 8%, rgba(114, 201, 67, .13), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
      border: 1px solid var(--borde);
      border-radius: 20px;
      box-shadow: var(--shadow2);
      padding: 15px;
    }

    .maipu-map-center-badge,
    .maipu-map-action-badge {
      display: none;
    }

    .maipu-tour-lugares,
    .maipu-tour-data-card {
      border-radius: 19px;
      padding: 15px;
    }

    .maipu-tour-place-grid,
    .maipu-tour-data-list {
      grid-template-columns: 1fr;
    }

    .maipu-tour-data-brand {
      grid-template-columns: 52px 1fr;
    }

    .maipu-tour-data-brand img {
      width: 52px;
      height: 52px;
    }
  }

  @media (max-width: 430px) {
    .maipu-tour-map-mobile-selector {
      padding: 14px;
    }

    .maipu-mobile-selector-head h3 {
      font-size: 23px;
    }

    .maipu-mobile-option {
      grid-template-columns: 40px 1fr 22px;
      min-height: 68px;
      padding: 9px 10px;
    }

    .maipu-mobile-option > span {
      width: 40px;
      height: 40px;
      border-radius: 13px;
    }

    .maipu-tour-filter-bar {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .maipu-tour-filter {
      width: 100%;
      padding: 0 8px;
      font-size: 11.2px;
    }
  }

  /* ===== AJUSTE FINAL SOLICITADO: MAPA PRIMERO + BUSCADOR/FILTRO DESPUÉS EN MODO CELULAR =====
     En celular queda visible primero el mapa como antes, sin botón "Abrir mapa".
     Debajo del mapa queda el buscador, el filtro y las opciones de lugares.
     Se oculta el bloque inferior "Recorridos sugeridos / Lugares para visitar".
  */
  @media (max-width: 780px) {
    .maipu-tour-open-map {
      display: none !important;
    }

    .maipu-tour-map-wide {
      display: flex;
      flex-direction: column;
      gap: 12px;
      border-radius: 20px;
      overflow: visible;
      background: transparent;
      border: 0;
      box-shadow: none;
    }

    .maipu-tour-map-mobile-selector {
      order: 2;
      display: block !important;
      background:
        radial-gradient(circle at 92% 8%, rgba(114, 201, 67, .13), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
      border: 1px solid var(--borde);
      border-radius: 20px;
      box-shadow: var(--shadow2);
      padding: 14px;
    }

    .maipu-mobile-selector-head {
      display: none !important;
    }

    .maipu-mobile-search {
      margin-bottom: 9px;
    }

    .maipu-mobile-select-wrap {
      margin-bottom: 10px;
    }

    .maipu-mobile-options {
      max-height: 240px;
      overflow-y: auto;
      padding-right: 2px;
      scrollbar-width: thin;
    }

    .maipu-tour-map-img {
      order: 1;
      display: block !important;
      width: 100%;
      height: 235px;
      min-height: 235px;
      border-radius: 20px;
      overflow: hidden;
      background: #eef5fb;
      border: 1px solid var(--borde);
      box-shadow: var(--shadow);
    }

    .maipu-tour-map-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

    .maipu-map-center-badge,
    .maipu-map-action-badge {
      display: none !important;
    }

    .maipu-tour-lugares {
      display: none !important;
    }

    .maipu-tour-bottom {
      margin-top: 14px;
    }
  }

  @media (max-width: 430px) {
    .maipu-tour-map-mobile-selector {
      padding: 12px;
    }

    .maipu-mobile-options {
      max-height: 220px;
    }

    .maipu-tour-map-img {
      height: 215px;
      min-height: 215px;
    }
  }

      /* =========================================================
         AJUSTE FINAL: IMAGEN CLARA + OSCURO SOLO ARRIBA + BORDES OK
         ========================================================= */

      /* Header sin recuadro: solo logo y letras sobre la portada */
      .top-strip,
      .topbar {
        display: none !important;
      }

      .header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        z-index: 3200 !important;
        pointer-events: none !important;
      }

      .header .container.nav {
        pointer-events: auto !important;
        width: min(1240px, 94%) !important;
        min-height: 70px !important;
        margin-top: 14px !important;
        padding: 0 8px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
      }

      .brand strong,
      .brand small,
      .menu,
      .nav-link,
      .header-actions .search-btn,
      .header-actions .admin-btn.desktop-admin-btn {
        color: #ffffff !important;
        text-shadow: 0 3px 14px rgba(0, 0, 0, 0.72) !important;
      }

      .header-actions .search-btn,
      .header-actions .admin-btn.desktop-admin-btn {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 9px !important;
      }

      .header-actions .search-btn:hover,
      .header-actions .admin-btn.desktop-admin-btn:hover,
      .nav-link:hover,
      .nav-link.active {
        color: #ffffff !important;
      }

      .nav-link.active::after {
        bottom: 12px !important;
        height: 3px !important;
        border-radius: 999px !important;
        background: linear-gradient(90deg, #72c943, #f59b12) !important;
        box-shadow: 0 3px 12px rgba(0, 0, 0, 0.38) !important;
      }

      .dropdown {
        background: rgba(255, 255, 255, 0.98) !important;
      }

      .drop-btn b {
        color: #07182d !important;
        text-shadow: none !important;
      }

      /* Portada: imagen a brillo real. La sombra queda SOLO arriba para que se lea el menú. */
      .hero {
        position: relative !important;
        min-height: 610px !important;
        overflow: hidden !important;
        isolation: isolate !important;
        background: var(--hero-image, url("assets/img/portada.png")) center/cover no-repeat !important;
      }

      .hero::after {
        display: none !important;
      }

      .hero::before {
        content: "" !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 190px !important;
        z-index: 1 !important;
        pointer-events: none !important;
        background: linear-gradient(
          180deg,
          rgba(4, 14, 26, 0.76) 0%,
          rgba(4, 14, 26, 0.46) 45%,
          rgba(4, 14, 26, 0.00) 100%
        ) !important;
      }

      .hero .container {
        position: relative !important;
        z-index: 2 !important;
        min-height: 610px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
      }

      .hero-content {
        max-width: 850px !important;
        margin: 0 auto !important;
        padding: 138px 0 148px !important;
        text-align: center !important;
        color: #ffffff !important;
      }

      .hero-badge,
      .hero-dots,
      .hero-actions .btn-orange {
        display: none !important;
      }

      .hero h1 {
        font-size: clamp(48px, 7vw, 78px) !important;
        line-height: 0.95 !important;
        letter-spacing: -2.8px !important;
        margin-bottom: 16px !important;
        color: #ffffff !important;
        text-shadow:
          0 5px 18px rgba(0, 0, 0, 0.72),
          0 18px 45px rgba(0, 0, 0, 0.42) !important;
      }

      .hero h1 span {
        display: block !important;
        color: #8edb4e !important;
      }

      .hero p {
        max-width: 610px !important;
        margin: 0 auto 25px !important;
        color: #ffffff !important;
        font-size: 16px !important;
        line-height: 1.55 !important;
        font-weight: 750 !important;
        text-shadow: 0 4px 18px rgba(0, 0, 0, 0.72) !important;
      }

      .hero-actions {
        display: flex !important;
        justify-content: center !important;
        gap: 12px !important;
        flex-wrap: wrap !important;
      }

      .hero-actions .btn {
        min-height: 40px !important;
        padding: 0 16px !important;
        border-radius: 10px !important;
        font-size: 13px !important;
        box-shadow: 0 15px 32px rgba(0, 0, 0, 0.22) !important;
      }

      /* Barra de accesos: bordes prolijos, sin puntas raras */
      .quick-wrap {
        width: min(1180px, 92%) !important;
        margin: -112px auto 30px !important;
        position: relative !important;
        z-index: 30 !important;
      }

      .quick-grid {
        display: grid !important;
        grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
        gap: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border-radius: 22px !important;
        background: rgba(5, 20, 35, 0.94) !important;
        border: 1px solid rgba(255, 255, 255, 0.18) !important;
        box-shadow: 0 22px 55px rgba(0, 0, 0, 0.28) !important;
        backdrop-filter: blur(15px) !important;
        -webkit-backdrop-filter: blur(15px) !important;
      }

      .quick-card {
        min-height: 104px !important;
        padding: 13px 8px !important;
        border: 0 !important;
        border-radius: 0 !important;
        border-right: 1px solid rgba(255, 255, 255, 0.13) !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #ffffff !important;
      }

      .quick-card:last-child {
        border-right: 0 !important;
      }

      .quick-card:hover {
        transform: none !important;
        background: rgba(255, 255, 255, 0.08) !important;
      }

      .qicon {
        width: auto !important;
        height: auto !important;
        border-radius: 0 !important;
        background: transparent !important;
        font-size: 25px !important;
      }

      .bg-orange {
        color: #f59b12 !important;
      }

      .bg-blue {
        color: #0d9de4 !important;
      }

      .bg-green {
        color: #86d851 !important;
      }

      .quick-card span {
        color: rgba(255, 255, 255, 0.94) !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        text-shadow: none !important;
      }

      img,
      .site-banner img,
      .main-banner img,
      .vet-banner img,
      .tour-card img,
      .news-img,
      .modal-news-img {
        opacity: 1 !important;
        filter: none !important;
      }

      @media (max-width: 980px) {
        .hero,
        .hero .container {
          min-height: 570px !important;
        }

        .quick-grid {
          grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        }

        .quick-card {
          border-right: 1px solid rgba(255, 255, 255, 0.13) !important;
          border-bottom: 1px solid rgba(255, 255, 255, 0.13) !important;
        }

        .quick-card:nth-child(4n) {
          border-right: 0 !important;
        }

        .quick-card:nth-child(n + 5) {
          border-bottom: 0 !important;
        }
      }

      @media (max-width: 780px) {
        .header .container.nav {
          width: min(94%, 520px) !important;
          min-height: 58px !important;
          margin-top: 8px !important;
          padding: 0 4px !important;
        }

        .brand img {
          width: 44px !important;
        }

        .brand strong {
          color: #ffffff !important;
          max-width: 120px !important;
          font-size: 11.5px !important;
        }

        .hamb,
        .pay-btn,
        .admin-dot {
          background: rgba(0, 114, 188, 0.92) !important;
          border: 0 !important;
          color: #ffffff !important;
          box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22) !important;
        }

        .menu {
          top: 74px !important;
          left: 3% !important;
          right: 3% !important;
          background: rgba(6, 22, 39, 0.98) !important;
          border: 1px solid rgba(255, 255, 255, 0.12) !important;
          box-shadow: 0 22px 50px rgba(0, 0, 0, 0.28) !important;
          border-radius: 18px !important;
        }

        .nav-link {
          color: #ffffff !important;
        }

        .dropdown {
          background: #ffffff !important;
        }

        .hero,
        .hero .container {
          min-height: 555px !important;
        }

        .hero {
          background: var(--hero-image, url("assets/img/portada.png")) center top/cover no-repeat !important;
        }

        .hero::before {
          height: 170px !important;
          background: linear-gradient(
            180deg,
            rgba(4, 14, 26, 0.78) 0%,
            rgba(4, 14, 26, 0.46) 48%,
            rgba(4, 14, 26, 0.00) 100%
          ) !important;
        }

        .hero-content {
          padding: 110px 0 132px !important;
        }

        .hero h1 {
          font-size: clamp(38px, 13vw, 52px) !important;
          line-height: 0.96 !important;
          letter-spacing: -1.7px !important;
        }

        .hero p {
          font-size: 13.5px !important;
          max-width: 330px !important;
          margin-bottom: 18px !important;
        }

        .hero-actions {
          display: grid !important;
          grid-template-columns: 1fr 1fr !important;
          width: min(330px, 100%) !important;
          margin: 0 auto !important;
          gap: 9px !important;
        }

        .hero-actions .btn {
          width: auto !important;
          min-height: 40px !important;
          padding: 0 10px !important;
          font-size: 11.5px !important;
        }

        .quick-wrap {
          width: min(94%, 520px) !important;
          margin-top: -92px !important;
          margin-bottom: 22px !important;
        }

        .quick-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          border-radius: 20px !important;
        }

        .quick-card {
          min-height: 78px !important;
          padding: 8px 5px !important;
          border-right: 0 !important;
          border-bottom: 1px solid rgba(255, 255, 255, 0.13) !important;
        }

        .quick-card:nth-child(odd) {
          border-right: 1px solid rgba(255, 255, 255, 0.13) !important;
        }

        .quick-card:nth-last-child(-n + 2) {
          border-bottom: 0 !important;
        }

        .qicon {
          font-size: 21px !important;
        }

        .quick-card span {
          font-size: 11px !important;
        }
      }

      /* ===== AJUSTE FINAL: ACCESOS MÁS ABAJO Y FONDO BLANCO ===== */
      .quick-wrap {
        width: min(1180px, 92%) !important;
        margin: -42px auto 34px !important;
        position: relative !important;
        z-index: 30 !important;
      }

      .quick-grid {
        display: grid !important;
        grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
        gap: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border-radius: 22px !important;
        background: #ffffff !important;
        border: 1px solid #dfe8f2 !important;
        box-shadow: 0 18px 45px rgba(8, 41, 70, 0.16) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
      }

      .quick-card {
        min-height: 104px !important;
        padding: 14px 8px !important;
        border: 0 !important;
        border-radius: 0 !important;
        border-right: 1px solid #e3edf7 !important;
        background: #ffffff !important;
        box-shadow: none !important;
        color: #07182d !important;
      }

      .quick-card:last-child {
        border-right: 0 !important;
      }

      .quick-card:hover {
        transform: none !important;
        background: linear-gradient(180deg, #ffffff, #f4f9fd) !important;
      }

      .qicon {
        width: 38px !important;
        height: 38px !important;
        border-radius: 12px !important;
        background: transparent !important;
        font-size: 25px !important;
      }

      .quick-card span {
        color: #07182d !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        text-shadow: none !important;
      }

      @media (max-width: 980px) {
        .quick-wrap {
          margin: -34px auto 28px !important;
        }

        .quick-grid {
          grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        }

        .quick-card {
          border-right: 1px solid #e3edf7 !important;
          border-bottom: 1px solid #e3edf7 !important;
        }

        .quick-card:nth-child(4n) {
          border-right: 0 !important;
        }

        .quick-card:nth-child(n + 5) {
          border-bottom: 0 !important;
        }
      }

      @media (max-width: 780px) {
        .quick-wrap {
          width: min(94%, 520px) !important;
          margin: -26px auto 24px !important;
        }

        .quick-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          border-radius: 20px !important;
        }

        .quick-card {
          min-height: 78px !important;
          padding: 8px 5px !important;
          border-right: 0 !important;
          border-bottom: 1px solid #e3edf7 !important;
          background: #ffffff !important;
        }

        .quick-card:nth-child(odd) {
          border-right: 1px solid #e3edf7 !important;
        }

        .quick-card:nth-last-child(-n + 2) {
          border-bottom: 0 !important;
        }

        .qicon {
          font-size: 21px !important;
        }

        .quick-card span {
          color: #07182d !important;
          font-size: 11px !important;
        }
      }

      .hero-actions .btn-orange {
        display: inline-flex !important;
        background: linear-gradient(135deg, #f59b12, #ffb22f) !important;
        color: #ffffff !important;
      }

      .hero-actions .btn-green,
      .hero-actions .btn-blue,
      .hero-actions .btn-orange {
        min-height: 43px !important;
        border-radius: 12px !important;
        padding: 0 18px !important;
        font-size: 13px !important;
        font-weight: 900 !important;
      }

      .quick-wrap {
        width: min(1180px, 92%) !important;
        margin: -38px auto 34px !important;
        position: relative !important;
        z-index: 40 !important;
      }

      .quick-grid {
        display: grid !important;
        grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
        gap: 10px !important;
        padding: 12px !important;
        overflow: visible !important;
        border-radius: 22px !important;
        background: #ffffff !important;
        border: 1px solid #dfe8f2 !important;
        box-shadow: 0 18px 45px rgba(8, 41, 70, 0.16) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
      }

      .quick-card {
        min-height: 86px !important;
        padding: 10px 6px !important;
        border: 1px solid #dfe8f2 !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        box-shadow: none !important;
        color: #07182d !important;
        display: grid !important;
        place-items: center !important;
        gap: 6px !important;
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
      }

      .quick-card:last-child,
      .quick-card:nth-child(4n),
      .quick-card:nth-child(odd),
      .quick-card:nth-child(n + 5),
      .quick-card:nth-last-child(-n + 2) {
        border: 1px solid #dfe8f2 !important;
      }

      .quick-card:hover {
        transform: translateY(-3px) !important;
        background: linear-gradient(180deg, #ffffff, #f7fbff) !important;
        box-shadow: 0 12px 24px rgba(8, 41, 70, 0.10) !important;
      }

      .qicon {
        width: 38px !important;
        height: 38px !important;
        border-radius: 11px !important;
        display: grid !important;
        place-items: center !important;
        font-size: 20px !important;
        color: #ffffff !important;
      }

      .qicon.bg-orange {
        background: linear-gradient(135deg, #f59b12, #ffb22f) !important;
        color: #ffffff !important;
      }

      .qicon.bg-blue {
        background: linear-gradient(135deg, #0072bc, #0d8fd3) !important;
        color: #ffffff !important;
      }

      .qicon.bg-green {
        background: linear-gradient(135deg, #72c943, #8edb4e) !important;
        color: #ffffff !important;
      }

      .quick-card span {
        color: #07182d !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        text-shadow: none !important;
      }

      .faq-intro {
        background: linear-gradient(135deg, #eef8ff, #ffffff);
        border: 1px solid #dfe8f2;
        border-radius: 16px;
        padding: 13px 14px;
        margin-bottom: 14px !important;
        color: #31445f !important;
        font-weight: 700;
      }

      .assistant-faq-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }

      .assistant-faq-card {
        border: 1px solid #dfe8f2;
        background: #ffffff;
        border-radius: 16px;
        padding: 13px;
        display: flex;
        align-items: flex-start;
        gap: 11px;
        text-align: left;
        cursor: pointer;
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
      }

      .assistant-faq-card:hover {
        transform: translateY(-2px);
        background: #f7fbff;
        box-shadow: 0 12px 24px rgba(8, 41, 70, .10);
      }

      .assistant-faq-card > span {
        width: 38px;
        height: 38px;
        min-width: 38px;
        border-radius: 12px;
        display: grid;
        place-items: center;
        background: linear-gradient(135deg, #0072bc, #0d8fd3);
        color: #ffffff;
        font-size: 18px;
      }

      .assistant-faq-card:nth-child(2) > span,
      .assistant-faq-card:nth-child(5) > span {
        background: linear-gradient(135deg, #72c943, #8edb4e);
      }

      .assistant-faq-card:nth-child(4) > span,
      .assistant-faq-card:nth-child(6) > span {
        background: linear-gradient(135deg, #f59b12, #ffb22f);
      }

      .assistant-faq-card b {
        display: block;
        color: #082946;
        font-size: 13px;
        line-height: 1.25;
        margin-bottom: 4px;
      }

      .assistant-faq-card small {
        display: block;
        color: #657487;
        font-size: 11.5px;
        line-height: 1.35;
      }

      @media (max-width: 980px) {
        .quick-grid {
          grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        }
      }

      @media (max-width: 780px) {
        .hero-actions {
          display: grid !important;
          grid-template-columns: 1fr !important;
          width: min(320px, 100%) !important;
          margin: 0 auto !important;
          gap: 9px !important;
        }

        .hero-actions .btn {
          width: 100% !important;
        }

        .quick-wrap {
          width: min(94%, 520px) !important;
          margin: -24px auto 24px !important;
        }

        .quick-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          gap: 9px !important;
          padding: 10px !important;
          border-radius: 20px !important;
        }

        .quick-card {
          min-height: 82px !important;
          padding: 9px 5px !important;
        }

        .assistant-faq-list {
          grid-template-columns: 1fr;
        }
      }

      .modal-icon.assistant-modal-icon {
        width: 62px !important;
        height: 62px !important;
        border-radius: 50% !important;
        background: #ffffff !important;
        border: 4px solid rgba(255, 255, 255, 0.72) !important;
        padding: 2px !important;
        box-shadow: 0 12px 26px rgba(8, 41, 70, 0.20) !important;
        overflow: hidden !important;
      }

      .modal-icon.assistant-modal-icon img {
        width: 100% !important;
        height: 100% !important;
        border-radius: 50% !important;
        object-fit: contain !important;
        background: #ffffff !important;
        padding: 3px !important;
      }

      /* Servicios municipales con el mismo aire blanco que los botones de portada */
      #servicios .services-grid {
        gap: 14px !important;
      }

      #servicios .service-card {
        background: #ffffff !important;
        border: 1px solid #dfe8f2 !important;
        border-radius: 18px !important;
        box-shadow: 0 12px 28px rgba(8, 41, 70, 0.08) !important;
        min-height: 112px !important;
        padding: 15px !important;
        align-items: center !important;
      }

      #servicios .service-card:hover {
        background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
        border-color: #cbdceb !important;
        box-shadow: 0 18px 36px rgba(8, 41, 70, 0.13) !important;
      }

      #servicios .service-card .icon {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        border-radius: 13px !important;
        display: grid !important;
        place-items: center !important;
        box-shadow: 0 10px 20px rgba(8, 41, 70, 0.12) !important;
      }

      #servicios .service-card .icon i {
        color: #ffffff !important;
        font-size: 22px !important;
        line-height: 1 !important;
        opacity: 1 !important;
        filter: none !important;
        text-shadow: none !important;
      }

      #servicios .service-card h3 {
        color: #07182d !important;
        font-size: 15px !important;
        font-weight: 900 !important;
      }

      #servicios .service-card p {
        color: #526174 !important;
        font-size: 12.5px !important;
        font-weight: 600 !important;
      }

      /* Atención al vecino más linda y ordenada */
      .attention {
        position: relative !important;
        grid-template-columns: 1.25fr 1fr 1fr 1.25fr !important;
        border: 1px solid #d8ecff !important;
        border-radius: 24px !important;
        overflow: hidden !important;
        background:
          radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.22) 0 72px, transparent 74px),
          linear-gradient(135deg, #eef8ff 0%, #ffffff 48%, #f8fcff 100%) !important;
        box-shadow: 0 18px 45px rgba(8, 41, 70, 0.11) !important;
      }

      .attention .att-col {
        min-height: 104px !important;
        padding: 20px 18px !important;
        border-right: 1px solid #dbe9f6 !important;
        border-bottom: 0 !important;
      }

      .attention .att-col:first-child {
        background: linear-gradient(135deg, #0072bc, #0d8fd3) !important;
        color: #ffffff !important;
      }

      .attention .att-col:first-child::before {
        content: "\F4E1";
        font-family: "bootstrap-icons";
        width: 46px;
        height: 46px;
        min-width: 46px;
        border-radius: 14px;
        display: grid;
        place-items: center;
        background: rgba(255, 255, 255, 0.18);
        color: #ffffff;
        font-size: 22px;
        margin-right: 12px;
      }

      .attention .att-title {
        color: #ffffff !important;
        font-size: 22px !important;
        line-height: 1.05 !important;
      }

      .attention .att-col i {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        border-radius: 13px !important;
        display: grid !important;
        place-items: center !important;
        background: #ffffff !important;
        color: #0072bc !important;
        box-shadow: 0 10px 22px rgba(8, 41, 70, 0.10) !important;
        font-size: 22px !important;
      }

      .attention .att-col b {
        color: #082946 !important;
        font-size: 15px !important;
        font-weight: 900 !important;
      }

      .attention .att-col small {
        color: #526174 !important;
        font-weight: 600 !important;
      }

      .attention .att-highlight {
        background: linear-gradient(135deg, #f59b12, #ffb22f) !important;
        color: #ffffff !important;
      }

      .attention .att-highlight i {
        color: #f59b12 !important;
      }

      .attention .att-highlight b,
      .attention .att-highlight small {
        color: #ffffff !important;
      }

      /* Modal estilo noticia para Conocé Maipú */
      .tour-modal-image {
        width: 100% !important;
        max-height: 300px !important;
        object-fit: cover !important;
        border-radius: 16px !important;
        margin-bottom: 16px !important;
        border: 1px solid #dfe8f2 !important;
        box-shadow: 0 12px 26px rgba(8, 41, 70, 0.10) !important;
      }

      .tour-modal-kicker {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        color: #0072bc;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: .35px;
        margin-bottom: 8px;
      }

      .tour-modal-text {
        color: #526174 !important;
        font-weight: 600;
        line-height: 1.65 !important;
      }

      .tour-modal-highlight {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        margin-top: 14px;
      }

      .tour-modal-highlight span {
        border: 1px solid #dfe8f2;
        background: #f7fbff;
        color: #082946;
        border-radius: 14px;
        padding: 11px;
        font-size: 12px;
        font-weight: 900;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        text-align: center;
      }

      @media (max-width: 780px) {

        #servicios .services-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          gap: 10px !important;
        }

        #servicios .service-card {
          min-height: 126px !important;
          padding: 13px 9px !important;
          flex-direction: column !important;
          justify-content: flex-start !important;
          text-align: center !important;
        }

        #servicios .service-card .icon {
          width: 44px !important;
          height: 44px !important;
          min-width: 44px !important;
        }

        .attention {
          grid-template-columns: 1fr !important;
          border-radius: 20px !important;
        }

        .attention .att-col {
          min-height: 88px !important;
          border-right: 0 !important;
          border-bottom: 1px solid #dbe9f6 !important;
        }

        .attention .att-col:last-child {
          border-bottom: 0 !important;
        }

        .attention .att-title {
          font-size: 21px !important;
        }

        .modal-icon.assistant-modal-icon {
          width: 52px !important;
          height: 52px !important;
        }

        .tour-modal-image {
          max-height: 215px !important;
          border-radius: 14px !important;
        }

        .tour-modal-highlight {
          grid-template-columns: 1fr !important;
        }
      }

      body .top-strip {
        display: block !important;
        background: linear-gradient(90deg, #128fd0, #68bf42) !important;
        color: #ffffff !important;
        font-size: 10.5px !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.35px !important;
        overflow: hidden !important;
      }

      body .top-strip .container {
        height: 22px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 28px !important;
        white-space: nowrap !important;
      }

      body .topbar {
        display: block !important;
        background: #062743 !important;
        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 700 !important;
      }

      body .topbar .container {
        min-height: 42px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 18px !important;
        flex-wrap: wrap !important;
      }

      body .header {
        background: #ffffff !important;
        position: sticky !important;
        top: 0 !important;
        left: auto !important;
        right: auto !important;
        z-index: 1000 !important;
        box-shadow: 0 6px 22px rgba(12, 35, 70, 0.08) !important;
        pointer-events: auto !important;
      }

      body .header .container.nav {
        width: min(1180px, 92%) !important;
        min-height: 66px !important;
        margin: auto !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 18px !important;
      }

      body .brand strong {
        color: #173a5f !important;
        text-shadow: none !important;
      }

      body .brand small {
        color: #50708f !important;
        text-shadow: none !important;
      }

      body .menu {
        color: #243a59 !important;
        text-shadow: none !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
      }

      body .nav-link {
        color: inherit !important;
        text-shadow: none !important;
      }

      body .nav-link:hover,
      body .nav-link.active {
        color: var(--azul) !important;
      }

      body .nav-link.active::after {
        display: block !important;
        bottom: 11px !important;
        height: 4px !important;
        background: linear-gradient(90deg, var(--azul), var(--verde)) !important;
        box-shadow: none !important;
      }

      body .header-actions .search-btn {
        background: #ffffff !important;
        color: var(--azul) !important;
        border: 1px solid #cfe0ef !important;
        box-shadow: none !important;
        padding: 0 14px !important;
        text-shadow: none !important;
      }

      body .header-actions .admin-btn.desktop-admin-btn {
        background: #0b2341 !important;
        color: #ffffff !important;
        border: 0 !important;
        padding: 0 14px !important;
        box-shadow: none !important;
        text-shadow: none !important;
      }

      body main.hero#inicio {
        position: relative !important;
        min-height: 365px !important;
        overflow: hidden !important;
        isolation: isolate !important;
        background: var(--hero-image, url("assets/img/portada.png")) center / cover no-repeat !important;
      }

      body main.hero#inicio::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
        pointer-events: none !important;
        background: linear-gradient(
          90deg,
          rgba(6, 29, 52, 0.10) 0%,
          rgba(6, 29, 52, 0.06) 45%,
          rgba(6, 29, 52, 0.38) 100%
        ) !important;
        display: block !important;
        height: auto !important;
      }

      body main.hero#inicio::after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        height: 0 !important;
        background: #ffffff !important;
        border-radius: 0 !important;
        z-index: 1 !important;
        display: block !important;
      }

      body main.hero#inicio > .container {
        position: relative !important;
        z-index: 2 !important;
        min-height: 365px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: min(1180px, 92%) !important;
      }

      body main.hero#inicio .hero-content {
        color: #ffffff !important;
        max-width: 660px !important;
        margin: 0 !important;
        padding: 34px 0 50px !important;
        text-align: left !important;
        text-shadow: 0 3px 12px rgba(0, 0, 0, 0.38) !important;
      }

      body main.hero#inicio .hero-badge {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        background: rgba(255, 255, 255, 0.14) !important;
        border: 1px solid rgba(255, 255, 255, 0.25) !important;
        border-radius: 999px !important;
        padding: 9px 14px !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        margin-bottom: 14px !important;
        color: #ffffff !important;
        backdrop-filter: blur(5px) !important;
      }

      body main.hero#inicio h1 {
        font-size: clamp(40px, 5.6vw, 66px) !important;
        line-height: 0.94 !important;
        font-weight: 900 !important;
        letter-spacing: -2px !important;
        margin: 0 0 14px !important;
        max-width: 660px !important;
        color: #ffffff !important;
        text-align: left !important;
        text-shadow: 0 3px 12px rgba(0, 0, 0, 0.38) !important;
      }

      body main.hero#inicio h1 span {
        display: block !important;
        color: #c7f36b !important;
      }

      body main.hero#inicio p {
        color: #f3f8ff !important;
        font-size: 16px !important;
        line-height: 1.48 !important;
        max-width: 640px !important;
        margin: 0 0 21px !important;
        font-weight: 600 !important;
        text-align: left !important;
        text-shadow: 0 3px 12px rgba(0, 0, 0, 0.38) !important;
      }

      body main.hero#inicio .hero-actions {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        flex-wrap: wrap !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
      }

      body main.hero#inicio .hero-actions .btn,
      body main.hero#inicio .hero-actions .btn-green,
      body main.hero#inicio .hero-actions .btn-blue,
      body main.hero#inicio .hero-actions .btn-orange {
        display: inline-flex !important;
        width: auto !important;
        min-height: 38px !important;
        padding: 0 14px !important;
        border-radius: 9px !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        box-shadow: none !important;
        white-space: nowrap !important;
      }

      body main.hero#inicio .hero-actions .btn-green {
        background: linear-gradient(135deg, var(--verde), var(--verde2)) !important;
        color: #ffffff !important;
      }

      body main.hero#inicio .hero-actions .btn-blue {
        background: linear-gradient(135deg, var(--azul), var(--azul2)) !important;
        color: #ffffff !important;
      }

      body main.hero#inicio .hero-actions .btn-orange {
        background: linear-gradient(135deg, var(--naranja), #ffb427) !important;
        color: #ffffff !important;
      }

      body main.hero#inicio .hero-dots {
        display: flex !important;
        justify-content: flex-start !important;
        gap: 9px !important;
        margin-top: 17px !important;
        max-width: none !important;
      }

      body main.hero#inicio .hero-dots button {
        width: 10px !important;
        height: 10px !important;
        border-radius: 50% !important;
        border: 0 !important;
        background: rgba(255, 255, 255, 0.45) !important;
        cursor: pointer !important;
      }

      body main.hero#inicio .hero-dots button.active {
        width: 30px !important;
        border-radius: 30px !important;
        background: #ffffff !important;
      }

      body .quick-wrap {
        width: min(1180px, 92%) !important;
        margin: -22px auto 0 !important;
        position: relative !important;
        z-index: 5 !important;
      }

      body .quick-grid {
        background: #ffffff !important;
        border-radius: 20px !important;
        box-shadow: var(--shadow) !important;
        padding: 12px !important;
        display: grid !important;
        grid-template-columns: repeat(8, 1fr) !important;
        gap: 10px !important;
        overflow: visible !important;
        border: 0 !important;
        backdrop-filter: none !important;
      }

      body .quick-card {
        border: 1px solid var(--borde) !important;
        background: #ffffff !important;
        border-radius: 14px !important;
        min-height: 86px !important;
        padding: 9px 6px !important;
        display: grid !important;
        place-items: center !important;
        text-align: center !important;
        gap: 5px !important;
        color: inherit !important;
        box-shadow: none !important;
      }

      body .quick-card:hover {
        transform: translateY(-3px) !important;
        box-shadow: var(--shadow2) !important;
      }

      body .qicon {
        width: 38px !important;
        height: 38px !important;
        border-radius: 10px !important;
        display: grid !important;
        place-items: center !important;
        color: #ffffff !important;
        font-size: 20px !important;
      }

      body .quick-card .bg-orange {
        background: linear-gradient(135deg, var(--naranja), #ffb427) !important;
      }

      body .quick-card .bg-blue {
        background: linear-gradient(135deg, var(--azul), var(--azul2)) !important;
      }

      body .quick-card .bg-green {
        background: linear-gradient(135deg, var(--verde), var(--verde2)) !important;
      }

      body .quick-card span {
        color: #193451 !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        text-shadow: none !important;
      }

      @media (max-width: 1100px) {
        body .quick-grid {
          grid-template-columns: repeat(4, 1fr) !important;
        }
      }

      @media (max-width: 780px) {
        body .top-strip,
        body .topbar {
          display: none !important;
        }

        body .header {
          position: sticky !important;
          background: #ffffff !important;
          box-shadow: 0 6px 22px rgba(12, 35, 70, 0.08) !important;
        }

        body .header .container.nav {
          width: min(96%, 540px) !important;
          min-height: 62px !important;
          margin: auto !important;
          padding: 0 !important;
          border-radius: 0 !important;
          background: transparent !important;
          border: 0 !important;
          box-shadow: none !important;
          gap: 7px !important;
        }

        body .brand img {
          width: 44px !important;
          flex: 0 0 44px !important;
        }

        body .brand strong {
          color: #173a5f !important;
          font-size: 13px !important;
          line-height: 1.05 !important;
          white-space: nowrap !important;
          text-shadow: none !important;
          max-width: none !important;
        }

        body .brand small {
          display: block !important;
          color: #50708f !important;
          font-size: 8.5px !important;
          letter-spacing: .25px !important;
          text-shadow: none !important;
        }

        body .menu {
          position: fixed !important;
          top: 62px !important;
          left: 0 !important;
          right: 0 !important;
          background: #ffffff !important;
          box-shadow: var(--shadow) !important;
          border: 0 !important;
          border-radius: 0 !important;
          color: #243a59 !important;
          padding: 14px 18px !important;
        }

        body .nav-link {
          color: #243a59 !important;
        }

        body .pay-btn {
          display: none !important;
        }

        body .search-btn,
        body .hamb {
          width: 40px !important;
          height: 40px !important;
          min-width: 40px !important;
          padding: 0 !important;
          border-radius: 12px !important;
          background: #ffffff !important;
          color: var(--azul) !important;
          border: 2px solid var(--azul) !important;
          box-shadow: 0 8px 18px rgba(0, 114, 188, 0.12) !important;
          display: grid !important;
          place-items: center !important;
          font-size: 0 !important;
        }

        body .search-btn i,
        body .hamb i {
          font-size: 18px !important;
          line-height: 1 !important;
          color: var(--azul) !important;
        }

        body main.hero#inicio,
        body main.hero#inicio > .container {
          min-height: 462px !important;
        }

        body main.hero#inicio {
          background:
            linear-gradient(180deg, rgba(6, 29, 52, 0.34), rgba(6, 29, 52, 0.76)),
            var(--hero-image, url("assets/img/portada.png")) center / cover no-repeat !important;
        }

        body main.hero#inicio::before {
          display: none !important;
        }

        body main.hero#inicio::after {
          left: -28% !important;
          right: -28% !important;
          bottom: -78px !important;
          height: 128px !important;
          border-radius: 50% 50% 0 0 !important;
          background: #ffffff !important;
          display: block !important;
        }

        body main.hero#inicio > .container {
          align-items: flex-start !important;
          justify-content: flex-start !important;
          width: min(94%, 520px) !important;
        }

        body main.hero#inicio .hero-content {
          max-width: 100% !important;
          padding: 50px 0 74px !important;
          text-align: left !important;
          margin: 0 !important;
        }

        body main.hero#inicio .hero-badge {
          display: inline-flex !important;
          font-size: 10px !important;
          padding: 8px 12px !important;
          margin-bottom: 14px !important;
        }

        body main.hero#inicio h1 {
          font-size: 31px !important;
          line-height: .96 !important;
          letter-spacing: -1.1px !important;
          max-width: 340px !important;
          text-align: left !important;
        }

        body main.hero#inicio p {
          max-width: 330px !important;
          font-size: 13.5px !important;
          line-height: 1.45 !important;
          margin-bottom: 17px !important;
          text-align: left !important;
        }

        body main.hero#inicio .hero-actions {
          display: grid !important;
          grid-template-columns: 1fr !important;
          gap: 10px !important;
          max-width: 236px !important;
          width: 100% !important;
          margin: 0 !important;
        }

        body main.hero#inicio .hero-actions .btn {
          width: 100% !important;
          min-height: 38px !important;
          border-radius: 11px !important;
          font-size: 12.5px !important;
          justify-content: center !important;
        }

        body main.hero#inicio .hero-dots {
          justify-content: center !important;
          max-width: 236px !important;
          margin-top: 14px !important;
        }

        body .quick-wrap {
          width: min(94%, 520px) !important;
          margin: -12px auto 0 !important;
        }

        body .quick-grid {
          grid-template-columns: repeat(2, 1fr) !important;
          gap: 10px !important;
          padding: 12px !important;
          border-radius: 20px !important;
        }

        body .quick-card {
          min-height: 86px !important;
          border: 1px solid var(--borde) !important;
          border-radius: 14px !important;
          background: #ffffff !important;
        }
      }

      @media (max-width: 390px) {
        body main.hero#inicio h1 {
          font-size: 29px !important;
        }

        body .brand img {
          width: 40px !important;
          flex-basis: 40px !important;
        }

        body .brand strong {
          font-size: 12.2px !important;
        }

        body .brand small {
          font-size: 7.8px !important;
        }
      }

/* =========================================================
   AJUSTES PEDIDOS POR NATALIA - HEADER MOBILE, BUSCADOR,
   TORO, MODAL CONOCÉ MAIPÚ, FOOTER Y DATOS ABIERTOS
   ========================================================= */

body .header-actions .search-btn:hover,
body .header-actions .search-btn:focus-visible {
  background: #eaf6ff !important;
  color: var(--azul) !important;
  border-color: var(--azul) !important;
  box-shadow: 0 8px 18px rgba(0, 114, 188, 0.12) !important;
}

body .header-actions .search-btn:hover i,
body .header-actions .search-btn:focus-visible i {
  color: var(--azul) !important;
}

footer a {
  color: #d2dbe8;
  transition: 0.2s ease;
}

footer a:hover {
  color: #ffffff;
  padding-left: 3px;
}

footer .numbers a {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #d2dbe8;
}

footer .numbers a:hover {
  padding-left: 0;
  color: #ffffff;
}

/* Modal Conocé Maipú más chico, parecido al tamaño de noticias */
body .modal.tour-small .modal-box {
  width: min(680px, 94%) !important;
}

body .modal.tour-small .modal-news-img,
body .modal.tour-small .tour-modal-image {
  max-height: 225px !important;
  object-fit: cover !important;
}

body .modal.tour-small .modal-body p {
  font-size: 14px;
  line-height: 1.55;
}

.imperial-modal h3 {
  color: #173350;
  font-size: 20px;
  line-height: 1.2;
  margin: 4px 0 12px;
}

.imperial-modal .imperial-subtitle {
  color: var(--azul);
  font-weight: 900;
  margin-top: 18px;
}

.imperial-modal p {
  color: #526174;
  line-height: 1.62;
}

.imperial-modal .modal-grid {
  margin-top: 14px;
}

@media (max-width: 780px) {
  body .header .container.nav {
    min-height: 64px !important;
    gap: 7px !important;
  }

  body .brand {
    order: 1 !important;
    min-width: 0 !important;
  }

  body .header-actions {
    order: 2 !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  body .hamb {
    order: 3 !important;
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 12px !important;
    border: 0 !important;
    background: var(--azul) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 20px rgba(0, 114, 188, 0.22) !important;
    padding: 0 !important;
  }

  body .hamb i {
    color: #ffffff !important;
    font-size: 26px !important;
    line-height: 1 !important;
  }

  body .menu {
    order: 4 !important;
    top: 64px !important;
    max-height: calc(100vh - 64px) !important;
  }

  body .header-actions .search-btn {
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--azul) !important;
    box-shadow: none !important;
    font-size: 0 !important;
  }

  body .header-actions .search-btn:hover,
  body .header-actions .search-btn:focus-visible {
    background: rgba(0, 114, 188, 0.08) !important;
    color: var(--azul) !important;
    border: 0 !important;
  }

  body .header-actions .search-btn i {
    color: var(--azul) !important;
    font-size: 31px !important;
    line-height: 1 !important;
    -webkit-text-stroke: 0.7px currentColor;
  }

  body .desktop-admin-btn,
  body .admin-btn.desktop-admin-btn,
  body .pay-btn {
    display: none !important;
  }

  body .brand img {
    width: 48px !important;
    flex: 0 0 48px !important;
  }

  body .brand strong {
    font-size: 13px !important;
    line-height: 1.05 !important;
  }

  body .brand small {
    display: block !important;
    font-size: 8px !important;
  }

  body .modal.tour-small .modal-box {
    width: min(94%, 520px) !important;
  }

  body .modal.tour-small .modal-news-img,
  body .modal.tour-small .tour-modal-image {
    max-height: 190px !important;
  }
}

body .modal .modal-box,
body .modal.tour-small .modal-box,
body .modal.datos-mode .modal-box,
body .modal.news-mode .modal-box {
  width: min(900px, 100%) !important;
  max-height: 92vh !important;
  border-radius: 22px !important;
}

body .modal .modal-head {
  padding: 24px !important;
}

body .modal .modal-head h2 {
  font-size: 27px !important;
  line-height: 1.15 !important;
}

body .modal .modal-head p {
  font-size: 15px !important;
  line-height: 1.4 !important;
}

body .modal .modal-body {
  padding: 22px !important;
}

body .modal .modal-news-img,
body .modal .tour-modal-image,
body .modal.tour-small .modal-news-img,
body .modal.tour-small .tour-modal-image,
body .imperial-modal .modal-news-img,
body .imperial-modal .tour-modal-image {
  display: block !important;
  width: 100% !important;
  height: 340px !important;
  max-height: 340px !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f3f8fc !important;
  border: 1px solid var(--borde) !important;
  border-radius: 16px !important;
  padding: 0 !important;
  margin-bottom: 18px !important;
  box-shadow: 0 12px 26px rgba(8, 41, 70, 0.10) !important;
}

body .modal.news-mode .modal-news-img {
  height: 360px !important;
  max-height: 360px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f3f8fc !important;
}

body .tour-card img {
  object-position: center center !important;
}

/* El hover del buscador del header queda siempre legible */
body .header-actions .search-btn:hover,
body .header-actions .search-btn:focus-visible {
  background: #eaf6ff !important;
  color: var(--azul) !important;
  border-color: var(--azul) !important;
}

body .header-actions .search-btn:hover i,
body .header-actions .search-btn:focus-visible i {
  color: var(--azul) !important;
}

@media (max-width: 780px) {
  body main.hero#inicio,
  body .hero {
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body main.hero#inicio::after,
  body .hero::after {
    display: none !important;
    content: none !important;
    height: 0 !important;
  }

  body .quick-wrap {
    margin-top: -12px !important;
  }

  body .modal {
    align-items: flex-start !important;
    padding-top: 82px !important;
  }

  body .modal .modal-box,
  body .modal.tour-small .modal-box,
  body .modal.datos-mode .modal-box,
  body .modal.news-mode .modal-box {
    width: min(94%, 520px) !important;
    max-height: 82vh !important;
    border-radius: 20px !important;
  }

  body .modal .modal-head {
    padding: 16px !important;
  }

  body .modal .modal-head h2 {
    font-size: 18px !important;
  }

  body .modal .modal-head p {
    font-size: 12px !important;
  }

  body .modal .modal-body {
    padding: 16px !important;
  }

  body .modal .modal-news-img,
  body .modal .tour-modal-image,
  body .modal.tour-small .modal-news-img,
  body .modal.tour-small .tour-modal-image,
  body .imperial-modal .modal-news-img,
  body .imperial-modal .tour-modal-image,
  body .modal.news-mode .modal-news-img {
    height: 210px !important;
    max-height: 210px !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #f3f8fc !important;
  }
}

/* =========================================================
   AJUSTE FINAL NATALIA - MODALES, MÓVIL VETERINARIO Y MAPA
   ========================================================= */
body .modal .modal-box,
body .modal.tour-small .modal-box,
body .modal.datos-mode .modal-box,
body .modal.news-mode .modal-box {
  width: min(880px, 94%) !important;
  max-height: 90vh !important;
  overflow: hidden !important;
}

body .modal .modal-body {
  max-height: calc(90vh - 120px) !important;
  overflow-y: auto !important;
  padding: 20px !important;
}

body .modal .modal-news-img,
body .modal .tour-modal-image,
body .modal.tour-small .modal-news-img,
body .modal.tour-small .tour-modal-image,
body .imperial-modal .modal-news-img,
body .imperial-modal .tour-modal-image,
body .modal.news-mode .modal-news-img {
  display: block !important;
  width: 100% !important;
  height: clamp(210px, 34vw, 315px) !important;
  max-height: 315px !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
  border: 1px solid var(--borde) !important;
  border-radius: 16px !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  box-shadow: 0 10px 22px rgba(8, 41, 70, 0.10) !important;
}

body .imperial-modal .modal-news-img,
body .imperial-modal .tour-modal-image {
  object-position: center 45% !important;
}

body .modal.news-mode .modal-news-img {
  height: clamp(220px, 36vw, 330px) !important;
  max-height: 330px !important;
}

body .modal.tour-small .modal-box {
  width: min(760px, 94%) !important;
}

body .modal.tour-small .modal-body p,
body .imperial-modal p {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.vet-schedule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.vet-schedule-card {
  border: 1px solid var(--borde);
  background: #fbfdff;
  border-radius: 16px;
  padding: 14px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 11px;
  align-items: start;
}

.vet-schedule-card i {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--azul), var(--azul2));
  color: #fff;
  font-size: 20px;
}

.vet-schedule-card b {
  display: block;
  color: #173350;
  font-size: 14px;
  margin-bottom: 4px;
}

.vet-schedule-card small {
  display: block;
  color: #607086;
  line-height: 1.38;
  font-size: 12.5px;
}

.maipu-tour-filter[data-filter="bienestar"],
.maipu-tour-filter[data-filter="deporte"] {
  border-color: #cfe6f4;
}

@media (max-width: 780px) {
  body .modal {
    padding: 78px 14px 16px !important;
  }

  body .modal .modal-box,
  body .modal.tour-small .modal-box,
  body .modal.datos-mode .modal-box,
  body .modal.news-mode .modal-box {
    width: 100% !important;
    max-height: 84vh !important;
    border-radius: 18px !important;
  }

  body .modal .modal-body {
    max-height: calc(84vh - 104px) !important;
    padding: 15px !important;
  }

  body .modal .modal-news-img,
  body .modal .tour-modal-image,
  body .modal.tour-small .modal-news-img,
  body .modal.tour-small .tour-modal-image,
  body .imperial-modal .modal-news-img,
  body .imperial-modal .tour-modal-image,
  body .modal.news-mode .modal-news-img {
    height: 185px !important;
    max-height: 185px !important;
    object-fit: cover !important;
    border-radius: 14px !important;
    margin-bottom: 13px !important;
  }

  .vet-schedule-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .vet-schedule-card {
    grid-template-columns: 38px 1fr;
    padding: 12px;
  }

  .vet-schedule-card i {
    width: 38px;
    height: 38px;
  }
}
.more-news-wrap {
  display: flex;
  justify-content: center;
  margin-top: 26px;
}

.more-news-wrap .btn {
  min-width: 210px;
  justify-content: center;
}
/* ===== NOTICIAS HOME DESDE MYSQL - 4 TARJETAS ===== */

.home-news-section {
  padding: 46px 0 54px !important;
  background: #ffffff !important;
}

.home-news-grid-fixed {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 22px !important;
}

.home-news-card-fixed {
  background: #ffffff !important;
  border: 1px solid #dfe8f2 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(10, 35, 70, .08) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
  min-width: 0 !important;
}

.home-news-card-fixed:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 18px 44px rgba(10, 35, 70, .14) !important;
}

.home-news-img-fixed {
  position: relative !important;
  display: block !important;
  height: 168px !important;
  background: #eef8ff !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

.home-news-img-fixed img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .35s ease !important;
}

.home-news-card-fixed:hover .home-news-img-fixed img {
  transform: scale(1.06) !important;
}

.home-news-tag-fixed {
  position: absolute !important;
  left: 12px !important;
  bottom: 12px !important;
  background: #f59b12 !important;
  color: #ffffff !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.16) !important;
}

.home-news-body-fixed {
  padding: 16px 15px 18px !important;
}

.home-news-date-fixed {
  display: block !important;
  color: #7b8ca3 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  margin-bottom: 8px !important;
}

.home-news-body-fixed h3 {
  margin: 0 0 8px !important;
  font-size: 17px !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  color: #082946 !important;
}

.home-news-body-fixed h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

.home-news-body-fixed p {
  color: #657487 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  margin: 0 0 12px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.home-news-more-fixed {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #0072bc !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.home-news-empty {
  margin-top: 18px !important;
  background: #ffffff !important;
  border: 1px solid #dfe8f2 !important;
  border-radius: 18px !important;
  padding: 20px !important;
  color: #657487 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.more-news-wrap {
  display: none !important;
}

@media (max-width: 1100px) {
  .home-news-grid-fixed {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .home-news-grid-fixed {
    grid-template-columns: 1fr !important;
  }

  .home-news-img-fixed {
    height: 190px !important;
  }
}
/* ===== MODAL NOTICIAS HOME ===== */

.home-news-modal {
  position: fixed;
  inset: 0;
  z-index: 6000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.home-news-modal.is-open {
  display: flex;
}

.home-news-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 41, 70, .62);
  backdrop-filter: blur(8px);
}

.home-news-modal-box {
  position: relative;
  z-index: 2;
  width: min(920px, 96vw);
  max-height: 92vh;
  overflow: auto;
  background: #ffffff;
  border-radius: 30px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .28);
  border: 1px solid rgba(255, 255, 255, .55);
}

.home-news-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 0;
  background: #ffffff;
  color: #082946;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 4;
  box-shadow: 0 12px 26px rgba(10, 35, 70, .18);
}

.home-news-modal-close:hover {
  background: #eef8ff;
}

.home-news-modal-img {
  position: relative;
  height: 340px;
  background: #eef8ff;
  overflow: hidden;
}

.home-news-modal-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-news-modal-img span {
  position: absolute;
  left: 22px;
  bottom: 22px;
  background: #f59b12;
  color: white;
  padding: 8px 13px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
}

.home-news-modal-content {
  padding: clamp(22px, 4vw, 38px);
}

.home-news-modal-content small {
  display: block;
  color: #0072bc;
  font-weight: 900;
  margin-bottom: 10px;
}

.home-news-modal-content h2 {
  color: #082946;
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.05;
  font-weight: 900;
  margin: 0 0 14px;
  letter-spacing: -1px;
}

.home-news-modal-lead {
  color: #526174;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 750;
  margin: 0 0 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid #dfe8f2;
}

.home-news-modal-text {
  color: #31445f;
  font-size: 16px;
  line-height: 1.75;
  white-space: pre-line;
}

.home-news-modal-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid #dfe8f2;
}

.home-news-modal-actions .btn {
  min-height: 44px;
  justify-content: center;
}

@media (max-width: 620px) {
  .home-news-modal {
    padding: 12px;
  }

  .home-news-modal-box {
    border-radius: 22px;
  }

  .home-news-modal-img {
    height: 230px;
  }

  .home-news-modal-content {
    padding: 22px;
  }

  .home-news-modal-actions .btn {
    width: 100%;
  }
}
/* ===== FIX MODAL NOTICIAS HOME - ESTILO MÁS PROLIJO ===== */

.home-news-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 6000 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 22px !important;
}

.home-news-modal.is-open {
  display: flex !important;
}

.home-news-modal-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(8, 41, 70, .62) !important;
  backdrop-filter: blur(8px) !important;
}

.home-news-modal-box {
  position: relative !important;
  z-index: 2 !important;
  width: min(760px, 94vw) !important;
  max-height: 90vh !important;
  overflow: auto !important;
  background: #ffffff !important;
  border-radius: 24px !important;
  box-shadow: 0 28px 75px rgba(0, 0, 0, .28) !important;
  border: 1px solid rgba(255, 255, 255, .65) !important;
}

.home-news-modal-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  background: rgba(255,255,255,.18) !important;
  color: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  z-index: 5 !important;
  backdrop-filter: blur(8px) !important;
}

.home-news-modal-close:hover {
  background: rgba(255,255,255,.28) !important;
}

.home-news-modal-head {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 26px 70px 26px 26px !important;
  background: linear-gradient(135deg, #075985, #0ea5c6) !important;
  color: white !important;
  position: relative !important;
  overflow: hidden !important;
}

.home-news-modal-head::after {
  content: "" !important;
  position: absolute !important;
  right: -70px !important;
  top: -80px !important;
  width: 230px !important;
  height: 230px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.16) !important;
}

.home-news-modal-logo {
  width: 74px !important;
  height: 74px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  box-shadow: 0 14px 26px rgba(0,0,0,.14) !important;
}

.home-news-modal-logo img {
  width: 52px !important;
  height: auto !important;
  display: block !important;
}

.home-news-modal-head span {
  display: block !important;
  color: #d9ff5a !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .4px !important;
  margin-bottom: 5px !important;
}

.home-news-modal-head h2 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(24px, 4vw, 34px) !important;
  line-height: 1.06 !important;
  font-weight: 900 !important;
  letter-spacing: -1px !important;
}

.home-news-modal-head p {
  margin: 8px 0 0 !important;
  color: #eaf8ff !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  max-width: 560px !important;
}

.home-news-modal-content {
  padding: 22px 22px 26px !important;
}

.home-news-modal-img {
  position: relative !important;
  height: 270px !important;
  background: #eef8ff !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  border: 1px solid #dfe8f2 !important;
  margin: 0 0 18px !important;
}

.home-news-modal-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.home-news-modal-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
}

.home-news-modal-meta span {
  background: #f59b12 !important;
  color: white !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.home-news-modal-meta small {
  color: #0072bc !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.home-news-modal-text {
  color: #31445f !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  white-space: pre-line !important;
  background: #ffffff !important;
  border-top: 1px solid #dfe8f2 !important;
  padding-top: 18px !important;
}

.home-news-modal-actions {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid #dfe8f2 !important;
}

.home-news-modal-actions .btn {
  min-height: 44px !important;
  justify-content: center !important;
}

@media (max-width: 620px) {
  .home-news-modal {
    padding: 12px !important;
  }

  .home-news-modal-box {
    width: 96vw !important;
    border-radius: 20px !important;
  }

  .home-news-modal-head {
    padding: 22px 58px 22px 18px !important;
    gap: 12px !important;
  }

  .home-news-modal-logo {
    width: 60px !important;
    height: 60px !important;
    border-radius: 15px !important;
  }

  .home-news-modal-logo img {
    width: 44px !important;
  }

  .home-news-modal-head h2 {
    font-size: 23px !important;
  }

  .home-news-modal-head p {
    font-size: 13px !important;
  }

  .home-news-modal-content {
    padding: 16px !important;
  }

  .home-news-modal-img {
    height: 210px !important;
    border-radius: 16px !important;
  }

  .home-news-modal-actions .btn {
    width: 100% !important;
  }
}
/* =========================================================
   MODAL NOTICIAS HOME - FINAL PROLIJO CON SCROLL SOLO EN BODY
   ========================================================= */

   .home-news-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 6000 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px !important;
  }
  
  .home-news-modal.is-open {
    display: flex !important;
  }
  
  .home-news-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(8, 41, 70, 0.62) !important;
    backdrop-filter: blur(8px) !important;
  }
  
  /* CAJA PRINCIPAL */
  .home-news-modal-box {
    position: relative !important;
    z-index: 2 !important;
    width: min(760px, 94vw) !important;
    max-height: 86vh !important;
    background: #ffffff !important;
    border-radius: 22px !important;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28) !important;
    border: 1px solid rgba(255, 255, 255, 0.65) !important;
    overflow: hidden !important;
  
    display: flex !important;
    flex-direction: column !important;
  }
  
  /* BOTÓN CERRAR */
  .home-news-modal-close {
    position: absolute !important;
    top: 18px !important;
    right: 20px !important;
    width: 25px !important;
    height: 25px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    display: grid !important;
    place-items: center !important;
    cursor: pointer !important;
    z-index: 10 !important;
    backdrop-filter: blur(8px) !important;
    font-size: 12px !important;
  }
  
  .home-news-modal-close:hover {
    background: rgba(255, 255, 255, 0.28) !important;
  }
  
  /* CABECERA AZUL */
  .home-news-modal-head {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 26px 78px 26px 24px !important;
    background: linear-gradient(135deg, #075985 0%, #0d8fd3 100%) !important;
    color: #ffffff !important;
    position: relative !important;
    overflow: hidden !important;
  }
  
  .home-news-modal-head::after {
    content: "" !important;
    position: absolute !important;
    right: -64px !important;
    top: -80px !important;
    width: 230px !important;
    height: 230px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.16) !important;
    pointer-events: none !important;
  }
  
  .home-news-modal-logo {
    width: 76px !important;
    height: 76px !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    box-shadow: 0 14px 26px rgba(0, 0, 0, 0.14) !important;
    position: relative !important;
    z-index: 2 !important;
  }
  
  .home-news-modal-logo img {
    width: 54px !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
  }
  
  .home-news-modal-head > div:last-child {
    position: relative !important;
    z-index: 2 !important;
    min-width: 0 !important;
  }
  
  .home-news-modal-head span {
    display: block !important;
    color: #d9ff5a !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
    margin-bottom: 5px !important;
  }
  
  .home-news-modal-head h2 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(25px, 4vw, 34px) !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    letter-spacing: -1px !important;
  }
  
  .home-news-modal-head p {
    margin: 8px 0 0 !important;
    color: #eaf8ff !important;
    font-size: 15px !important;
    line-height: 1.38 !important;
    font-weight: 800 !important;
    max-width: 560px !important;
  }
  
  /* CUERPO BLANCO - ACÁ VA LA BARRITA DE SCROLL */
  .home-news-modal-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 20px 22px 24px !important;
    background: #ffffff !important;
  }
  
  /* Scroll más prolijo */
  .home-news-modal-content::-webkit-scrollbar {
    width: 8px !important;
  }
  
  .home-news-modal-content::-webkit-scrollbar-track {
    background: #eef3f8 !important;
    border-radius: 999px !important;
  }
  
  .home-news-modal-content::-webkit-scrollbar-thumb {
    background: #8a97a6 !important;
    border-radius: 999px !important;
  }
  
  .home-news-modal-content::-webkit-scrollbar-thumb:hover {
    background: #6f7d8e !important;
  }
  
  /* IMAGEN */
  .home-news-modal-img {
    position: relative !important;
    width: 100% !important;
    height: 310px !important;
    background: #eef8ff !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    border: 1px solid #dfe8f2 !important;
    margin: 0 0 18px !important;
  }
  
  .home-news-modal-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }
  
  /* CATEGORÍA Y FECHA */
  .home-news-modal-meta {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
  }
  
  .home-news-modal-meta span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
    color: #0072bc !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }
  
  .home-news-modal-meta span::before {
    content: "\F3E8" !important;
    font-family: "bootstrap-icons" !important;
    font-size: 14px !important;
    color: #0072bc !important;
  }
  
  .home-news-modal-meta small {
    color: #657487 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }
  
  /* TEXTO */
  .home-news-modal-text {
    color: #31445f !important;
    font-size: 15.5px !important;
    line-height: 1.72 !important;
    font-weight: 600 !important;
    white-space: pre-line !important;
    padding-top: 14px !important;
    border-top: 1px solid #dfe8f2 !important;
  }
  
  /* BOTONES */
  .home-news-modal-actions {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-top: 22px !important;
    padding-top: 18px !important;
    border-top: 1px solid #dfe8f2 !important;
  }
  
  .home-news-modal-actions .btn {
    min-height: 42px !important;
    justify-content: center !important;
  }
  
  /* RESPONSIVE */
  @media (max-width: 620px) {
    .home-news-modal {
      padding: 12px !important;
      align-items: flex-start !important;
      padding-top: 76px !important;
    }
  
    .home-news-modal-box {
      width: 96vw !important;
      max-height: 82vh !important;
      border-radius: 20px !important;
    }
  
    .home-news-modal-close {
      top: 18px !important;
      right: 18px !important;
      width: 32px !important;
      height: 32px !important;
    }
  
    .home-news-modal-head {
      padding: 20px 60px 20px 18px !important;
      gap: 12px !important;
    }
  
    .home-news-modal-logo {
      width: 60px !important;
      height: 60px !important;
      border-radius: 15px !important;
    }
  
    .home-news-modal-logo img {
      width: 43px !important;
    }
  
    .home-news-modal-head span {
      font-size: 10px !important;
    }
  
    .home-news-modal-head h2 {
      font-size: 22px !important;
      line-height: 1.08 !important;
    }
  
    .home-news-modal-head p {
      font-size: 12.5px !important;
      line-height: 1.35 !important;
    }
  
    .home-news-modal-content {
      padding: 16px !important;
    }
  
    .home-news-modal-img {
      height: 210px !important;
      border-radius: 15px !important;
    }
  
    .home-news-modal-text {
      font-size: 14.5px !important;
      line-height: 1.65 !important;
    }
  
    .home-news-modal-actions .btn {
      width: 100% !important;
    }
  }

/* =====================================================
   AJUSTE FINAL NATALIA - NOTICIAS, MAIPÚ EN MOVIMIENTO Y FOOTER
   ===================================================== */

.home-news-section {
  padding: 48px 0 58px !important;
  background: #ffffff !important;
}

.home-news-section .title-row {
  align-items: center !important;
}

.home-news-all-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 40px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  background: #eef8ff !important;
  color: var(--azul) !important;
  border: 1px solid #d9ebf8 !important;
  box-shadow: 0 10px 22px rgba(0, 114, 188, .08) !important;
}

.home-news-all-link::after {
  content: "\F138";
  font-family: "bootstrap-icons";
  font-size: 13px;
}

.home-news-grid-fixed {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 22px !important;
}

.home-news-card-fixed {
  border-radius: 18px !important;
  min-height: 330px !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 12px 28px rgba(10, 35, 70, .075) !important;
}

.home-news-img-fixed {
  height: 154px !important;
  border-radius: 0 !important;
  flex: 0 0 auto !important;
}

.home-news-tag-fixed {
  display: none !important;
}

.home-news-body-fixed {
  padding: 15px 15px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

.home-news-body-fixed h3 {
  font-size: 16.2px !important;
  line-height: 1.24 !important;
  margin-bottom: 8px !important;
}

.home-news-body-fixed p {
  margin-bottom: 12px !important;
  -webkit-line-clamp: 2 !important;
}

.home-news-more-fixed {
  width: 100% !important;
  margin-top: auto !important;
  padding-top: 12px !important;
  border-top: 1px solid #e7eff7 !important;
  justify-content: space-between !important;
}

.maipu-horizontal-flow {
  padding: 46px 0 54px !important;
  background:
    radial-gradient(circle at left 20%, rgba(0, 114, 188, .045), transparent 28%),
    radial-gradient(circle at right 85%, rgba(245, 155, 18, .06), transparent 25%),
    #ffffff !important;
}

.maipu-motion-head {
  margin-bottom: 24px !important;
  align-items: flex-end !important;
}

.maipu-motion-head .section-lead {
  margin-bottom: 0 !important;
  max-width: 760px !important;
}

.maipu-motion-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: #ffffff !important;
  border: 1px solid #dfe8f2 !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  box-shadow: 0 10px 22px rgba(10, 35, 70, .07) !important;
  white-space: nowrap !important;
}

.horizontal-head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 22px !important;
}

.horizontal-marquee-wrap {
  gap: 16px !important;
}

.h-card {
  border-radius: 20px !important;
  min-height: 128px !important;
}

.site-footer {
  position: relative !important;
  overflow: hidden !important;
  margin-top: 0 !important;
  padding-top: 42px !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 114, 188, .36), transparent 32%),
    radial-gradient(circle at 86% 8%, rgba(245, 155, 18, .26), transparent 30%),
    linear-gradient(135deg, #061426 0%, #082946 48%, #04111f 100%) !important;
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 38px 38px;
  pointer-events: none;
  opacity: .38;
}

.site-footer > .container,
.site-footer .footer-bottom {
  position: relative !important;
  z-index: 2 !important;
}

.footer-hero {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 18px !important;
  align-items: stretch !important;
  margin-bottom: 22px !important;
}

.footer-hero-brand,
.footer-quick-contact,
.footer-card {
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.075) !important;
  box-shadow: 0 20px 45px rgba(0,0,0,.18) !important;
  backdrop-filter: blur(12px) !important;
}

.footer-hero-brand {
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
  border-radius: 26px !important;
  padding: 18px !important;
}

.footer-hero-brand img {
  width: 92px !important;
  height: 92px !important;
  object-fit: contain !important;
  flex: 0 0 92px !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 9px !important;
  margin: 0 !important;
}

.footer-hero-brand span {
  display: inline-flex !important;
  width: fit-content !important;
  background: rgba(255,255,255,.14) !important;
  color: #ffd25a !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

.footer-hero-brand h3 {
  margin: 0 0 7px !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -1px !important;
  color: #ffffff !important;
}

.footer-hero-brand p {
  margin: 0 !important;
  color: #dbe8f5 !important;
  max-width: 620px !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 650 !important;
}

.footer-quick-contact {
  border-radius: 26px !important;
  padding: 14px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.footer-quick-contact a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-radius: 18px !important;
  padding: 12px !important;
  color: #ffffff !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  transition: .2s ease !important;
}

.footer-quick-contact a:hover {
  transform: translateY(-2px) !important;
  padding-left: 12px !important;
  background: rgba(255,255,255,.13) !important;
}

.footer-quick-contact i {
  width: 38px !important;
  height: 38px !important;
  border-radius: 14px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, var(--azul), var(--azul2)) !important;
  color: #ffffff !important;
  flex: 0 0 38px !important;
  font-size: 17px !important;
}

.footer-quick-contact b,
.footer-quick-contact small {
  display: block !important;
  line-height: 1.2 !important;
}

.footer-quick-contact b {
  font-size: 12.5px !important;
  color: #ffffff !important;
}

.footer-quick-contact small {
  font-size: 11px !important;
  color: #b8c8d8 !important;
  margin-top: 3px !important;
}

.site-footer .footer-grid {
  display: grid !important;
  grid-template-columns: 1.12fr repeat(3, .9fr) 1fr !important;
  gap: 14px !important;
  padding-bottom: 28px !important;
}

.site-footer .footer-card {
  border-radius: 22px !important;
  padding: 18px !important;
}

.site-footer h4 {
  position: relative !important;
  margin: 0 0 15px !important;
  padding-bottom: 10px !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}

.site-footer h4::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 42px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--azul), var(--verde), var(--naranja)) !important;
}

.site-footer p,
.site-footer li {
  color: #cbd8e5 !important;
  font-size: 12.5px !important;
  line-height: 1.62 !important;
}

.footer-links {
  display: grid !important;
  gap: 8px !important;
}

.footer-links a {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: #d6e2ef !important;
  transition: .2s ease !important;
}

.footer-links a::before {
  content: "\F285" !important;
  font-family: "bootstrap-icons" !important;
  font-size: 10px !important;
  color: #ffd25a !important;
}

.footer-links a:hover {
  color: #ffffff !important;
  padding-left: 4px !important;
}

.footer-mini-actions {
  display: grid !important;
  gap: 8px !important;
  margin-top: 14px !important;
}

.footer-mini-actions a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 38px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.12) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

.site-footer .numbers {
  background: rgba(255,255,255,.095) !important;
}

.site-footer .numbers ul {
  display: grid !important;
  gap: 8px !important;
}

.site-footer .numbers a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 36px !important;
  padding: 8px 10px !important;
  border-radius: 14px !important;
  color: #ffffff !important;
  background: rgba(255,255,255,.08) !important;
}

.site-footer .numbers b {
  color: #ffd25a !important;
  font-size: 16px !important;
}

.site-footer .footer-bottom {
  background: rgba(0,0,0,.24) !important;
  color: #d2dbe8 !important;
  padding: 14px 0 !important;
  font-size: 12px !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
}

@media (max-width: 1080px) {
  .footer-hero,
  .site-footer .footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .footer-quick-contact {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  .home-news-section {
    padding: 40px 0 46px !important;
  }

  .home-news-section .title-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  .home-news-all-link {
    width: 100% !important;
    min-height: 44px !important;
  }

  .home-news-grid-fixed {
    display: flex !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 14px !important;
    padding: 4px 2px 16px !important;
    margin-top: 18px !important;
    scrollbar-width: none !important;
  }

  .home-news-grid-fixed::-webkit-scrollbar {
    display: none !important;
  }

  .home-news-card-fixed {
    flex: 0 0 88% !important;
    max-width: 88% !important;
    min-width: 88% !important;
    scroll-snap-align: start !important;
    min-height: 358px !important;
  }

  .home-news-img-fixed {
    height: 188px !important;
  }

  .home-news-body-fixed h3 {
    font-size: 17px !important;
  }

  .home-news-section .section-lead::after {
    content: "Deslizá hacia el costado para ver las 4 noticias.";
    display: block;
    width: fit-content;
    margin-top: 11px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #eef8ff;
    color: var(--azul);
    font-size: 11px;
    font-weight: 900;
  }

  .maipu-horizontal-flow {
    padding: 40px 0 48px !important;
  }

  .maipu-motion-head {
    display: block !important;
  }

  .maipu-motion-head .section-title {
    margin-bottom: 10px !important;
  }

  .maipu-motion-link {
    width: 100% !important;
    justify-content: center !important;
    margin-top: 16px !important;
  }

  .horizontal-marquee-wrap {
    gap: 14px !important;
  }

  .h-card {
    width: 248px !important;
    grid-template-columns: 82px 1fr !important;
  }

  .site-footer {
    padding-top: 32px !important;
  }

  .footer-hero,
  .site-footer .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .footer-hero-brand {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .footer-hero-brand img {
    width: 82px !important;
    height: 82px !important;
  }

  .footer-quick-contact {
    grid-template-columns: 1fr !important;
  }

  .site-footer .footer-bottom .container {
    flex-direction: column !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* =====================================================
   AJUSTES FINALES NATALIA - HOME MUNICIPAL v5.1
   ===================================================== */

/* Orden del home: portada + accesos + banners + noticias + guia + movimiento + mapa + footer */

body .quick-wrap {
  margin-top: -24px !important;
}

body .quick-grid {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 14px !important;
  border: 1px solid rgba(223, 232, 242, .95) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 18px 45px rgba(10, 35, 70, .12) !important;
}

body .quick-card {
  min-height: 92px !important;
  border-radius: 18px !important;
  border: 1px solid #dfe8f2 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 10px 24px rgba(10, 35, 70, .055) !important;
  padding: 11px 8px !important;
  gap: 7px !important;
}

body .quick-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 38px rgba(10, 35, 70, .13) !important;
  border-color: rgba(0, 114, 188, .25) !important;
}

body .quick-card .qicon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 15px !important;
  font-size: 20px !important;
  box-shadow: 0 10px 22px rgba(10, 35, 70, .11) !important;
}

body .quick-card .bg-orange {
  background: linear-gradient(135deg, #f59b12, #ffb427) !important;
}

body .quick-card .bg-green {
  background: linear-gradient(135deg, #72c943, #9bdc52) !important;
}

body .quick-card .bg-blue {
  background: linear-gradient(135deg, #0072bc, #0d8fd3) !important;
}

body .quick-card span {
  color: #173350 !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}

/* Maipú en movimiento igual a los otros títulos */
body .maipu-motion-head,
body .horizontal-head.maipu-motion-head {
  display: block !important;
  margin-bottom: 22px !important;
}

body .maipu-motion-head .section-title {
  margin-bottom: 8px !important;
}

body .maipu-motion-head .section-lead {
  max-width: 790px !important;
  margin-top: 4px !important;
}

/* Modal cursos */
body .cursos-modal-actions .btn {
  min-width: 230px !important;
}

body .cursos-modal-actions .btn-orange {
  box-shadow: 0 13px 26px rgba(245, 155, 18, .18) !important;
}

/* Menú móvil: sin rayita bajo Inicio */
@media (max-width: 780px) {
  body .menu .nav-link.active::after,
  body .menu .nav-item .nav-link.active::after,
  body .nav-item .nav-link.active::after,
  body .nav-link.active::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
  }

  body .menu .nav-link.active {
    border-bottom: 0 !important;
  }

  body .quick-wrap {
    margin-top: -18px !important;
  }

  body .quick-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
    padding: 10px !important;
    border-radius: 20px !important;
    width: 100% !important;
  }

  body .quick-card {
    min-height: 78px !important;
    padding: 8px 5px !important;
    border-radius: 15px !important;
  }

  body .quick-card .qicon {
    width: 35px !important;
    height: 35px !important;
    border-radius: 12px !important;
    font-size: 17px !important;
  }

  body .quick-card span {
    font-size: 10.2px !important;
    line-height: 1.08 !important;
  }
}

@media (max-width: 410px) {
  body .quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .quick-card {
    min-height: 72px !important;
  }
}

/* Footer más moderno */
body .site-footer {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(0, 114, 188, .34), transparent 34%),
    radial-gradient(circle at 90% 12%, rgba(114, 201, 67, .24), transparent 28%),
    linear-gradient(135deg, #061426 0%, #082946 58%, #06365c 100%) !important;
  margin-top: 34px !important;
  padding-top: 34px !important;
}

body .site-footer::before {
  content: "" !important;
  position: absolute !important;
  right: -120px !important;
  top: -140px !important;
  width: 340px !important;
  height: 340px !important;
  border-radius: 50% !important;
  background: rgba(245, 155, 18, .16) !important;
  pointer-events: none !important;
}

body .footer-hero,
body .footer-grid,
body .footer-bottom .container {
  position: relative !important;
  z-index: 2 !important;
}

body .footer-hero {
  padding: 20px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .18) !important;
}

body .footer-card,
body .numbers.footer-card {
  background: rgba(255, 255, 255, .075) !important;
  border: 1px solid rgba(255, 255, 255, .11) !important;
  border-radius: 22px !important;
  padding: 18px !important;
  backdrop-filter: blur(4px) !important;
}

body .footer-card h4,
body .numbers.footer-card h4 {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  margin-bottom: 12px !important;
}

body .footer-links a,
body .footer-mini-actions a,
body .numbers a {
  transition: transform .2s ease, color .2s ease, background .2s ease !important;
}

body .footer-links a:hover,
body .numbers a:hover {
  color: #c7f36b !important;
  transform: translateX(3px) !important;
}

body .footer-mini-actions a {
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .10) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
}

body .footer-mini-actions a:hover {
  background: rgba(255, 255, 255, .18) !important;
}
/* ===== AJUSTE FINAL PEDIDO NATALIA 23-06-2026 ===== */

/* =====================================================
   AJUSTE FINAL PEDIDO: NOTICIAS, CURSOS, COLORES, TORO Y MENÚ MÓVIL
   ===================================================== */

body .quick-grid {
  gap: 10px !important;
}

body .quick-card {
  border: 1px solid #dfe8f2 !important;
  background: #ffffff !important;
  box-shadow: 0 10px 22px rgba(10, 35, 70, .055) !important;
}

body .quick-card .qicon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 13px !important;
  color: #ffffff !important;
  box-shadow: 0 10px 18px rgba(10, 35, 70, .10) !important;
}

body .quick-card.quick-pay .qicon,
body .quick-card:nth-child(1) .qicon {
  background: linear-gradient(135deg, #f59b12, #ffb427) !important;
}

body .quick-card.quick-rentas .qicon,
body .quick-card:nth-child(2) .qicon {
  background: linear-gradient(135deg, #0072bc, #0d8fd3) !important;
}

body .quick-card.quick-licencia .qicon,
body .quick-card:nth-child(3) .qicon {
  background: linear-gradient(135deg, #72c943, #4fb23f) !important;
}

body .quick-card.quick-vet .qicon,
body .quick-card:nth-child(4) .qicon {
  background: linear-gradient(135deg, #f59b12, #ffb427) !important;
}

body .quick-card.quick-cursos .qicon,
body .quick-card:nth-child(5) .qicon {
  background: linear-gradient(135deg, #0072bc, #0d8fd3) !important;
}

body .quick-card.quick-datos .qicon,
body .quick-card:nth-child(6) .qicon {
  background: linear-gradient(135deg, #72c943, #4fb23f) !important;
}

body .quick-card.quick-teatro .qicon,
body .quick-card:nth-child(7) .qicon {
  background: linear-gradient(135deg, #f59b12, #ffb427) !important;
}

body .quick-card.quick-guia .qicon,
body .quick-card:nth-child(8) .qicon {
  background: linear-gradient(135deg, #0072bc, #0d8fd3) !important;
}

body .home-news-section {
  padding-top: 44px !important;
}

body .home-news-card-fixed {
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid #dfe8f2 !important;
  box-shadow: 0 12px 28px rgba(10, 35, 70, .075) !important;
}

body .home-news-img-fixed {
  height: 154px !important;
  border-radius: 0 !important;
}

body .home-news-date-fixed,
body .home-news-body-fixed h3,
body .home-news-body-fixed h3 button,
body .home-news-more-fixed {
  color: var(--azul) !important;
}

body .home-news-date-fixed {
  font-weight: 900 !important;
  letter-spacing: .2px !important;
}

body .home-news-body-fixed h3 button {
  font-weight: 950 !important;
}

body .home-news-more-fixed {
  border-top: 1px solid #dfe8f2 !important;
  padding-top: 13px !important;
  margin-top: auto !important;
  justify-content: space-between !important;
}

body .home-news-tag-fixed {
  display: none !important;
}

body .maipu-motion-head .section-title,
body .maipu-horizontal-flow .section-title {
  font-size: 28px !important;
  color: #122b49 !important;
  font-weight: 900 !important;
  letter-spacing: -0.8px !important;
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 8px !important;
  line-height: 1.1 !important;
}

body .maipu-motion-head .section-title::after,
body .maipu-horizontal-flow .section-title::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 74px !important;
  height: 5px !important;
  border-radius: 20px !important;
  background: linear-gradient(90deg, var(--azul), var(--verde), var(--naranja)) !important;
}

@media (max-width: 780px) {
  body .nav-link.active::after,
  body .menu .nav-link.active::after,
  body .menu.open .nav-link.active::after {
    display: none !important;
    content: none !important;
  }

  body .nav-link.active {
    color: #243a59 !important;
  }

  body .quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body .quick-card {
    min-height: 86px !important;
    border-radius: 12px !important;
  }

  body .quick-card .qicon {
    width: 39px !important;
    height: 39px !important;
  }

  body .home-news-section .title-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }

  body .home-news-section .section-title {
    font-size: 25px !important;
  }

  body .home-news-all-link {
    min-height: 34px !important;
    padding: 0 12px !important;
    font-size: 11.5px !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
  }

  body .home-news-grid-fixed {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 14px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 4px 6px 14px 0 !important;
    margin-left: 0 !important;
    margin-right: calc(-1 * ((100vw - 100%) / 2)) !important;
  }

  body .home-news-grid-fixed::-webkit-scrollbar {
    height: 0 !important;
  }

  body .home-news-card-fixed {
    flex: 0 0 84% !important;
    max-width: 84% !important;
    scroll-snap-align: start !important;
    min-height: 350px !important;
  }

  body .home-news-img-fixed {
    height: 170px !important;
  }

  body .home-news-body-fixed h3 {
    font-size: 16px !important;
  }
}

@media (max-width: 390px) {
  body .home-news-card-fixed {
    flex-basis: 88% !important;
    max-width: 88% !important;
  }
}

/* =====================================================
   CORRECCIÓN FINAL NATY - 23/06
   Se deja al final para pisar cualquier regla anterior.
   ===================================================== */
body .quick-grid .quick-card.quick-pay .qicon { background: linear-gradient(135deg, #f59b12, #ffb427) !important; }
body .quick-grid .quick-card.quick-rentas .qicon { background: linear-gradient(135deg, #72c943, #a8df57) !important; }
body .quick-grid .quick-card.quick-licencia .qicon { background: linear-gradient(135deg, #0072bc, #0d8fd3) !important; }
body .quick-grid .quick-card.quick-vet .qicon { background: linear-gradient(135deg, #2cad69, #72c943) !important; }
body .quick-grid .quick-card.quick-cursos .qicon { background: linear-gradient(135deg, #ff9f1c, #f59b12) !important; }
body .quick-grid .quick-card.quick-datos .qicon { background: linear-gradient(135deg, #005c9b, #0072bc) !important; }
body .quick-grid .quick-card.quick-teatro .qicon { background: linear-gradient(135deg, #4caf50, #72c943) !important; }
body .quick-grid .quick-card.quick-guia .qicon { background: linear-gradient(135deg, #008bd2, #00a7e1) !important; }

body .home-news-date-fixed,
body .home-news-body-fixed h3,
body .home-news-body-fixed h3 button,
body .home-news-more-fixed,
body .home-news-more-fixed i {
  color: #0072bc !important;
}

body .home-news-date-fixed {
  font-weight: 900 !important;
  letter-spacing: .2px !important;
}

body .home-news-body-fixed h3,
body .home-news-body-fixed h3 button {
  font-weight: 950 !important;
}

body .home-news-more-fixed {
  width: 100% !important;
  border-top: 1px solid #dfe8f2 !important;
  padding-top: 13px !important;
  margin-top: 12px !important;
  justify-content: space-between !important;
}

@media (max-width: 780px) {
  body .menu .nav-link.active::after,
  body .menu.open .nav-link.active::after,
  body .nav-link.active::after {
    display: none !important;
    content: none !important;
  }

  body .menu .nav-link.active {
    color: #243a59 !important;
  }

  body .quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

/* =====================================================
   VERSION NATY V7 CURSOS FINAL - PEGADO AL FINAL
   Fuerza botón Cursos, colores noticias y menú móvil.
   ===================================================== */
body .quick-grid .quick-card.quick-cursos .qicon {
  background: linear-gradient(135deg, #ff9f1c, #f59b12) !important;
}
body .home-news-date-fixed,
body .home-news-body-fixed h3,
body .home-news-body-fixed h3 button,
body .home-news-more-fixed,
body .home-news-more-fixed i {
  color: #0072bc !important;
}
body .home-news-more-fixed {
  width: 100% !important;
  border-top: 1px solid #dfe8f2 !important;
  padding-top: 13px !important;
  margin-top: 12px !important;
  justify-content: space-between !important;
}@media (max-width: 780px) {
  body .menu .nav-link.active::after,
  body .menu.open .nav-link.active::after,
  body .nav-link.active::after {
    display: none !important;
    content: none !important;
  }
}

/* =====================================================
   NATY FINAL V8 - NOTICIAS + MÓVIL + FOOTER + BARRA INFERIOR
   PEGADO AL FINAL PARA QUE PISE CUALQUIER REGLA ANTERIOR.
   ===================================================== */

/* =====================================================
   2) EVITAR ESPACIO / BARRA HORIZONTAL EN CELULAR
   ===================================================== */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body {
  width: 100% !important;
}

@media (max-width: 780px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body {
    padding-bottom: 88px !important;
  }

  body main,
  body section,
  body header,
  body footer,
  body .container,
  body .quick-wrap,
  body .home-news-section,
  body .site-banner-section,
  body .maipu-horizontal-flow,
  body .maipu-tour-section,
  body .site-footer {
    max-width: 100vw !important;
  }

  body .quick-wrap,
  body .home-news-section,
  body .site-banner-section,
  body .maipu-horizontal-flow,
  body .horizontal-row,
  body .maipu-tour-section,
  body .site-footer {
    overflow-x: hidden !important;
  }

  body .home-news-section .container {
    overflow: hidden !important;
  }

  body .home-news-grid-fixed {
    display: flex !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 12px !important;
    padding: 4px 0 16px !important;
    margin-top: 18px !important;
    scrollbar-width: none !important;
  }

  body .home-news-grid-fixed::-webkit-scrollbar {
    display: none !important;
  }

  body .home-news-card-fixed {
    flex: 0 0 88% !important;
    min-width: 88% !important;
    max-width: 88% !important;
    scroll-snap-align: start !important;
  }

  body .home-news-card-fixed:first-child {
    margin-left: 0 !important;
  }

  body .home-news-img-fixed {
    height: 188px !important;
  }

  body .horizontal-marquee-wrap,
  body .horizontal-row,
  body .horizontal-track {
    max-width: 100% !important;
  }
}

@media (max-width: 390px) {
  body .home-news-card-fixed {
    flex-basis: 92% !important;
    min-width: 92% !important;
    max-width: 92% !important;
  }
}

/* =====================================================
   3) BOTONES RÁPIDOS DEBAJO DE PORTADA - COLORES MÁS HOMOGÉNEOS
   ===================================================== */
body .quick-grid {
  gap: 10px !important;
}

body .quick-card {
  border: 1px solid #dfe8f2 !important;
  background: #ffffff !important;
  box-shadow: 0 10px 22px rgba(10, 35, 70, .055) !important;
}

body .quick-card .qicon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 13px !important;
  color: #ffffff !important;
  box-shadow: 0 10px 18px rgba(10, 35, 70, .10) !important;
}

body .quick-card.quick-pay .qicon,
body .quick-card:nth-child(1) .qicon {
  background: linear-gradient(135deg, #f59b12, #ffb427) !important;
}

body .quick-card.quick-rentas .qicon,
body .quick-card:nth-child(2) .qicon {
  background: linear-gradient(135deg, #72c943, #a8df57) !important;
}

body .quick-card.quick-licencia .qicon,
body .quick-card:nth-child(3) .qicon {
  background: linear-gradient(135deg, #0072bc, #0d8fd3) !important;
}

body .quick-card.quick-vet .qicon,
body .quick-card:nth-child(4) .qicon {
  background: linear-gradient(135deg, #2cad69, #72c943) !important;
}

body .quick-card.quick-cursos .qicon,
body .quick-card:nth-child(5) .qicon {
  background: linear-gradient(135deg, #ff9f1c, #f59b12) !important;
}

body .quick-card.quick-datos .qicon,
body .quick-card:nth-child(6) .qicon {
  background: linear-gradient(135deg, #005c9b, #0072bc) !important;
}

body .quick-card.quick-teatro .qicon,
body .quick-card:nth-child(7) .qicon {
  background: linear-gradient(135deg, #4caf50, #72c943) !important;
}

body .quick-card.quick-guia .qicon,
body .quick-card:nth-child(8) .qicon {
  background: linear-gradient(135deg, #008bd2, #00a7e1) !important;
}

@media (max-width: 780px) {
  body .quick-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
    padding: 10px !important;
  }

  body .quick-card {
    min-height: 78px !important;
    padding: 8px 5px !important;
    border-radius: 15px !important;
  }

  body .quick-card .qicon {
    width: 35px !important;
    height: 35px !important;
    border-radius: 12px !important;
    font-size: 17px !important;
  }

  body .quick-card span {
    font-size: 10.2px !important;
    line-height: 1.08 !important;
  }
}

@media (max-width: 410px) {
  body .quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* =====================================================
   4) FOOTER MÁS CORTO EN CELULAR
   ===================================================== */
@media (max-width: 780px) {
  body .site-footer {
    margin-top: 24px !important;
    padding-top: 18px !important;
    padding-bottom: 0 !important;
  }

  body .footer-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 20px !important;
    margin-bottom: 10px !important;
  }

  body .footer-hero-brand {
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body .footer-hero-brand img {
    width: 52px !important;
    height: 52px !important;
    flex: 0 0 52px !important;
    border-radius: 14px !important;
    padding: 6px !important;
  }

  body .footer-hero-brand span {
    display: none !important;
  }

  body .footer-hero-brand h3 {
    font-size: 18px !important;
    line-height: 1 !important;
    margin: 0 0 4px !important;
  }

  body .footer-hero-brand p {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body .footer-quick-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body .footer-quick-contact a {
    min-height: 46px !important;
    padding: 8px !important;
    border-radius: 14px !important;
  }

  body .footer-quick-contact a:nth-child(3) {
    display: none !important;
  }

  body .footer-quick-contact i {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
  }

  body .footer-quick-contact b {
    font-size: 10.5px !important;
  }

  body .footer-quick-contact small {
    font-size: 9.5px !important;
  }

  body .site-footer .footer-grid {
    display: none !important;
  }

  body .site-footer .footer-bottom {
    padding: 10px 0 86px !important;
  }

  body .site-footer .footer-bottom .container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body .site-footer .footer-bottom span:last-child {
    display: none !important;
  }
}

/* =====================================================
   5) HEADER INFERIOR MÓVIL
   Para verlo, el index tiene que tener el <nav class="mobile-bottom-header">.
   ===================================================== */
.mobile-bottom-header {
  display: none;
}

@media (max-width: 780px) {
  .mobile-bottom-header {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    z-index: 4200 !important;
    height: 64px !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 7px 8px !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(223, 232, 242, .95) !important;
    box-shadow: 0 16px 42px rgba(10, 35, 70, .20) !important;
    backdrop-filter: blur(12px) !important;
  }

  .mobile-bottom-header a,
  .mobile-bottom-header button {
    border: 0 !important;
    background: transparent !important;
    color: #243a59 !important;
    height: 50px !important;
    border-radius: 18px !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 2px !important;
    font-family: inherit !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    cursor: pointer !important;
    text-decoration: none !important;
  }

  .mobile-bottom-header i {
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .mobile-bottom-header .bottom-active,
  .mobile-bottom-header a:hover,
  .mobile-bottom-header button:hover {
    color: #0072bc !important;
    background: #eef8ff !important;
  }

  .mobile-bottom-header .bottom-pay {
    color: #ffffff !important;
    background: linear-gradient(135deg, #f59b12, #ffb427) !important;
    box-shadow: 0 10px 22px rgba(245, 155, 18, .24) !important;
    transform: translateY(-7px) !important;
  }

  .mobile-bottom-header .bottom-pay i {
    font-size: 20px !important;
  }

  .mobile-bottom-header .bottom-pay span {
    color: #ffffff !important;
  }

  /* Botones flotantes más arriba para que no tapen el header inferior */
  body .float-wp {
    bottom: 88px !important;
  }
}

@media (min-width: 781px) {
  .mobile-bottom-header {
    display: none !important;
  }
}

/* =====================================================
   NATY - AJUSTES FINALES V9
   BOTÓN CURSOS + NOTICIAS + MOBILE SIN DESBORDE
   ===================================================== */

/* ===== BOTONES RÁPIDOS DEBAJO DE PORTADA =====
   Acá queda Cursos en lugar de Reclamos y cada botón tiene color propio.
*/
body .quick-card.quick-pay .qicon,
body .quick-card:nth-child(1) .qicon {
  background: linear-gradient(135deg, #f59b12, #ffb427) !important;
}

body .quick-card.quick-rentas .qicon,
body .quick-card:nth-child(2) .qicon {
  background: linear-gradient(135deg, #72c943, #a8df57) !important;
}

body .quick-card.quick-licencia .qicon,
body .quick-card:nth-child(3) .qicon {
  background: linear-gradient(135deg, #0072bc, #0d8fd3) !important;
}

body .quick-card.quick-vet .qicon,
body .quick-card:nth-child(4) .qicon {
  background: linear-gradient(135deg, #2cad69, #72c943) !important;
}

body .quick-card.quick-cursos .qicon,
body .quick-card:nth-child(5) .qicon {
  background: linear-gradient(135deg, #ff9f1c, #f59b12) !important;
}

body .quick-card.quick-datos .qicon,
body .quick-card:nth-child(6) .qicon {
  background: linear-gradient(135deg, #005c9b, #0072bc) !important;
}

body .quick-card.quick-teatro .qicon,
body .quick-card:nth-child(7) .qicon {
  background: linear-gradient(135deg, #4caf50, #72c943) !important;
}

body .quick-card.quick-guia .qicon,
body .quick-card:nth-child(8) .qicon {
  background: linear-gradient(135deg, #008bd2, #00a7e1) !important;
}

body .quick-card .qicon {
  color: #ffffff !important;
}

body .quick-card span {
  color: #07182d !important;
  font-weight: 950 !important;
}

/* =====================================================
   ACÁ CAMBIÁS LAS NOTICIAS DEL HOME
   ===================================================== */

/* ACÁ CAMBIÁS LA FECHA: color, tamaño y grosor */
body .home-news-date-fixed {
  color: #7b8ca3 !important;        /* fecha gris */
  font-size: 13px !important;       /* tamaño fecha */
  font-weight: 800 !important;      /* grosor fecha */
  opacity: 1 !important;            /* oscuridad fecha: 1 fuerte / .75 más suave */
}

/* ACÁ CAMBIÁS EL TÍTULO: color, tamaño, grosor y oscuridad */
body .home-news-body-fixed h3,
body .home-news-body-fixed h3 button,
body .home-news-body-fixed h3 a {
  color: #0072bc !important;        /* color título */
  font-size: 15px !important;       /* tamaño título */
  line-height: 1.22 !important;
  font-weight: 950 !important;      /* grosor título */
  opacity: 1 !important;            /* oscuridad título */
}

/* ACÁ CAMBIÁS EL TEXTO CORTO DE LA NOTICIA */
body .home-news-body-fixed p {
  color: #657487 !important;        /* color bajada */
  font-size: 14px !important;       /* tamaño bajada */
  line-height: 1.45 !important;
  opacity: 1 !important;            /* oscuridad bajada */
}

/* ACÁ CAMBIÁS LEER MÁS */
body .home-news-more-fixed {
  color: #0072bc !important;        /* color Leer más */
  font-size: 13px !important;       /* tamaño Leer más */
  font-weight: 950 !important;
}

/* ACÁ CAMBIÁS LA RAYITA DE ARRIBA DE LEER MÁS */
body .home-news-more-fixed::before {
  background: #dfe8f2 !important;   /* color rayita */
  height: 1px !important;           /* grosor rayita */
}

/* ACÁ CAMBIÁS OSCURIDAD/BRILLO DE LAS IMÁGENES DE NOTICIAS */
body .home-news-img-fixed img {
  filter: brightness(1) contrast(1) saturate(1) !important;
  /* ejemplo más oscura: brightness(.85) */
  /* ejemplo más viva: brightness(1.05) contrast(1.05) saturate(1.08) */
}

/* ACÁ CAMBIÁS TAMAÑO Y FORMA DE LAS CARDS DE NOTICIAS */
body .home-news-card-fixed {
  border-radius: 16px !important;   /* redondez tarjeta */
}

body .home-news-img-fixed {
  height: 154px !important;         /* altura imagen escritorio */
}

body .home-news-body-fixed {
  padding: 15px !important;         /* aire interno tarjeta */
}

/* Corrección definitiva para que en celular no quede espacio blanco ni barra horizontal */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body section,
body .container,
body .quick-wrap,
body .home-news-section,
body .maipu-horizontal-flow,
body .maipu-tour-section,
body footer {
  max-width: 100% !important;
}

@media (max-width: 780px) {
  body {
    padding-bottom: 82px !important;
  }

  body .home-news-grid-fixed {
    display: flex !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    gap: 14px !important;
    padding: 8px 6px 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body .home-news-card-fixed {
    flex: 0 0 86% !important;
    min-width: 86% !important;
    max-width: 86% !important;
    scroll-snap-align: start !important;
  }

  body .home-news-img-fixed {
    height: 172px !important;       /* altura imagen noticia en celular */
  }

  body .home-news-body-fixed h3,
  body .home-news-body-fixed h3 button,
  body .home-news-body-fixed h3 a {
    font-size: 17px !important;     /* tamaño título en celular */
  }

  body .home-news-body-fixed p {
    font-size: 13px !important;     /* tamaño bajada en celular */
  }

  body .quick-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
    width: 100% !important;
  }

  body .quick-card span {
    font-size: 10.2px !important;
  }

  body footer {
    padding-top: 20px !important;
    margin-bottom: 12px !important;
  }

  body .footer-grid {
    gap: 12px !important;
    padding-bottom: 14px !important;
  }

  body .footer-brand p,
  body .footer-col:nth-child(2),
  body .footer-col:nth-child(3),
  body .footer-col:nth-child(4) {
    display: none !important;
  }
}

@media (max-width: 390px) {
  body .home-news-card-fixed {
    flex-basis: 90% !important;
    min-width: 90% !important;
    max-width: 90% !important;
  }
}
/* =====================================================
   BARRA INFERIOR MÓVIL - NATY
   Aparece al bajar y reemplaza visualmente el header
   ===================================================== */

   .mobile-bottom-bar {
    display: none;
  }
  
  @media (max-width: 780px) {
    body {
      padding-bottom: 78px;
    }
  
    .mobile-bottom-bar {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 66px;
      background: #ffffff;
      border-top: 1px solid #dfe8f2;
      box-shadow: 0 -12px 30px rgba(10, 35, 70, 0.16);
      z-index: 4900;
  
      display: grid;
      grid-template-columns: 1fr 1fr 1.25fr 1fr 1fr;
      align-items: center;
      gap: 0;
  
      transform: translateY(110%);
      opacity: 0;
      pointer-events: none;
      transition: transform 0.25s ease, opacity 0.25s ease;
    }
  
    body.show-mobile-bottom .mobile-bottom-bar {
      transform: translateY(0);
      opacity: 1;
      pointer-events: auto;
    }
  
    .mobile-bottom-item,
    .mobile-bottom-pay {
      height: 66px;
      border: 0;
      background: transparent;
      color: #082946;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
  
      font-size: 10.5px;
      font-weight: 900;
      line-height: 1;
      gap: 5px;
      text-decoration: none;
      cursor: pointer;
    }
  
    .mobile-bottom-item i {
      font-size: 20px;
      color: #0072bc;
    }
  
    .mobile-bottom-pay {
      height: 56px;
      margin: -00px 0px 0;
      border-radius: 10px;
      background: linear-gradient(135deg, #0072bc, #0d8fd3);
      color: #ffffff;
      box-shadow: 0 12px 26px rgba(0, 114, 188, 0.28);
    }
  
    .mobile-bottom-pay i {
      font-size: 22px;
      color: #ffffff;
    }
  
    .mobile-bottom-pay span {
      color: #ffffff;
    }
  
    .mobile-bottom-item:hover,
    .mobile-bottom-item:focus {
      color: #0072bc;
    }
  
    /* Cuando bajo, oculto el header de arriba */
    body.show-mobile-bottom .header {
      transform: translateY(-105%);
      opacity: 0;
      pointer-events: none;
    }
  
    .header {
      transition: transform 0.25s ease, opacity 0.25s ease;
    }

    body.show-mobile-bottom .float-wp {
      bottom: 82px !important;
    }
  }
  /* =====================================================
   MODAL DE NOTICIAS - TÍTULO MÁS CHICO
   ===================================================== */

.home-news-modal-content h2 {
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.12 !important;
  letter-spacing: -0.6px !important;
  margin-bottom: 12px !important;
}

/* Oculta el subtítulo/bajada del modal */
.home-news-modal-lead {
  display: none !important;
}

/* Texto del cuerpo más prolijo */
.home-news-modal-text {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #31445f !important;
}

/* Modal un poco más elegante */
.home-news-modal-box {
  width: min(760px, 94vw) !important;
  border-radius: 20px !important;
}

.home-news-modal-img {
  height: 285px !important;
}

@media (max-width: 620px) {
  .home-news-modal-content h2 {
    font-size: 21px !important;
    line-height: 1.15 !important;
  }

  .home-news-modal-img {
    height: 210px !important;
  }

  .home-news-modal-box {
    border-radius: 20px !important;
  }
}

/* =====================================================
   ASISTENTE FLOTANTE - IGUAL A TRANSPARENCIA
   ===================================================== */
.float-help,
.float-wp {
  position: fixed;
  right: 18px;
  z-index: 2500;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #ffffff;
  box-shadow: 0 16px 28px rgba(0, 0, 0, 0.20);
}

.float-help.maipu-assistant-btn,
.float-help {
  bottom: 92px;
  width: 64px;
  height: 64px;
  background: #ffffff;
  border: 4px solid #dff3ff;
  overflow: hidden;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: toroFloat 2.5s ease-in-out infinite;
}

.float-help.maipu-assistant-btn img,
.float-help img,
#assistantToro,
.assistant-toro-img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  object-position: center;
  display: block;
  max-width: none;
  max-height: none;
  transform: scale(0.92);
  border-radius: 0;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
}

.assistant-bubble {
  position: fixed;
  right: 88px;
  bottom: 106px;
  z-index: 2499;
  background: #ffffff;
  color: #07182d;
  border: 1px solid var(--borde);
  border-radius: 999px;
  padding: 9px 13px;
  box-shadow: var(--shadow2);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.assistant-bubble::after {
  content: "";
  position: absolute;
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
  border-left: 7px solid #ffffff;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
}

.float-wp {
  bottom: 18px;
  width: 58px;
  height: 58px;
  background: #25d366;
  font-size: 30px;
}

@keyframes toroFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@media (max-width: 780px) {
  .float-help.maipu-assistant-btn,
  .float-help {
    width: 56px;
    height: 56px;
    right: 15px;
    bottom: 82px;
  }

  .float-help.maipu-assistant-btn img,
  .float-help img,
  #assistantToro,
  .assistant-toro-img {
    width: 48px;
    height: 48px;
    transform: scale(0.92);
  }

  .assistant-bubble {
    display: none;
  }

  .float-wp {
    width: 52px;
    height: 52px;
    right: 16px;
    bottom: 18px;
  }

  body.show-mobile-bottom .float-wp {
    bottom: 82px !important;
  }

  body.show-mobile-bottom .float-help,
  body.show-mobile-bottom .maipu-assistant-btn {
    bottom: 146px !important;
  }
}
.home-news-modal-content h2 {
  font-size: 21px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.4px !important;
}

/* =====================================================
   NATY V14 - MODALES UNIFICADOS Y CSS LIMPIO DEL INDEX
   - El index ya no necesita estilos dentro del <head>.
   - Modal general y modal de noticias comparten logo, título y botón X.
   ===================================================== */

/* Ocultar botón admin viejo del header si queda por caché */
.header-actions .admin-btn,
.desktop-admin-btn {
  display: none !important;
}

/* Cajas de modales */
body .modal .modal-box,
body .home-news-modal .home-news-modal-box {
  position: relative !important;
  width: min(900px, 94vw) !important;
  max-height: 92vh !important;
  overflow: auto !important;
  background: #ffffff !important;
  border-radius: 30px !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.30) !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
}

/* Fondo de los modales */
body .modal,
body .home-news-modal {
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
}

body .home-news-modal.is-open {
  display: flex !important;
}

body .home-news-modal-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(8, 41, 70, 0.62) !important;
  backdrop-filter: blur(8px) !important;
}

/* Encabezado igual para todos */
body .modal .modal-head,
body .home-news-modal .home-news-modal-head {
  position: relative !important;
  min-height: auto !important;
  padding: 18px 58px 18px 20px !important;
  background:
    radial-gradient(circle at 94% 8%, rgba(255, 255, 255, 0.20), transparent 25%),
    linear-gradient(135deg, #082946 0%, #0072bc 58%, #0d8fd3 100%) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  overflow: hidden !important;
}

body .modal .modal-title-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

body .modal .modal-copy,
body .home-news-modal .home-news-modal-head > div:last-child {
  min-width: 0 !important;
}

/* Logo de la muni en todos los modales */
body .modal .modal-icon,
body .home-news-modal .home-news-modal-logo {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 15px !important;
  background: #ffffff url("../img/logo-maipu.png") center / 76% auto no-repeat !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  box-shadow: 0 12px 24px rgba(6, 28, 50, 0.16) !important;
  color: transparent !important;
  flex: 0 0 46px !important;
}

body .modal .modal-icon img,
body .home-news-modal .home-news-modal-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 6px !important;
  display: block !important;
}

body .modal .modal-icon i,
body .modal .modal-icon svg {
  display: none !important;
}

/* Texto superior */
body .modal .modal-kicker,
body .home-news-modal .home-news-modal-head span {
  display: block !important;
  color: #c7f36b !important;
  font-size: 9.5px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.75px !important;
  margin: 0 0 4px !important;
}

/* Título de todos los modales: 15px */
body .modal .modal-head h2,
body .modal #modalTitle,
body .modal.news-mode .modal-head h2,
body .home-news-modal .home-news-modal-head h2,
body .home-news-modal #homeNewsModalTitle {
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  letter-spacing: -0.1px !important;
  margin: 0 !important;
  max-width: 100% !important;
}

body .modal .modal-head p,
body .modal #modalSubtitle,
body .home-news-modal .home-news-modal-head p,
body .home-news-modal #homeNewsModalSubtitle {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  margin: 4px 0 0 !important;
}

/* X igual para modal general y noticias */
body .modal .modal-close,
body .home-news-modal .home-news-modal-close {
  position: absolute !important;
  top: 18px !important;
  right: 20px !important;
  width: 25px !important;
  height: 25px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  backdrop-filter: blur(8px) !important;
  font-size: 12px !important;
  box-shadow: none !important;
  padding: 0 !important;
  line-height: 1 !important;
}

body .modal .modal-close i,
body .home-news-modal .home-news-modal-close i {
  font-size: 12px !important;
  line-height: 1 !important;
}

body .modal .modal-close:hover,
body .home-news-modal .home-news-modal-close:hover {
  background: rgba(255, 255, 255, 0.28) !important;
}

/* Cuerpo de modales */
body .modal .modal-body,
body .home-news-modal .home-news-modal-content {
  padding: 20px 22px 22px !important;
}

body .home-news-modal .home-news-modal-img {
  height: 300px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  margin-bottom: 15px !important;
  background: #eef8ff !important;
}

body .home-news-modal .home-news-modal-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

body .home-news-modal .home-news-modal-meta {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-bottom: 14px !important;
}

body .home-news-modal .home-news-modal-meta span {
  background: #f59b12 !important;
  color: #ffffff !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  font-size: 10.5px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

body .home-news-modal .home-news-modal-meta small {
  color: #0072bc !important;
  font-weight: 900 !important;
  font-size: 12px !important;
}

body .home-news-modal .home-news-modal-text {
  color: #31445f !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  white-space: pre-line !important;
}

body .home-news-modal .home-news-modal-actions {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid #dfe8f2 !important;
}

@media (max-width: 780px) {
  body .modal,
  body .home-news-modal {
    align-items: flex-start !important;
    padding: 78px 12px 14px !important;
  }

  body .modal .modal-box,
  body .home-news-modal .home-news-modal-box {
    width: min(100%, 520px) !important;
    max-height: 82vh !important;
    border-radius: 22px !important;
  }

  body .modal .modal-head,
  body .home-news-modal .home-news-modal-head {
    padding: 15px 48px 15px 16px !important;
    gap: 10px !important;
  }

  body .modal .modal-icon,
  body .home-news-modal .home-news-modal-logo {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    flex-basis: 40px !important;
    border-radius: 13px !important;
  }

  body .modal .modal-head h2,
  body .modal #modalTitle,
  body .home-news-modal .home-news-modal-head h2,
  body .home-news-modal #homeNewsModalTitle {
    font-size: 15px !important;
    line-height: 1.18 !important;
  }

  body .modal .modal-head p,
  body .modal #modalSubtitle,
  body .home-news-modal .home-news-modal-head p,
  body .home-news-modal #homeNewsModalSubtitle {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }

  body .modal .modal-close,
  body .home-news-modal .home-news-modal-close {
    top: 15px !important;
    right: 16px !important;
    width: 25px !important;
    height: 25px !important;
    font-size: 12px !important;
  }

  body .modal .modal-body,
  body .home-news-modal .home-news-modal-content {
    padding: 16px !important;
  }

  body .home-news-modal .home-news-modal-img {
    height: 190px !important;
    border-radius: 16px !important;
  }

  body .home-news-modal .home-news-modal-actions .btn {
    width: 100% !important;
  }
}

/* =====================================================
   NATY V15 - CORRECCIÓN FINAL NOTICIAS + MAIPÚ EN MOVIMIENTO
   Pegar al final para que pise cualquier estilo anterior duplicado.
   ===================================================== */

/* ---------- NOTICIAS HOME: sacar recuadros de botones y dejar título celeste ---------- */
body .home-news-section {
  padding: 48px 0 58px !important;
  background: #ffffff !important;
}

body .home-news-grid-fixed {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 22px !important;
  align-items: stretch !important;
}

body .home-news-card-fixed {
  background: #ffffff !important;
  border: 1px solid #dfe8f2 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 28px rgba(10, 35, 70, 0.075) !important;
  min-height: 330px !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

body .home-news-card-fixed:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 42px rgba(10, 35, 70, 0.13) !important;
}

body .home-news-img-fixed,
body button.home-news-img-fixed {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: block !important;
  width: 100% !important;
  height: 154px !important;
  flex: 0 0 154px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: #eef8ff !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  cursor: pointer !important;
  text-align: left !important;
}

body .home-news-img-fixed img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  filter: brightness(1) contrast(1) saturate(1) !important;
  transition: transform 0.35s ease !important;
}

body .home-news-card-fixed:hover .home-news-img-fixed img {
  transform: scale(1.045) !important;
}

/* Ocultar categorías/pastillas: CULTURA, TRÁMITES, INSTITUCIONAL, etc. */
body .home-news-tag-fixed,
body .home-news-modal-meta span,
body .home-news-modal-img span,
body .news-card .tag,
body .noticia-card .tag,
body .news-tag,
body .noticia-tag,
body .category-badge,
body .tag {
  display: none !important;
}

body .home-news-body-fixed {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 15px 15px 16px !important;
  min-width: 0 !important;
}

body .home-news-date-fixed {
  display: block !important;
  color: #7b8ca3 !important;
  font-size: 12.5px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  margin: 0 0 8px !important;
}

body .home-news-body-fixed h3 {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
}

body .home-news-body-fixed h3 button,
body .home-news-body-fixed h3 a {
  all: unset;
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  color: #0072bc !important;
  font-size: 16px !important;
  line-height: 1.24 !important;
  font-weight: 950 !important;
  letter-spacing: -0.2px !important;
  text-align: left !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  white-space: normal !important;
}

body .home-news-body-fixed p {
  color: #657487 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  margin: 0 0 12px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body .home-news-more-fixed,
body button.home-news-more-fixed {
  all: unset;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: auto 0 0 !important;
  padding: 12px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid #e7eff7 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #0072bc !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  text-align: left !important;
  text-decoration: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}

body .home-news-more-fixed i {
  color: #0072bc !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

body .home-news-all-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 40px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  background: #eef8ff !important;
  color: #0072bc !important;
  border: 1px solid #d9ebf8 !important;
  box-shadow: 0 10px 22px rgba(0, 114, 188, 0.08) !important;
}

/* También corrige títulos de tarjetas en noticias.php si esa página comparte este CSS */
body .news-card h3,
body .news-card h3 a,
body .news-card h3 button,
body .noticia-card h3,
body .noticia-card h3 a,
body .noticia-card h3 button,
body .noticias-card h3,
body .noticias-card h3 a,
body .noticias-card h3 button {
  color: #0072bc !important;
  text-align: left !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* ---------- MAIPÚ EN MOVIMIENTO: restaurar carruseles horizontales ---------- */
body .maipu-horizontal-flow {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  padding: 46px 0 54px !important;
  background:
    radial-gradient(circle at left 20%, rgba(0, 114, 188, 0.045), transparent 28%),
    radial-gradient(circle at right 85%, rgba(245, 155, 18, 0.06), transparent 25%),
    #ffffff !important;
}

body .maipu-horizontal-flow .container {
  position: relative !important;
  z-index: 2 !important;
}

body .maipu-motion-head,
body .horizontal-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 22px !important;
  margin-bottom: 24px !important;
}

body .maipu-motion-head .section-lead {
  margin-bottom: 0 !important;
  max-width: 760px !important;
}

body .maipu-motion-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: #ffffff !important;
  color: #0072bc !important;
  border: 1px solid #dfe8f2 !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  box-shadow: 0 10px 22px rgba(10, 35, 70, 0.07) !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  font-weight: 900 !important;
}

body .horizontal-marquee-wrap {
  display: grid !important;
  gap: 16px !important;
  width: 100% !important;
  overflow: hidden !important;
}

body .horizontal-row {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  position: relative !important;
  padding: 4px 0 !important;
}

body .horizontal-row::before,
body .horizontal-row::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 82px !important;
  z-index: 5 !important;
  pointer-events: none !important;
}

body .horizontal-row::before {
  left: 0 !important;
  background: linear-gradient(90deg, #ffffff, rgba(255, 255, 255, 0)) !important;
}

body .horizontal-row::after {
  right: 0 !important;
  background: linear-gradient(270deg, #ffffff, rgba(255, 255, 255, 0)) !important;
}

body .horizontal-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: max-content !important;
  will-change: transform !important;
}

body .horizontal-track.left {
  animation: maipuMoveLeft 34s linear infinite !important;
}

body .horizontal-track.right {
  animation: maipuMoveRight 36s linear infinite !important;
}

body .horizontal-row:hover .horizontal-track {
  animation-play-state: paused !important;
}

@keyframes maipuMoveLeft {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes maipuMoveRight {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}

body .h-card {
  flex: 0 0 270px !important;
  width: 270px !important;
  min-height: 128px !important;
  background: #ffffff !important;
  border: 1px solid #e3edf6 !important;
  border-radius: 20px !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: 92px 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  box-shadow: 0 14px 30px rgba(10, 35, 70, 0.075) !important;
  color: inherit !important;
  text-decoration: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

body .h-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 20px 42px rgba(10, 35, 70, 0.13) !important;
}

body .h-card.featured {
  background: linear-gradient(135deg, #f59b12, #eb7f05) !important;
  border-color: transparent !important;
}

body .h-img {
  height: 96px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  position: relative !important;
  background: #eef8ff !important;
}

body .h-img img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

body .h-img b {
  position: absolute !important;
  top: 7px !important;
  left: 7px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 9px !important;
  background: #f59b12 !important;
  color: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16) !important;
}

body .h-card.featured .h-img b {
  background: #082946 !important;
}

body .h-content span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  width: fit-content !important;
  padding: 5px 8px !important;
  border-radius: 999px !important;
  background: #eef8ff !important;
  color: #0072bc !important;
  font-size: 9.5px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  margin-bottom: 7px !important;
}

body .h-card.featured .h-content span {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
}

body .h-content h3 {
  margin: 0 0 5px !important;
  color: #082946 !important;
  font-size: 15.5px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}

body .h-content p {
  margin: 0 !important;
  color: #6f8195 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body .h-card.featured .h-content h3,
body .h-card.featured .h-content p {
  color: #ffffff !important;
}

/* ---------- MODALES: asegurar estilo unificado, logo, título 15px y X chica ---------- */
body .modal .modal-box,
body .home-news-modal .home-news-modal-box {
  position: relative !important;
  width: min(900px, 94vw) !important;
  max-height: 92vh !important;
  overflow: auto !important;
  background: #ffffff !important;
  border-radius: 30px !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.30) !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
}

body .modal .modal-head,
body .home-news-modal .home-news-modal-head {
  position: relative !important;
  padding: 18px 58px 18px 20px !important;
  background:
    radial-gradient(circle at 94% 8%, rgba(255, 255, 255, 0.20), transparent 25%),
    linear-gradient(135deg, #082946 0%, #0072bc 58%, #0d8fd3 100%) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  overflow: hidden !important;
}

body .modal .modal-title-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

body .modal .modal-icon,
body .home-news-modal .home-news-modal-logo {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  flex: 0 0 46px !important;
  border-radius: 15px !important;
  background: #ffffff url("../img/logo-maipu.png") center / 76% auto no-repeat !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  box-shadow: 0 12px 24px rgba(6, 28, 50, 0.16) !important;
  color: transparent !important;
}

body .modal .modal-icon img,
body .home-news-modal .home-news-modal-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 6px !important;
  display: block !important;
}

body .modal .modal-icon i,
body .modal .modal-icon svg {
  display: none !important;
}

body .modal .modal-kicker,
body .home-news-modal .home-news-modal-head span {
  display: block !important;
  color: #c7f36b !important;
  font-size: 9.5px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.75px !important;
  margin: 0 0 4px !important;
}

body .modal .modal-head h2,
body .modal #modalTitle,
body .modal.news-mode .modal-head h2,
body .home-news-modal .home-news-modal-head h2,
body .home-news-modal #homeNewsModalTitle {
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  letter-spacing: -0.1px !important;
  margin: 0 !important;
  max-width: 100% !important;
}

body .modal .modal-head p,
body .modal #modalSubtitle,
body .home-news-modal .home-news-modal-head p,
body .home-news-modal #homeNewsModalSubtitle {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  margin: 4px 0 0 !important;
}

body .modal .modal-close,
body .home-news-modal .home-news-modal-close {
  position: absolute !important;
  top: 18px !important;
  right: 20px !important;
  width: 25px !important;
  height: 25px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  backdrop-filter: blur(8px) !important;
  font-size: 12px !important;
  box-shadow: none !important;
  padding: 0 !important;
  line-height: 1 !important;
}

body .modal .modal-close i,
body .home-news-modal .home-news-modal-close i {
  font-size: 12px !important;
  line-height: 1 !important;
}

body .modal .modal-close:hover,
body .home-news-modal .home-news-modal-close:hover {
  background: rgba(255, 255, 255, 0.28) !important;
}

@media (max-width: 1100px) {
  body .home-news-grid-fixed {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 780px) {
  body .home-news-section {
    padding: 34px 0 42px !important;
  }

  body .home-news-section .title-row,
  body .maipu-motion-head,
  body .horizontal-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  body .home-news-all-link,
  body .maipu-motion-link {
    width: 100% !important;
  }

  body .home-news-grid-fixed {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    padding: 0 !important;
    gap: 16px !important;
  }

  body .home-news-card-fixed {
    min-height: auto !important;
  }

  body .home-news-img-fixed,
  body button.home-news-img-fixed {
    height: 190px !important;
    flex-basis: 190px !important;
  }

  body .home-news-body-fixed h3 button,
  body .home-news-body-fixed h3 a {
    font-size: 16px !important;
  }

  body .maipu-horizontal-flow {
    padding: 36px 0 46px !important;
  }

  body .horizontal-row::before,
  body .horizontal-row::after {
    width: 38px !important;
  }

  body .h-card {
    flex-basis: 245px !important;
    width: 245px !important;
    min-height: 126px !important;
    grid-template-columns: 82px 1fr !important;
    border-radius: 16px !important;
  }

  body .h-img {
    height: 88px !important;
    border-radius: 13px !important;
  }

  body .modal,
  body .home-news-modal {
    align-items: flex-start !important;
    padding: 78px 12px 14px !important;
  }

  body .modal .modal-box,
  body .home-news-modal .home-news-modal-box {
    width: min(100%, 520px) !important;
    max-height: 82vh !important;
    border-radius: 22px !important;
  }

  body .modal .modal-head,
  body .home-news-modal .home-news-modal-head {
    padding: 15px 48px 15px 16px !important;
  }

  body .modal .modal-icon,
  body .home-news-modal .home-news-modal-logo {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    flex-basis: 40px !important;
    border-radius: 13px !important;
  }

  body .modal .modal-close,
  body .home-news-modal .home-news-modal-close {
    top: 15px !important;
    right: 16px !important;
    width: 25px !important;
    height: 25px !important;
  }
}
/* =====================================================
   FIX FINAL - MODAL NOTICIAS + 4 TARJETAS TURISMO
   PEGAR AL FINAL DE TODO EL home.css
   ===================================================== */

/* ===== MODAL DE NOTICIAS IGUAL AL RESTO ===== */

/* Caja del modal de noticias */
.home-news-modal-box {
  width: min(740px, 94%) !important;
  max-height: 90vh !important;
  overflow: auto !important;
  background: #ffffff !important;
  border-radius: 20px !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.35) !important;
  border: 0 !important;
}

/* Imagen superior del modal de noticias */
.home-news-modal-img {
  position: relative !important;
  height: 260px !important;
  overflow: hidden !important;
  border-radius: 20px 20px 0 0 !important;
  background: #eef8ff !important;
}

/* Imagen limpia */
.home-news-modal-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border: 0 !important;
  outline: 0 !important;
}

/* Sacar categoría naranja del modal de noticias */
.home-news-modal-img span {
  display: none !important;
}

/* X del modal de noticias igual al resto */
.home-news-modal-close {
  position: absolute !important;
  top: 18px !important;
  right: 20px !important;
  width: 25px !important;
  height: 25px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  backdrop-filter: blur(8px) !important;
  font-size: 12px !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.home-news-modal-close:hover {
  background: rgba(255, 255, 255, 0.28) !important;
}

/* Contenido del modal de noticias */
.home-news-modal-content {
  padding: 18px 20px 20px !important;
}

/* Fecha/categoría chica */
.home-news-modal-content small {
  display: block !important;
  color: var(--azul) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  margin-bottom: 8px !important;
}

/* ESTE ES EL TÍTULO DEL MODAL DE NOTICIAS */
.home-news-modal-content h2 {
  color: #082946 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  margin: 0 0 10px !important;
}

/* Bajada del modal */
.home-news-modal-lead {
  color: #526174 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #dfe8f2 !important;
}

/* Texto del modal */
.home-news-modal-text {
  color: #31445f !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}


/* ===== 4 TARJETAS TURÍSTICAS SIN BORDE BLANCO EN LA IMAGEN ===== */

.tour-grid-clean .tour-card,
.tour-card {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1px solid #dfe8f2 !important;
}

/* Imagen pegada arriba, sin borde blanco */
.tour-grid-clean .tour-card img,
.tour-card img {
  width: 100% !important;
  height: 150px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
}

/* Texto de las tarjetas */
.tour-grid-clean .tour-card div,
.tour-card div {
  padding: 12px 14px 14px !important;
}

/* Título de las 4 tarjetas */
.tour-grid-clean .tour-card h3,
.tour-card h3 {
  margin: 0 0 5px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  color: #07182d !important;
  font-weight: 900 !important;
  text-align: center !important;
}

/* Texto de las 4 tarjetas */
.tour-grid-clean .tour-card p,
.tour-card p {
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  color: #526174 !important;
  text-align: center !important;
}

/* Móvil */
@media (max-width: 780px) {
  .home-news-modal-box {
    width: min(94%, 520px) !important;
    border-radius: 18px !important;
  }

  .home-news-modal-img {
    height: 320px !important;
    border-radius: 18px 18px 0 0 !important;
  }

  .home-news-modal-img::before {
    top: 14px !important;
    left: 16px !important;
    width: 48px !important;
    height: 48px !important;
    background-size: 36px !important;
  }

  .home-news-modal-close {
    top: 15px !important;
    right: 16px !important;
  }

  .tour-grid-clean .tour-card img,
  .tour-card img {
    height: 105px !important;
  }
}
/* ===== FIX FINAL SOLO TITULO CARD NOTICIAS V18 ===== */
/* Este bloque toca SOLAMENTE el título de las cards de noticias del HOME.
   No modifica el modal de noticias ni los modales generales. */

body .home-news-section .home-news-grid-fixed .home-news-card-fixed .home-news-body-fixed h3,
body .home-news-section .home-news-grid-fixed .home-news-card-fixed .home-news-body-fixed h3 a,
body .home-news-section .home-news-grid-fixed .home-news-card-fixed .home-news-body-fixed h3 button,
body .home-news-card-fixed .home-news-body-fixed h3,
body .home-news-card-fixed .home-news-body-fixed h3 a,
body .home-news-card-fixed .home-news-body-fixed h3 button {
  font-size: 14px !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  letter-spacing: -0.15px !important;
}

/* En pantallas chicas lo dejo apenas menor para que no se corte feo */
@media (max-width: 620px) {
  body .home-news-section .home-news-grid-fixed .home-news-card-fixed .home-news-body-fixed h3,
  body .home-news-section .home-news-grid-fixed .home-news-card-fixed .home-news-body-fixed h3 a,
  body .home-news-section .home-news-grid-fixed .home-news-card-fixed .home-news-body-fixed h3 button,
  body .home-news-card-fixed .home-news-body-fixed h3,
  body .home-news-card-fixed .home-news-body-fixed h3 a,
  body .home-news-card-fixed .home-news-body-fixed h3 button {
    font-size: 13.5px !important;
    line-height: 1.22 !important;
  }
}
/* =========================================================
   CELULAR - NOTICIAS COMO CARRUSEL CON PEDACITO DE LA SIGUIENTE
   ========================================================= */

   @media screen and (max-width: 768px) {
    #noticias {
      overflow: hidden !important;
    }
  
    #noticias .home-news-grid-fixed {
      display: grid !important;
      grid-template-columns: none !important;
      grid-auto-flow: column !important;
      grid-auto-columns: 86% !important;
  
      gap: 14px !important;
  
      overflow-x: auto !important;
      overflow-y: hidden !important;
  
      scroll-snap-type: x mandatory !important;
      scroll-behavior: smooth !important;
      -webkit-overflow-scrolling: touch !important;
  
      padding: 6px 18px 20px 14px !important;
      margin-top: 16px !important;
    }
  
    #noticias .home-news-card-fixed {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
  
      scroll-snap-align: start !important;
      scroll-snap-stop: always !important;
  
      margin: 0 !important;
      border-radius: 18px !important;
    }
  
    #noticias .home-news-img-fixed {
      width: 100% !important;
      height: 190px !important;
      display: block !important;
      overflow: hidden !important;
      border-radius: 18px 18px 0 0 !important;
    }
  
    #noticias .home-news-img-fixed img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      display: block !important;
    }
  
    #noticias .home-news-body-fixed {
      padding: 15px !important;
    }
  
    #noticias .home-news-body-fixed h3 {
      font-size: 17px !important;
      line-height: 1.2 !important;
    }
  
    #noticias .home-news-body-fixed p {
      font-size: 13px !important;
      line-height: 1.4 !important;
    }
  
    #noticias .home-news-grid-fixed::-webkit-scrollbar {
      height: 5px !important;
    }
  
    #noticias .home-news-grid-fixed::-webkit-scrollbar-track {
      background: #eaf4fb !important;
      border-radius: 999px !important;
    }
  
    #noticias .home-news-grid-fixed::-webkit-scrollbar-thumb {
      background: #0d8fd3 !important;
      border-radius: 999px !important;
    }
  }
  
  @media screen and (max-width: 420px) {
    #noticias .home-news-grid-fixed {
      grid-auto-columns: 88% !important;
    }
  
    #noticias .home-news-img-fixed {
      height: 180px !important;
    }
  }


/* =========================================================
   ARREGLO DEFINITIVO PORTADA MÓVIL
   Conserva tamaño, altura, cover, carrusel, links y diseño.
   Solamente elimina el degradado oscuro que se aplicaba en celular.
   ========================================================= */
@media (max-width: 780px) {
  html body main#inicio.hero.hero-image-only {
    background:
      var(--hero-image, url("../img/portada.png"))
      center center / cover
      no-repeat !important;

    background-blend-mode: normal !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
  }

  html body main#inicio.hero.hero-image-only::before,
  html body main#inicio.hero.hero-image-only::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 0 !important;
  }
}
/* =========================================================
   PORTADA MÓVIL NÍTIDA
   Mantiene el mismo alto, recorte centrado y carrusel.
   Pegar al FINAL de home.css.
   ========================================================= */

   .hero-mobile-sharp-image {
    display: none;
  }
  
  @media screen and (max-width: 780px) {
    html body main#inicio.hero.hero-image-only.has-mobile-sharp-image {
      position: relative !important;
      overflow: hidden !important;
  
      /* La imagen visible será la etiqueta IMG, no el fondo CSS. */
      background-image: none !important;
      background: none !important;
    }
  
    html body main#inicio .hero-mobile-sharp-image {
      display: block !important;
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
  
      /* Conserva exactamente el encuadre vertical que ya te gusta. */
      object-fit: cover !important;
      object-position: center center !important;
  
      max-width: none !important;
      opacity: 1 !important;
      filter: none !important;
      transform: none !important;
      image-rendering: auto !important;
  
      z-index: 0 !important;
      pointer-events: none !important;
    }
  
    html body main#inicio.hero.hero-image-only::before,
    html body main#inicio.hero.hero-image-only::after {
      display: none !important;
      content: none !important;
    }
  
    html body main#inicio > .container {
      position: relative !important;
      z-index: 2 !important;
    }
  
    html body main#inicio .hero-slide-link {
      position: absolute !important;
      inset: 0 !important;
      z-index: 3 !important;
    }
  }

/* =========================================================
   CARRUSEL HERO FINAL: ESCRITORIO + CELULAR, SIN PARPADEOS
   Las reglas se ubican al final para reemplazar parches anteriores
   sin modificar el resto del diseño.
   ========================================================= */
html body main#inicio.hero.hero-image-only {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: #eaf2f8 !important;
  background-image: none !important;
  filter: none !important;
  opacity: 1 !important;
  touch-action: pan-y !important;
}

html body main#inicio.hero.hero-image-only::before,
html body main#inicio.hero.hero-image-only::after {
  content: none !important;
  display: none !important;
}

html body main#inicio .hero-media {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
  background: #eaf2f8 !important;
  pointer-events: none !important;
}

html body main#inicio .hero-picture-layer {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  visibility: visible !important;
  transition: opacity 460ms ease !important;
  will-change: opacity !important;
  pointer-events: none !important;
}

html body main#inicio .hero-picture-layer.is-active {
  opacity: 1 !important;
}

html body main#inicio .hero-picture-layer img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  filter: none !important;
  transform: translateZ(0) !important;
  image-rendering: auto !important;
  backface-visibility: hidden !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

/* Desactiva el sistema móvil anterior para que no haya dos imágenes superpuestas. */
html body main#inicio .hero-mobile-sharp-image {
  display: none !important;
}

html body main#inicio .hero-slide-link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  display: block !important;
  background: transparent !important;
  text-decoration: none !important;
}

html body main#inicio .hero-slide-link.is-disabled {
  pointer-events: none !important;
  cursor: default !important;
}

html body main#inicio .hero-carousel-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 6 !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.58) !important;
  border-radius: 50% !important;
  background: rgba(5, 35, 61, 0.58) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  display: grid !important;
  place-items: center !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transform: translateY(-50%) !important;
  transition: background 180ms ease, transform 180ms ease, opacity 180ms ease !important;
}

html body main#inicio .hero-carousel-prev {
  left: max(14px, calc((100vw - 1240px) / 2)) !important;
}

html body main#inicio .hero-carousel-next {
  right: max(14px, calc((100vw - 1240px) / 2)) !important;
}

html body main#inicio .hero-carousel-arrow:hover,
html body main#inicio .hero-carousel-arrow:focus-visible {
  background: rgba(0, 114, 188, 0.9) !important;
  outline: 3px solid rgba(255, 255, 255, 0.72) !important;
  outline-offset: 2px !important;
}

html body main#inicio .hero-carousel-arrow:active {
  transform: translateY(-50%) scale(0.94) !important;
}

html body main#inicio .hero-carousel-dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 17px !important;
  z-index: 6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 28px !important;
  padding: 6px 9px !important;
  border-radius: 999px !important;
  background: rgba(5, 35, 61, 0.36) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  transform: translateX(-50%) !important;
  pointer-events: auto !important;
}

html body main#inicio .hero-carousel-dot {
  width: 9px !important;
  height: 9px !important;
  min-width: 9px !important;
  min-height: 9px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.58) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: width 180ms ease, background 180ms ease !important;
}

html body main#inicio .hero-carousel-dot.active {
  width: 27px !important;
  background: #ffffff !important;
}

html body main#inicio .hero-carousel-dot:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 3px !important;
}

@media (max-width: 780px) {
  html body main#inicio.hero.hero-image-only {
    background: #eaf2f8 !important;
    background-image: none !important;
  }

  html body main#inicio .hero-picture-layer img {
    object-fit: cover !important;
    object-position: center center !important;
  }

  html body main#inicio .hero-carousel-arrow {
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
    background: rgba(5, 35, 61, 0.52) !important;
  }

  html body main#inicio .hero-carousel-prev {
    left: 8px !important;
  }

  html body main#inicio .hero-carousel-next {
    right: 8px !important;
  }

  html body main#inicio .hero-carousel-dots {
    bottom: 10px !important;
    min-height: 24px !important;
    padding: 5px 8px !important;
  }

  html body main#inicio .hero-carousel-dot {
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    min-height: 8px !important;
  }

  html body main#inicio .hero-carousel-dot.active {
    width: 23px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body main#inicio .hero-picture-layer,
  html body main#inicio .hero-carousel-arrow,
  html body main#inicio .hero-carousel-dot {
    transition: none !important;
  }
}

/* =============================================================
   INDEX PROFESIONAL V14
   Orden: Guía > Noticias > Conocé Maipú > Video y redes > Banner final
   Mantiene el buscador móvil de trámites y el carrusel móvil de noticias.
   ============================================================= */

.maipu-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
  color: #0072bc;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .65px;
}

/* -----------------------------
   CONOCÉ MAIPÚ
   ----------------------------- */
.maipu-discover-section {
  padding: 34px 0 30px !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(114, 201, 67, .12), transparent 26%),
    linear-gradient(180deg, #f6fbff 0%, #ffffff 100%);
  border-top: 1px solid #e1edf7;
  border-bottom: 1px solid #e1edf7;
}

.maipu-discover-heading,
.maipu-media-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 18px;
}

.maipu-discover-heading .section-lead,
.maipu-media-heading .section-lead {
  margin-bottom: 0;
  max-width: 760px;
}

.maipu-discover-map-link {
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid #cfe4f4;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #ffffff;
  color: #0072bc;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(10, 35, 70, .06);
  transition: .2s ease;
}

.maipu-discover-map-link:hover {
  transform: translateY(-2px);
  border-color: #9fd2ef;
  box-shadow: 0 12px 24px rgba(10, 35, 70, .10);
}

.maipu-discover-main {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr);
  gap: 16px;
  align-items: stretch;
}

.maipu-discover-map-card {
  position: relative;
  min-height: 386px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid #cfdfed;
  background: #dcecf6;
  box-shadow: 0 18px 42px rgba(10, 35, 70, .12);
  isolation: isolate;
}

.maipu-discover-map-card img {
  width: 100%;
  height: 100%;
  min-height: 386px;
  object-fit: cover;
  object-position: center;
  transition: transform .35s ease;
}

.maipu-discover-map-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(5, 35, 58, .02) 35%, rgba(5, 35, 58, .82) 100%);
  pointer-events: none;
}

.maipu-discover-map-card:hover img {
  transform: scale(1.025);
}

.maipu-discover-map-overlay {
  position: absolute;
  left: 22px;
  right: 150px;
  bottom: 20px;
  z-index: 2;
  color: #ffffff;
}

.maipu-discover-map-overlay span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 7px;
  color: #c9f27a;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .55px;
}

.maipu-discover-map-overlay strong {
  display: block;
  margin-bottom: 5px;
  font-size: clamp(23px, 3vw, 34px);
  line-height: 1.02;
  letter-spacing: -.8px;
}

.maipu-discover-map-overlay small {
  display: block;
  max-width: 650px;
  color: #eaf4fb;
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 650;
}

.maipu-discover-map-action {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 3;
  min-height: 38px;
  padding: 0 13px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #ffffff;
  color: #0072bc;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .18);
}

.maipu-discover-section .maipu-discover-data-card {
  min-width: 0;
  padding: 16px !important;
  border-radius: 24px !important;
  display: flex !important;
  flex-direction: column;
  gap: 14px;
  background: linear-gradient(145deg, #07385f 0%, #006ea9 55%, #078fc3 100%) !important;
  border: 0 !important;
  box-shadow: 0 18px 42px rgba(7, 56, 95, .22) !important;
  color: #ffffff;
}

.maipu-discover-data-title {
  display: flex;
  align-items: center;
  gap: 11px;
}

.maipu-discover-data-title img {
  width: 54px;
  height: 54px;
  padding: 5px;
  border-radius: 14px;
  object-fit: contain;
  background: #ffffff;
}

.maipu-discover-data-title span {
  display: block;
  margin-bottom: 3px;
  color: #cfeeff;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .55px;
}

.maipu-discover-data-title h3 {
  margin: 0;
  color: #ffffff;
  font-size: 21px;
  line-height: 1.05;
  font-weight: 900;
}

.maipu-discover-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.maipu-discover-stat {
  min-width: 0;
  padding: 12px 8px 10px;
  border-radius: 15px;
  display: grid;
  justify-items: center;
  text-align: center;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .17);
}

.maipu-discover-stat i {
  width: 30px;
  height: 30px;
  margin-bottom: 6px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .14);
  color: #ffffff;
  font-size: 15px;
}

.maipu-discover-stat strong {
  color: #ffffff;
  font-size: clamp(18px, 2.2vw, 25px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.6px;
}

.maipu-discover-stat small {
  margin-top: 5px;
  color: #dff3ff;
  font-size: 8px;
  line-height: 1.15;
  font-weight: 900;
  text-transform: uppercase;
}

.maipu-discover-search-box {
  margin-top: auto;
  padding: 12px;
  border-radius: 16px;
  background: #ffffff;
  color: #173350;
}

.maipu-discover-search-box > label {
  display: block;
  margin-bottom: 7px;
  color: #173350;
  font-size: 11px;
  font-weight: 900;
}

.maipu-discover-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  gap: 7px;
}

.maipu-discover-search-input,
.maipu-discover-select {
  min-width: 0;
  height: 38px;
  border: 1px solid #d5e4f0;
  border-radius: 10px;
  display: flex;
  align-items: center;
  background: #f8fbfe;
}

.maipu-discover-search-input i {
  margin-left: 10px;
  color: #0072bc;
}

.maipu-discover-search-input input,
.maipu-discover-select select {
  min-width: 0;
  width: 100%;
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #193451;
  font-size: 11px;
  font-weight: 750;
}

.maipu-discover-search-input input {
  padding: 0 9px 0 7px;
}

.maipu-discover-select {
  position: relative;
}

.maipu-discover-select select {
  padding: 0 28px 0 10px;
  appearance: none;
  cursor: pointer;
}

.maipu-discover-select i {
  position: absolute;
  right: 9px;
  color: #0072bc;
  font-size: 11px;
  pointer-events: none;
}

.maipu-discover-toolbar {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #dae8f3;
  border-radius: 18px 18px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #ffffff;
}

.maipu-discover-toolbar > div:first-child span {
  display: block;
  margin-bottom: 2px;
  color: #0072bc;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .55px;
}

.maipu-discover-toolbar h3 {
  margin: 0;
  color: #102d4b;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 900;
}

.maipu-discover-section .maipu-discover-filters {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px !important;
  margin: 0 !important;
}

.maipu-discover-section .maipu-tour-filter {
  min-height: 34px;
  padding: 0 11px !important;
  border: 1px solid #d4e3ef !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #3b536e !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  cursor: pointer;
}

.maipu-discover-section .maipu-tour-filter.is-active {
  border-color: #0072bc !important;
  background: #0072bc !important;
  color: #ffffff !important;
  box-shadow: 0 7px 15px rgba(0, 114, 188, .18);
}

.maipu-discover-places {
  border: 1px solid #dae8f3;
  border-top: 0;
  border-radius: 0 0 18px 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  padding: 11px;
  background: #ffffff;
}

.maipu-discover-section .maipu-tour-place-card {
  min-width: 0;
  min-height: 92px;
  padding: 12px !important;
  border: 1px solid #deebf5 !important;
  border-radius: 15px !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 20px !important;
  gap: 10px !important;
  align-items: center;
  background: #fbfdff !important;
  box-shadow: none !important;
  transition: .2s ease;
}

.maipu-discover-section .maipu-tour-place-card:hover {
  transform: translateY(-2px);
  border-color: #b9dced !important;
  background: #ffffff !important;
  box-shadow: 0 10px 22px rgba(10, 35, 70, .08) !important;
}

.maipu-discover-section .maipu-place-number {
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border-radius: 13px !important;
  display: grid !important;
  place-items: center;
  background: linear-gradient(135deg, #0072bc, #72c943) !important;
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 900;
}

.maipu-discover-section .maipu-tour-place-card strong {
  display: block;
  margin-bottom: 4px;
  color: #102d4b !important;
  font-size: 13.5px !important;
  line-height: 1.15;
  font-weight: 900;
}

.maipu-discover-section .maipu-tour-place-card small {
  display: block;
  color: #60738a !important;
  font-size: 10.5px !important;
  line-height: 1.35;
  font-weight: 650;
}

.maipu-place-arrow {
  color: #0072bc;
  font-size: 14px;
}

.maipu-discover-section .maipu-tour-place-card.is-hidden,
.maipu-discover-section .maipu-mobile-option.is-hidden {
  display: none !important;
}

/* -----------------------------
   VIDEO Y REDES
   ----------------------------- */
.maipu-media-section {
  padding: 34px 0 !important;
  background: #ffffff;
}

.maipu-media-social-links {
  display: flex;
  gap: 8px;
}

.maipu-media-social-links a {
  width: 38px;
  height: 38px;
  border: 1px solid #d5e5f1;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #ffffff;
  color: #0072bc;
  font-size: 17px;
  box-shadow: 0 7px 16px rgba(10, 35, 70, .05);
  transition: .2s ease;
}

.maipu-media-social-links a:hover {
  transform: translateY(-2px);
  border-color: #acd6ed;
}

.maipu-media-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr);
  gap: 16px;
  align-items: stretch;
}

.maipu-video-card,
.maipu-social-post-card {
  min-width: 0;
  border: 1px solid #dbe7f1;
  border-radius: 22px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 15px 34px rgba(10, 35, 70, .09);
}

.maipu-video-card {
  display: flex;
  flex-direction: column;
}

.maipu-media-card-head {
  min-height: 72px;
  padding: 13px 16px;
  display: flex;
  align-items: center;
  gap: 11px;
  border-bottom: 1px solid #e1ebf3;
}

.maipu-media-icon {
  width: 43px;
  height: 43px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  flex: 0 0 43px;
  color: #ffffff;
  font-size: 21px;
}

.maipu-youtube-icon {
  background: linear-gradient(135deg, #f53333, #c90000);
}

.maipu-media-card-head small {
  display: block;
  margin-bottom: 2px;
  color: #7b899a;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .45px;
}

.maipu-media-card-head h3 {
  margin: 0;
  color: #102d4b;
  font-size: 17px;
  line-height: 1.1;
  font-weight: 900;
}

.maipu-media-card-head > a {
  margin-left: auto;
  color: #0072bc;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.maipu-video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #061426;
}

.maipu-video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.maipu-video-foot {
  min-height: 50px;
  padding: 11px 15px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #5d7087;
  font-size: 10.5px;
  line-height: 1.35;
  font-weight: 700;
  background: #f8fbfe;
}

.maipu-video-foot i {
  color: #d20000;
  font-size: 18px;
}

.maipu-social-post-card {
  display: flex;
  flex-direction: column;
}

.maipu-social-post-head {
  min-height: 65px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 9px;
}

.maipu-social-avatar {
  width: 39px;
  height: 39px;
  padding: 2px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #f7b928, #f2386b, #8244d5);
}

.maipu-social-avatar img {
  width: 35px;
  height: 35px;
  padding: 3px;
  border-radius: 50%;
  object-fit: contain;
  background: #ffffff;
}

.maipu-social-post-head strong {
  display: block;
  color: #18263a;
  font-size: 12px;
  line-height: 1.2;
}

.maipu-social-post-head small {
  display: block;
  margin-top: 2px;
  color: #7e8b9a;
  font-size: 9px;
}

.maipu-social-post-head > a {
  margin-left: auto;
  color: #d62d74;
  font-size: 19px;
}

.maipu-social-post-image {
  position: relative;
  min-height: 280px;
  max-height: 360px;
  display: block;
  overflow: hidden;
  background: #edf4f8;
}

.maipu-social-post-image img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  max-height: 360px;
  object-fit: cover;
}

.maipu-social-post-image > span {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(5, 30, 50, .82);
  color: #ffffff;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .45px;
}

.maipu-social-actions {
  padding: 10px 12px 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #18263a;
  font-size: 19px;
}

.maipu-social-actions span {
  display: flex;
  gap: 13px;
}

.maipu-social-caption {
  padding: 0 12px 10px;
}

.maipu-social-caption p {
  margin: 0 0 5px;
  color: #26364a;
  font-size: 10.5px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.maipu-social-caption small {
  display: -webkit-box;
  color: #738196;
  font-size: 9.5px;
  line-height: 1.4;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.maipu-social-profile-link {
  margin-top: auto;
  min-height: 43px;
  padding: 0 12px;
  border-top: 1px solid #e1ebf3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #0072bc;
  font-size: 10.5px;
  font-weight: 900;
  background: #f8fbfe;
}

/* -----------------------------
   SEGUNDO Y ÚLTIMO BANNER
   ----------------------------- */
.maipu-final-banner-section {
  padding: 18px 0 22px !important;
}

.maipu-final-banner {
  width: 100%;
  overflow: hidden;
  border: 1px solid #d8e7f2;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(10, 35, 70, .09);
}

.maipu-final-banner img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* De los banners administrables del home se muestra únicamente el principal. */
#bannerSlot2,
#bannerSlot3 {
  display: none !important;
}

@media (max-width: 1000px) {
  .maipu-discover-main,
  .maipu-media-grid {
    grid-template-columns: 1fr;
  }

  .maipu-discover-section .maipu-discover-data-card {
    display: grid !important;
    grid-template-columns: 1fr 1.2fr;
    align-items: center;
  }

  .maipu-discover-data-title,
  .maipu-discover-search-box {
    grid-column: 1;
  }

  .maipu-discover-stats {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 780px) {
  .maipu-discover-section,
  .maipu-media-section {
    padding: 25px 0 !important;
  }

  .maipu-discover-heading,
  .maipu-media-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .maipu-discover-map-link {
    width: 100%;
  }

  .maipu-discover-map-card,
  .maipu-discover-map-card img {
    min-height: 250px;
  }

  .maipu-discover-map-overlay {
    left: 15px;
    right: 15px;
    bottom: 56px;
  }

  .maipu-discover-map-overlay strong {
    font-size: 24px;
  }

  .maipu-discover-map-overlay small {
    font-size: 10.5px;
  }

  .maipu-discover-map-action {
    left: 15px;
    right: 15px;
    bottom: 13px;
    justify-content: center;
  }

  .maipu-discover-section .maipu-discover-data-card {
    display: flex !important;
    padding: 14px !important;
  }

  .maipu-discover-stats {
    width: 100%;
  }

  .maipu-discover-stat {
    padding: 10px 5px 9px;
  }

  .maipu-discover-stat strong {
    font-size: 18px;
  }

  .maipu-discover-search-row {
    grid-template-columns: minmax(0, 1fr) 100px;
  }

  .maipu-discover-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .maipu-discover-section .maipu-discover-filters {
    justify-content: flex-start;
  }

  .maipu-discover-places {
    grid-template-columns: 1fr;
  }

  .maipu-discover-section .maipu-tour-place-card {
    min-height: 80px;
  }

  .maipu-media-heading {
    margin-bottom: 15px;
  }

  .maipu-media-social-links {
    width: 100%;
  }

  .maipu-media-social-links a {
    flex: 1 1 0;
  }

  .maipu-media-card-head {
    padding: 11px 12px;
  }

  .maipu-media-card-head > a {
    font-size: 10px;
  }

  .maipu-social-post-image,
  .maipu-social-post-image img {
    min-height: 300px;
    max-height: 380px;
  }

  .maipu-final-banner-section .container {
    width: 100% !important;
  }

  .maipu-final-banner {
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 480px) {
  .maipu-discover-search-row {
    grid-template-columns: 1fr;
  }

  .maipu-discover-select {
    width: 100%;
  }

  .maipu-discover-stats {
    gap: 5px;
  }

  .maipu-discover-data-title h3 {
    font-size: 19px;
  }

  .maipu-discover-section .maipu-tour-place-card {
    grid-template-columns: 38px minmax(0, 1fr) 16px !important;
    gap: 8px !important;
    padding: 10px !important;
  }

  .maipu-discover-section .maipu-place-number {
    width: 38px !important;
    height: 38px !important;
    font-size: 15px !important;
  }

  .maipu-video-foot {
    font-size: 9.5px;
  }
}


/* ==========================================================
   INDEX V15 - AJUSTES FINALES CONOCÉ MAIPÚ + VIDEO/REDES
   ========================================================== */

.maipu-discover-section,
.maipu-media-section {
  position: relative;
}

.maipu-discover-section {
  padding: 42px 0 34px !important;
  background:
    radial-gradient(circle at 96% 8%, rgba(114, 201, 67, .11), transparent 26%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 100%) !important;
  border-top: 1px solid #e2edf6;
  border-bottom: 1px solid #e2edf6;
}

.maipu-discover-heading,
.maipu-media-heading {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 22px !important;
  margin-bottom: 20px !important;
}

.maipu-heading-copy {
  min-width: 0;
  max-width: 820px;
}

.maipu-heading-copy .maipu-section-kicker {
  display: flex !important;
  width: fit-content;
  align-items: center;
  gap: 7px;
  margin: 0 0 7px !important;
  color: #0072bc;
  font-size: 11px;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .45px;
}

.maipu-heading-copy .section-title {
  display: block !important;
  width: fit-content;
  margin: 0 !important;
  padding: 0 0 10px !important;
  font-size: clamp(27px, 3vw, 36px) !important;
  line-height: 1.05 !important;
  letter-spacing: -1.15px !important;
}

.maipu-heading-copy .section-title::after {
  width: 74px !important;
  height: 4px !important;
}

.maipu-heading-copy .section-lead {
  margin: 10px 0 0 !important;
  max-width: 780px;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.maipu-discover-map-link {
  flex: 0 0 auto;
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 15px;
  border: 1px solid #cfe1f1;
  border-radius: 12px;
  background: #ffffff;
  color: #0072bc;
  box-shadow: 0 8px 20px rgba(10, 35, 70, .07);
  font-size: 12px;
  font-weight: 900;
  transition: .2s ease;
}

.maipu-discover-map-link:hover {
  transform: translateY(-2px);
  border-color: #9fd0ed;
  box-shadow: 0 12px 24px rgba(10, 35, 70, .11);
}

.maipu-discover-main-v2 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(330px, .85fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.maipu-discover-map-card-v2 {
  position: relative;
  display: block;
  min-height: 470px !important;
  overflow: hidden;
  border: 1px solid #cfe0ef;
  border-radius: 24px !important;
  background: #dceaf4;
  box-shadow: 0 18px 42px rgba(10, 35, 70, .12);
}

.maipu-discover-map-card-v2 > img {
  width: 100%;
  height: 100%;
  min-height: 470px !important;
  object-fit: cover;
  object-position: center;
  transition: transform .45s ease;
}

.maipu-discover-map-card-v2:hover > img {
  transform: scale(1.025);
}

.maipu-discover-map-card-v2::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 25, 47, .02) 30%, rgba(5, 32, 58, .86) 100%);
  pointer-events: none;
}

.maipu-discover-map-overlay {
  position: absolute !important;
  left: 24px !important;
  right: 150px !important;
  bottom: 24px !important;
  z-index: 2;
  display: grid;
  gap: 7px;
  color: #ffffff;
}

.maipu-discover-map-overlay > span {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 7px;
  color: #c8f37a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .4px;
}

.maipu-discover-map-overlay strong {
  display: block;
  max-width: 600px;
  font-size: clamp(27px, 3.1vw, 42px) !important;
  line-height: 1 !important;
  letter-spacing: -1.4px;
}

.maipu-discover-map-overlay small {
  display: block;
  max-width: 630px;
  color: #edf6ff;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
}

.maipu-discover-map-action {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 3;
  min-height: 42px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 12px;
  background: #ffffff;
  color: #0072bc;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .16);
}

.maipu-places-panel {
  min-width: 0;
  min-height: 470px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border: 1px solid #cfe1ef;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(10, 35, 70, .10);
}

.maipu-places-panel-head {
  padding: 2px 2px 0;
}

.maipu-places-panel-head > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
  color: #0072bc;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .38px;
}

.maipu-places-panel-head h3 {
  margin: 0 0 4px;
  color: #082946;
  font-size: 22px;
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -.55px;
}

.maipu-places-panel-head p {
  margin: 0;
  color: #657487;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 650;
}

.maipu-discover-search-box-v2 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.maipu-discover-search-box-v2 > label {
  margin: 0 !important;
  color: #173350;
  font-size: 11px !important;
  font-weight: 900;
}

.maipu-discover-search-input,
.maipu-discover-select-v2 {
  position: relative;
  display: flex !important;
  align-items: center;
  width: 100%;
  min-height: 42px;
  border: 1px solid #d4e3ef !important;
  border-radius: 12px !important;
  background: #f9fcff !important;
  overflow: hidden;
}

.maipu-discover-search-input:focus-within,
.maipu-discover-select-v2:focus-within {
  border-color: #71bde8 !important;
  box-shadow: 0 0 0 4px rgba(0, 114, 188, .08);
}

.maipu-discover-search-input > i {
  flex: 0 0 auto;
  margin-left: 12px;
  color: #0072bc;
  font-size: 17px;
}

.maipu-discover-search-input input,
.maipu-discover-select-v2 select {
  width: 100%;
  height: 42px;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #213b59;
  font-size: 12px !important;
  font-weight: 750;
}

.maipu-discover-search-input input {
  padding: 0 12px 0 9px !important;
}

.maipu-discover-select-v2 select {
  appearance: none;
  padding: 0 38px 0 12px !important;
  cursor: pointer;
}

.maipu-discover-select-v2 > i {
  position: absolute;
  right: 12px;
  color: #0072bc;
  pointer-events: none;
}

.maipu-places-list {
  min-height: 0;
  flex: 1;
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 7px;
  overflow-y: auto;
  padding-right: 3px;
  scrollbar-width: thin;
  scrollbar-color: #9dc7e1 transparent;
}

.maipu-places-list::-webkit-scrollbar {
  width: 5px;
}

.maipu-places-list::-webkit-scrollbar-thumb {
  background: #9dc7e1;
  border-radius: 999px;
}

.maipu-places-panel .maipu-tour-place-card {
  min-height: 61px !important;
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) 22px !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 9px !important;
  border: 1px solid #dce8f2 !important;
  border-radius: 13px !important;
  background: #fbfdff !important;
  box-shadow: none !important;
  transition: .18s ease;
}

.maipu-places-panel .maipu-tour-place-card:hover {
  transform: translateY(-1px) !important;
  border-color: #9fd1ed !important;
  background: #f2faff !important;
  box-shadow: 0 8px 18px rgba(10, 35, 70, .07) !important;
}

.maipu-places-panel .maipu-place-number {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #078bc8, #72c943) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

.maipu-places-panel .maipu-tour-place-card > div {
  min-width: 0;
}

.maipu-places-panel .maipu-tour-place-card strong {
  display: block !important;
  margin: 0 0 2px !important;
  color: #082946 !important;
  font-size: 12.5px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}

.maipu-places-panel .maipu-tour-place-card small {
  display: block !important;
  color: #5a7088 !important;
  font-size: 10.5px !important;
  line-height: 1.22 !important;
  font-weight: 650 !important;
}

.maipu-places-panel .maipu-place-arrow {
  color: #0072bc !important;
  font-size: 15px !important;
}

.maipu-places-panel .maipu-tour-place-card.is-hidden,
.maipu-places-panel .maipu-mobile-option.is-hidden {
  display: none !important;
}

.maipu-numbers-strip {
  margin-top: 16px;
  padding: 13px;
  display: grid;
  grid-template-columns: minmax(210px, .8fr) minmax(0, 2.2fr);
  gap: 14px;
  align-items: center;
  border-radius: 20px;
  background: linear-gradient(135deg, #073c63 0%, #0072bc 62%, #118fd0 100%);
  box-shadow: 0 16px 34px rgba(0, 88, 146, .20);
  overflow: hidden;
}

.maipu-numbers-title {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 3px 8px;
  color: #ffffff;
}

.maipu-numbers-title img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  padding: 5px;
  border-radius: 13px;
  background: #ffffff;
}

.maipu-numbers-title span {
  display: block;
  margin-bottom: 2px;
  color: #cdeaff;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .35px;
}

.maipu-numbers-title h3 {
  margin: 0;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -.45px;
}

.maipu-numbers-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.maipu-number-tab {
  min-width: 0;
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 15px;
  background: rgba(255, 255, 255, .10);
  color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.maipu-number-tab > i {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: rgba(255, 255, 255, .15);
  color: #ffffff;
  font-size: 17px;
}

.maipu-number-tab strong {
  display: block;
  color: #ffffff;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.6px;
  white-space: nowrap;
}

.maipu-number-tab small {
  display: block;
  margin-top: 3px;
  color: #d9efff;
  font-size: 8.5px;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
}

.maipu-media-section {
  padding: 40px 0 34px !important;
  background: #ffffff !important;
}

.maipu-media-grid-reversed {
  display: grid !important;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.maipu-media-grid-reversed .maipu-social-post-card,
.maipu-media-grid-reversed .maipu-video-card {
  min-width: 0;
  height: 100%;
  border-radius: 22px !important;
  border: 1px solid #d9e6f0 !important;
  box-shadow: 0 16px 34px rgba(10, 35, 70, .10) !important;
  overflow: hidden;
}

.maipu-media-grid-reversed .maipu-social-post-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
}

.maipu-media-grid-reversed .maipu-social-post-image {
  height: 315px !important;
  min-height: 315px !important;
  background: #eef4f8;
}

.maipu-media-grid-reversed .maipu-social-post-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.maipu-social-liked {
  color: #e31b23 !important;
}

.maipu-social-likes {
  padding: 0 13px 7px;
  color: #172d48;
  font-size: 11px;
  font-weight: 900;
}

.maipu-media-grid-reversed .maipu-social-caption {
  flex: 1;
}

.maipu-media-grid-reversed .maipu-video-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
}

.maipu-media-grid-reversed .maipu-video-frame {
  flex: 1;
  min-height: 390px !important;
  background: #071b2f;
}

.maipu-media-grid-reversed .maipu-video-frame iframe {
  width: 100%;
  height: 100%;
  min-height: 390px !important;
  display: block;
  border: 0;
}

.maipu-final-banner-section {
  padding: 22px 0 16px !important;
}

.maipu-final-banner {
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(10, 35, 70, .10) !important;
}

.maipu-final-banner img {
  width: 100%;
  height: auto;
  max-height: 200px;
  object-fit: cover;
}

/* Atención al vecino más compacta */
.attention {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: .9fr 1fr 1fr 1.35fr !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 24px rgba(10, 35, 70, .07) !important;
}

.attention .att-col {
  min-height: 68px !important;
  padding: 11px 13px !important;
  gap: 9px !important;
}

.attention .att-title {
  font-size: 17px !important;
  line-height: 1.1 !important;
}

.attention .att-col > i {
  font-size: 20px !important;
}

.attention .att-col b {
  margin-bottom: 2px !important;
  font-size: 12.5px !important;
}

.attention .att-col small {
  font-size: 10.5px !important;
  line-height: 1.25 !important;
}

.attention .att-form-arrow {
  margin-left: auto;
  font-size: 14px !important;
}

@media (max-width: 1050px) {
  .maipu-discover-main-v2 {
    grid-template-columns: minmax(0, 1.18fr) minmax(310px, .82fr) !important;
  }

  .maipu-media-grid-reversed {
    grid-template-columns: minmax(285px, .78fr) minmax(0, 1.22fr) !important;
  }

  .maipu-numbers-strip {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .maipu-discover-section,
  .maipu-media-section {
    padding: 26px 0 24px !important;
  }

  .maipu-discover-heading,
  .maipu-media-heading {
    align-items: flex-start !important;
    margin-bottom: 14px !important;
  }

  .maipu-heading-copy .section-title {
    font-size: 27px !important;
  }

  .maipu-heading-copy .section-lead {
    font-size: 13px !important;
  }

  .maipu-discover-main-v2,
  .maipu-media-grid-reversed {
    grid-template-columns: 1fr !important;
  }

  .maipu-discover-map-card-v2 {
    min-height: 360px !important;
  }

  .maipu-discover-map-card-v2 > img {
    min-height: 360px !important;
  }

  .maipu-places-panel {
    min-height: 0;
  }

  .maipu-media-grid-reversed .maipu-video-frame,
  .maipu-media-grid-reversed .maipu-video-frame iframe {
    min-height: 330px !important;
  }

  .attention {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .attention .att-col:nth-child(2) {
    border-right: 0 !important;
  }

  .attention .att-col:nth-child(-n+2) {
    border-bottom: 1px solid #dbe9f6;
  }
}

@media (max-width: 780px) {
  .maipu-discover-section .container,
  .maipu-media-section .container {
    width: min(100% - 20px, 1180px) !important;
  }

  .maipu-discover-heading {
    display: block !important;
  }

  .maipu-discover-heading .section-lead {
    margin-top: 8px !important;
  }

  /* En celular queda un único buscador, lista y números */
  .maipu-discover-map-link,
  .maipu-discover-map-card-v2,
  .maipu-places-panel-head {
    display: none !important;
  }

  .maipu-discover-main-v2 {
    display: block !important;
  }

  .maipu-places-panel {
    min-height: 0 !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(10, 35, 70, .08) !important;
  }

  .maipu-discover-search-box-v2 > label {
    display: none !important;
  }

  .maipu-discover-search-input,
  .maipu-discover-select-v2 {
    min-height: 44px !important;
    border-radius: 13px !important;
    background: #ffffff !important;
  }

  .maipu-discover-search-input input,
  .maipu-discover-select-v2 select {
    height: 44px !important;
    font-size: 12px !important;
  }

  .maipu-places-list {
    max-height: 236px;
    gap: 8px;
    padding-right: 4px;
  }

  .maipu-places-panel .maipu-tour-place-card {
    min-height: 68px !important;
    grid-template-columns: 42px minmax(0, 1fr) 22px !important;
    padding: 9px !important;
    border-radius: 14px !important;
  }

  .maipu-places-panel .maipu-place-number {
    width: 42px !important;
    height: 42px !important;
  }

  .maipu-places-panel .maipu-tour-place-card strong {
    font-size: 12.5px !important;
  }

  .maipu-places-panel .maipu-tour-place-card small {
    font-size: 10.5px !important;
  }

  .maipu-numbers-strip {
    margin-top: 12px;
    padding: 12px;
    gap: 10px;
    border-radius: 18px;
  }

  .maipu-numbers-title {
    padding: 0;
  }

  .maipu-numbers-title img {
    width: 44px;
    height: 44px;
  }

  .maipu-numbers-title h3 {
    font-size: 18px;
  }

  .maipu-numbers-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .maipu-number-tab {
    min-height: 82px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 7px 4px;
    text-align: center;
    border-radius: 13px;
  }

  .maipu-number-tab > i {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    font-size: 14px;
  }

  .maipu-number-tab strong {
    font-size: 16px;
    letter-spacing: -.4px;
  }

  .maipu-number-tab small {
    font-size: 7px;
  }

  .maipu-media-heading {
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-items: end !important;
    gap: 10px !important;
  }

  .maipu-media-heading .section-lead {
    grid-column: 1 / -1;
  }

  .maipu-media-social-links {
    align-self: end;
  }

  .maipu-media-grid-reversed {
    gap: 12px !important;
  }

  .maipu-media-grid-reversed .maipu-social-post-image {
    height: 275px !important;
    min-height: 275px !important;
  }

  .maipu-media-grid-reversed .maipu-video-frame,
  .maipu-media-grid-reversed .maipu-video-frame iframe {
    min-height: 245px !important;
  }

  .maipu-final-banner-section {
    padding: 14px 0 10px !important;
  }

  .maipu-final-banner-section .container {
    width: min(100% - 20px, 1180px) !important;
  }

  .maipu-final-banner {
    border-radius: 14px !important;
  }

  .maipu-final-banner img {
    max-height: 125px;
    object-fit: cover;
  }

  .attention {
    border-radius: 14px !important;
  }

  .attention .att-col {
    min-height: 62px !important;
    padding: 9px 10px !important;
  }

  .attention .att-title {
    font-size: 15px !important;
  }

  .attention .att-col b {
    font-size: 11.5px !important;
  }

  .attention .att-col small {
    font-size: 9.5px !important;
  }
}

@media (max-width: 470px) {
  .maipu-heading-copy .maipu-section-kicker {
    font-size: 9.5px;
  }

  .maipu-heading-copy .section-title {
    font-size: 24px !important;
    letter-spacing: -.7px !important;
  }

  .maipu-heading-copy .section-lead {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .maipu-media-heading {
    grid-template-columns: 1fr;
  }

  .maipu-media-social-links {
    justify-self: start;
  }

  .maipu-numbers-title span {
    font-size: 8px;
  }

  .maipu-number-tab strong {
    font-size: 14px;
  }

  .maipu-number-tab small {
    font-size: 6.5px;
  }

  .attention {
    grid-template-columns: 1fr !important;
  }

  .attention .att-col {
    border-right: 0 !important;
    border-bottom: 1px solid #dbe9f6 !important;
  }

  .attention .att-col:last-child {
    border-bottom: 0 !important;
  }
}


/* =========================================================
   INDEX V16 - GUÍA DESKTOP, TÍTULOS, TURISMO Y ORDEN FINAL
   ========================================================= */
.section-heading-stack {
  min-width: 0;
  display: grid;
  justify-items: start;
  gap: 0;
}

.section-heading-stack .maipu-section-kicker {
  margin: 0 0 8px !important;
}

.section-heading-stack .section-title {
  margin: 0 !important;
}

.section-heading-stack .section-lead {
  margin: 10px 0 0 !important;
}

.section-title-row-v16 {
  align-items: flex-end !important;
  margin-bottom: 16px !important;
}

/* Guía: aspecto amplio y profesional en computadora */
.real-guide-section {
  padding: 42px 0 34px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f5faff 100%) !important;
}

.real-guide-layout {
  display: block !important;
}

.real-guide-box {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.real-guide-heading-v16 {
  align-items: flex-end !important;
  margin-bottom: 18px !important;
}

.real-guide-heading-v16 .section-title {
  font-size: clamp(30px, 3vw, 38px) !important;
  line-height: 1.04 !important;
}

.real-guide-all-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding-bottom: 8px;
}

.real-guide-search {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  gap: 10px !important;
  margin: 0 0 15px !important;
  padding: 8px !important;
  border: 1px solid #d6e4ef;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(10, 35, 70, .07);
}

.real-guide-search::before {
  content: "\F52A";
  position: absolute;
  left: 22px;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  font-family: "bootstrap-icons";
  color: #6e88a1;
  font-size: 16px;
  pointer-events: none;
}

.real-guide-search input {
  height: 42px !important;
  padding-left: 40px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #173350;
  font-size: 14px !important;
  font-weight: 750 !important;
}

.real-guide-search button {
  min-height: 42px;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #0072bc, #0d8fd3) !important;
}

.real-guide-chips {
  display: none !important;
}

.real-guide-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 0 !important;
}

.guide-item-real {
  min-height: 146px !important;
  grid-template-columns: 1fr 18px !important;
  grid-template-rows: 48px auto !important;
  align-content: start !important;
  gap: 8px 10px !important;
  padding: 16px !important;
  border-radius: 17px !important;
  background: #ffffff !important;
  box-shadow: 0 9px 22px rgba(10, 35, 70, .055) !important;
}

.guide-item-real > i:first-child {
  grid-column: 1;
  grid-row: 1;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  border-radius: 12px !important;
}

.guide-item-real .guide-item-copy {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: start;
}

.guide-item-copy b {
  display: block;
  color: #082946 !important;
  font-size: 13.5px !important;
  line-height: 1.2 !important;
}

.guide-item-copy small {
  display: block;
  margin-top: 9px;
  color: #60748b;
  font-size: 11px;
  line-height: 1.38;
  font-weight: 650;
}

.guide-item-real .guide-item-arrow {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  color: #8aa3ba !important;
  font-size: 15px !important;
}

.guide-item-mobile-extra {
  display: none !important;
}

/* Conocé Maipú más bajo y con mayor protagonismo del mapa */
.maipu-discover-section {
  padding: 34px 0 30px !important;
}

.maipu-discover-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
}

.maipu-tourism-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 15px;
  border-radius: 12px;
  background: linear-gradient(135deg, #72c943, #8fd44f);
  color: #ffffff;
  box-shadow: 0 9px 22px rgba(80, 157, 37, .18);
  font-size: 12px;
  font-weight: 900;
  transition: .2s ease;
}

.maipu-tourism-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 13px 25px rgba(80, 157, 37, .24);
}

.maipu-discover-main-v2 {
  grid-template-columns: minmax(0, 1.72fr) minmax(290px, .63fr) !important;
  gap: 14px !important;
}

.maipu-discover-map-card-v2,
.maipu-discover-map-card-v2 > img {
  min-height: 365px !important;
  height: 365px !important;
}

.maipu-discover-map-overlay {
  left: 20px !important;
  right: 138px !important;
  bottom: 20px !important;
  gap: 5px !important;
}

.maipu-discover-map-overlay strong {
  font-size: clamp(25px, 2.7vw, 36px) !important;
}

.maipu-discover-map-overlay small {
  font-size: 11.5px !important;
}

.maipu-places-panel {
  min-height: 365px !important;
  max-height: 365px;
  gap: 9px !important;
  padding: 13px !important;
  border-radius: 20px !important;
}

.maipu-places-panel-head h3 {
  font-size: 19px !important;
}

.maipu-places-panel-head p {
  font-size: 10.5px !important;
}

.maipu-discover-search-input,
.maipu-discover-select-v2,
.maipu-discover-search-input input,
.maipu-discover-select-v2 select {
  min-height: 38px !important;
  height: 38px !important;
}

.maipu-places-list {
  gap: 5px !important;
}

.maipu-places-panel .maipu-tour-place-card {
  min-height: 48px !important;
  grid-template-columns: 34px minmax(0, 1fr) 18px !important;
  gap: 8px !important;
  padding: 6px 7px !important;
}

.maipu-places-panel .maipu-place-number {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  font-size: 10px !important;
}

.maipu-places-panel .maipu-tour-place-card strong {
  font-size: 11.5px !important;
}

.maipu-places-panel .maipu-tour-place-card small {
  font-size: 9.5px !important;
  line-height: 1.15 !important;
}

.maipu-numbers-strip {
  margin-top: 13px !important;
  padding: 10px 12px !important;
}

.maipu-number-tab {
  min-height: 62px !important;
}

/* Atención más limpia y pequeña */
.attention-section-v16 {
  padding: 24px 0 28px !important;
}

.attention-heading-v16 {
  margin-bottom: 12px;
}

.attention-heading-v16 .section-title {
  font-size: 25px !important;
}

.attention-v16 {
  grid-template-columns: .8fr .8fr 1.25fr !important;
}

.attention-v16 .att-col {
  min-height: 62px !important;
}

@media (max-width: 1060px) and (min-width: 781px) {
  .real-guide-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .guide-item-mobile-extra {
    display: grid !important;
  }

  .maipu-discover-main-v2 {
    grid-template-columns: minmax(0, 1.45fr) minmax(285px, .7fr) !important;
  }
}

@media (max-width: 780px) {
  /* En celular se conserva la guía compacta que ya funcionaba. */
  .real-guide-section {
    padding: 24px 0 !important;
  }

  .real-guide-heading-v16 {
    display: block !important;
    margin-bottom: 12px !important;
  }

  .real-guide-all-link {
    display: none !important;
  }

  .real-guide-search {
    display: none !important;
  }

  .real-guide-chips {
    display: flex !important;
  }

  .real-guide-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin-top: 12px !important;
  }

  .guide-item-mobile-extra {
    display: grid !important;
  }

  .guide-item-real {
    min-height: 66px !important;
    grid-template-columns: 34px minmax(0, 1fr) 15px !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 8px !important;
    border-radius: 12px !important;
  }

  .guide-item-real > i:first-child {
    grid-column: 1;
    grid-row: 1;
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
  }

  .guide-item-real .guide-item-copy {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
  }

  .guide-item-copy b {
    font-size: 11.5px !important;
    line-height: 1.16 !important;
  }

  .guide-item-copy small {
    display: none !important;
  }

  .guide-item-real .guide-item-arrow {
    grid-column: 3;
    grid-row: 1;
    font-size: 13px !important;
  }

  .section-title-row-v16 {
    align-items: flex-start !important;
  }

  .maipu-discover-actions {
    justify-content: flex-start;
    margin-top: 12px;
  }

  .maipu-discover-map-link {
    display: none !important;
  }

  .maipu-tourism-link {
    min-height: 40px;
    width: 100%;
  }

  .maipu-places-panel {
    min-height: 0 !important;
    max-height: none !important;
  }

  .maipu-discover-search-input,
  .maipu-discover-select-v2,
  .maipu-discover-search-input input,
  .maipu-discover-select-v2 select {
    min-height: 44px !important;
    height: 44px !important;
  }

  .maipu-places-panel .maipu-tour-place-card {
    min-height: 68px !important;
    grid-template-columns: 42px minmax(0, 1fr) 22px !important;
    gap: 9px !important;
    padding: 9px !important;
  }

  .maipu-places-panel .maipu-place-number {
    width: 42px !important;
    height: 42px !important;
  }

  .maipu-places-panel .maipu-tour-place-card strong {
    font-size: 12.5px !important;
  }

  .maipu-places-panel .maipu-tour-place-card small {
    font-size: 10.5px !important;
  }

  .attention-v16 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .attention-v16 .att-col:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 470px) {
  .real-guide-heading-v16 .section-title,
  .attention-heading-v16 .section-title {
    font-size: 24px !important;
  }

  .attention-v16 {
    grid-template-columns: 1fr !important;
  }

  .attention-v16 .att-col:last-child {
    grid-column: auto;
  }
}


/* INDEX V17: los ajustes específicos finales se cargan al final del <head> de index.php. */


/* INDEX V18: los ajustes específicos finales se cargan al final del <head> de index.php. */

/* =====================================================
   INDEX V18 · LIMPIEZA FINAL DE NOTICIAS
   ===================================================== */
.home-news-all-link::after,
.home-news-all-link i {
  display: none !important;
  content: none !important;
}

@media (max-width: 780px) {
  .home-news-section .section-lead::after {
    display: none !important;
    content: none !important;
  }
}


/* =========================================================
   AJUSTE FINAL V20: 8 TARJETAS COMPACTAS + SELECTOR MÓVIL
   ========================================================= */
@media (min-width: 781px) {
  #guia .real-guide-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  #guia .guide-item-real {
    min-height: 86px !important;
    padding: 10px 11px !important;
    border: 2px solid #d7e6f2 !important;
    border-radius: 14px !important;
    grid-template-columns: 38px minmax(0, 1fr) 14px !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    align-content: center !important;
    gap: 8px !important;
    text-align: left !important;
  }

  #guia .guide-item-real > i:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    border-radius: 11px !important;
    display: grid !important;
    place-items: center !important;
    font-size: 17px !important;
  }

  #guia .guide-item-real .guide-item-copy {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
  }

  #guia .guide-item-copy b {
    font-size: 12.3px !important;
    line-height: 1.15 !important;
  }

  #guia .guide-item-copy small {
    display: none !important;
  }

  #guia .guide-item-real > i:last-child {
    grid-column: 3 !important;
    grid-row: 1 !important;
    font-size: 13px !important;
  }
}

@media (max-width: 780px) {
  #guia .mobile-guide-select {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 6px !important;
    margin: 0 !important;
  }

  #guia .mobile-guide-select select {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding-left: 14px !important;
    padding-right: 32px !important;
  }

  #guia .mobile-guide-select button {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
  }
}
