/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: May 21 2026 | 17:54:12 */
@import url('https://fonts.googleapis.com/css2?family=Patrick+Hand:wght@400&display=swap');
  /* Font Awesome cargado vía <link> antes del style */

  html,
  body {
    overflow-x: hidden !important;
    scroll-behavior: smooth;
  }

  .adop-pdf-page {
    --verde: #8cc63f;
    --naranja: #ff914d;
    --morado: #884fc4;
    --morado-oscuro: #6f3fa8;
    --lila: #f2def2;
    --crema: #fff2e1;
    --texto: #333333;

    width: 100%;
    max-width: 100vw;
    margin: 0 auto;
    overflow-x: hidden;
    background: #ffffff;
    font-family: 'Patrick Hand', Arial, sans-serif;
    color: var(--texto);
  }

  .adop-pdf-page *,
  .adop-pdf-page *::before,
  .adop-pdf-page *::after {
    box-sizing: border-box;
    font-family: inherit;
  }

  /* Restaurar fuentes de Font Awesome que se rompen con font-family:inherit */
  .adop-pdf-page .fa-solid,
  .adop-pdf-page .fa-regular,
  .adop-pdf-page .fa-light,
  .adop-pdf-page .fa-thin,
  .adop-pdf-page .fa-duotone,
  .adop-pdf-page [class*=" fa-"].fa-solid,
  .adop-pdf-page [class*=" fa-"].fa-regular {
    font-family: "Font Awesome 6 Free" !important;
  }
  .adop-pdf-page .fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
  }

  .adop-pdf-page img,
  .adop-pdf-page video,
  .adop-pdf-page iframe {
    max-width: 100%;
  }

  .adop-pdf-page img {
    width: 100%;
    height: auto;
    display: block;
  }

  .adop-page-inner {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    background: #ffffff;
  }

  /* Anula márgenes que el tema WP inyecta entre secciones */
  .adop-page-inner > section,
  .adop-page-inner > footer {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* ================= VIDEO SUPERIOR ================= */

  .adop-video-section {
    padding: 30px 24px 8px;
    background:
      radial-gradient(circle at top left, rgba(76, 88, 196, 0.16), transparent 28%),
      linear-gradient(180deg, #eef3ff 0%, #f8faff 42%, #ffffff 100%);
    border-top: 10px solid #2f2f92;
  }

  .adop-video-wrap {
    max-width: 1120px;
    margin: 0 auto;
  }

  .adop-video-shell {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(58, 63, 163, 0.10);
    border-radius: 28px;
    padding: 18px;
    box-shadow: 0 16px 40px rgba(45, 56, 129, 0.10);
    backdrop-filter: blur(8px);
  }

  .adop-video-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
  }

  .adop-video-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, #2f2f92 0%, #3e3bb0 100%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.2px;
    box-shadow: 0 10px 22px rgba(47, 47, 146, 0.22);
  }

  .adop-video-chip svg,
  .adop-video-meta svg,
  .adop-video-action svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
    flex: 0 0 18px;
  }

  .adop-video-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .adop-video-meta,
  .adop-video-action {
    min-height: 44px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
  }

  .adop-video-meta {
    padding: 0 16px;
    background: #f1f2fb;
    color: #2f2f92;
  }

  .adop-video-action {
    padding: 0 20px;
    border: 2px solid #3638a3;
    color: #3638a3;
    background: #ffffff;
    cursor: pointer;
    transition: all .25s ease;
  }

  .adop-video-action:hover {
    background: #3638a3;
    color: #ffffff;
    transform: translateY(-1px);
  }

  .adop-video-box {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 8.1;
    min-height: 320px;
    background: linear-gradient(135deg, #21246d 0%, #2d3b9c 100%);
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 18px 35px rgba(29, 39, 111, 0.28);
  }

  .adop-video-slide {
    display: none;
    position: absolute;
    inset: 0;
  }

  .adop-video-slide.active {
    display: block;
  }

  .adop-video-slide iframe,
  .adop-video-slide video {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    object-fit: cover;
    background: #121536;
  }

  .adop-video-overlay {
    position: absolute;
    inset: auto 18px 18px 18px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    pointer-events: none;
  }

  .adop-video-caption {
    max-width: 540px;
    padding: 16px 18px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(17, 21, 59, 0.24) 0%, rgba(17, 21, 59, 0.78) 100%);
    color: #ffffff;
    backdrop-filter: blur(8px);
    animation: adopCaptionHide 0.7s ease 5s forwards;
  }

  @keyframes adopCaptionHide {
    to { opacity: 0; pointer-events: none; }
  }

  .adop-video-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
  }

  .adop-video-caption h3 {
    margin: 0 0 5px;
    color: #ffffff;
    font-size: clamp(18px, 2.6vw, 28px);
    line-height: 1.08;
    font-weight: 900;
  }

  .adop-video-caption p {
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 13px;
    line-height: 1.45;
    font-weight: 600;
  }

  .adop-video-title {
    color: #2d2f87;
    font-size: 22px;
    font-weight: 900;
    text-align: left;
    margin: 18px 0 6px;
  }

  .adop-video-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 10px 0 0;
    flex-wrap: wrap;
  }

  .adop-video-controls button {
    min-height: 48px;
    border: 2px solid #3638a3;
    background: #ffffff;
    color: #3638a3;
    font-weight: 900;
    border-radius: 16px;
    padding: 10px 18px;
    cursor: pointer;
    transition: all .25s ease;
  }

  .adop-video-controls button:hover {
    background: #3638a3;
    color: #ffffff;
    transform: translateY(-2px);
  }

  .adop-dots {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 8px;
  }

  .adop-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #d4d9f4;
    cursor: pointer;
    transition: all .25s ease;
  }

  .adop-dot.active {
    background: #3638a3;
    box-shadow: 0 0 0 4px rgba(54, 56, 163, 0.16);
  }

  /* ================= FAMILIAS / NUBE / CÍRCULOS ================= */

  .adop-familias {
    position: relative;
    width: 100%;
    background: #ffffff;
    overflow: visible;
    display: flex;
    flex-direction: column;
  }

  .adop-familias-img {
    width: 100%;
    height: auto;
    display: none !important;
    margin-bottom: 0;
    position: relative;
    z-index: 1;
  }

  .adop-familias-contenido {
    position: static;
    top: auto;
    height: auto;
    left: auto;
    right: auto;
    width: 100%;
    text-align: center;
    padding: 22px 6% 18px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #7f47b8;
  }

  .adop-familias-title {
    color: #ffffff;
    font-size: clamp(18px, 5vw, 24px);
    font-weight: 900;
    line-height: 1.15;
    margin: 0 0 8px;
    text-align: center;
    font-family: 'Patrick Hand', Arial, sans-serif !important;
  }

  .adop-familias-copy {
    max-width: 100%;
    margin: 0 auto;
    color: #ffffff;
    font-size: clamp(12px, 3.5vw, 15px);
    line-height: 1.4;
    font-weight: 600;
    text-align: center;
    font-family: 'Patrick Hand', Arial, sans-serif !important;
  }

  .adop-circulos {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    padding: 30px 8% 40px;
    background: #ffffff;
    width: 100%;
    text-align: center;
    z-index: 3;
  }

  .adop-card-circulo {
    text-decoration: none !important;
    color: #333;
    position: relative;
    padding: 18px 18px 20px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow:
      0 14px 30px rgba(62, 47, 127, 0.14),
      0 4px 14px rgba(0, 0, 0, 0.06);
    transition: transform .25s ease, filter .25s ease, box-shadow .25s ease;
    cursor: pointer;
    max-width: 320px;
    width: 100%;
    text-align: center;
    display: block;
    animation: adopCardFloat 3.8s ease-in-out infinite;
  }

  .adop-card-circulo:hover,
  .adop-card-circulo.active {
    filter: brightness(1.05);
    box-shadow:
      0 22px 38px rgba(62, 47, 127, 0.20),
      0 8px 20px rgba(0, 0, 0, 0.10);
    animation-duration: 2.8s;
  }

  .adop-card-circulo.active img {
    filter: drop-shadow(0 12px 16px rgba(0, 0, 0, .22));
  }

  .adop-card-circulo img {
    width: 55%;
    max-width: 170px;
    margin: 0 auto 14px;
    display: block;
    filter: drop-shadow(0 8px 12px rgba(34, 28, 79, 0.16));
  }

  .adop-card-circulo h3 {
    font-size: 16px;
    line-height: 1.2;
    text-transform: uppercase;
    font-weight: 900;
    margin: 0 0 8px;
  }

  .adop-card-circulo.verde h3 {
    color: #8cc63f;
  }

  .adop-card-circulo.naranja h3 {
    color: #ff914d;
  }

  .adop-card-circulo.morado h3 {
    color: #b14fcb;
  }

  .adop-card-circulo p {
    max-width: 95%;
    margin: 0 auto;
    font-size: 13px;
    line-height: 1.4;
    color: #444;
    font-weight: 600;
  }

  .adop-card-circulo:nth-child(2) {
    animation-delay: .35s;
  }

  .adop-card-circulo:nth-child(3) {
    animation-delay: .7s;
  }

  @keyframes adopCardFloat {
    0%,
    100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-8px);
    }
  }

  /* ================= PLANTILLAS OCULTAS PARA MODAL ================= */

  .adop-contenido-click {
    display: none !important;
  }

  /* ================= CONOCE EL MUNDO ================= */

  .adop-mundo {
    background: #ffffff;
    color: #333333;
    padding: 0 0 36px;
    position: relative;
  }

  .adop-mundo-img {
    width: 100%;
    display: block;
    background: #ffffff;
  }

  .adop-mundo-title {
    background: #8cc63f;
    color: #ffffff;
    font-weight: 900;
    font-size: clamp(22px, 3vw, 42px);
    line-height: 1;
    padding: 10px 7%;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: -2px;
    position: relative;
    z-index: 2;
  }

  .adop-mundo-content {
    max-width: 880px;
    margin: 0 auto;
    padding: 26px 24px 28px;
    color: #333333;
    background: #ffffff;
    font-size: 14px;
    line-height: 1.55;
  }

  .adop-mundo-content h3 {
    color: #8cc63f;
    font-size: 17px;
    font-weight: 900;
    margin: 18px 0 5px;
  }

  .adop-mundo-content p {
    margin: 0 0 12px;
  }

  /* ================= BOTONES ================= */

  .adop-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #27b9d5;
    color: #27b9d5 !important;
    background: #ffffff;
    border-radius: 8px;
    padding: 8px 16px;
    text-decoration: none !important;
    font-weight: 900;
    font-size: 13px;
    line-height: 1.2;
    transition: all .25s ease;
  }

  .adop-btn:hover {
    background: #27b9d5;
    color: #ffffff !important;
  }

  /* ================= IMÁGENES EXACTAS ================= */

  .adop-img-section {
    position: relative;
    width: 100%;
    background: #ffffff;
  }

  .adop-img-section img {
    width: 100%;
    display: block;
  }

  .adop-img-link {
    position: absolute;
    display: block;
    z-index: 5;
    text-indent: -9999px;
    overflow: hidden;
    cursor: pointer;
  }

  .link-requisitos {
    left: 14%;
    bottom: 4.5%;
    width: 60%;
    height: 8%;
  }

  .link-internacional {
    left: 9%;
    bottom: 7%;
    width: 54%;
    height: 10%;
  }

  /* ================= REQUISITOS ================= */

  .adop-requisitos {
    background: #ffffff;
    padding: 24px 22px 40px;
  }

  .adop-requisitos-wrap {
    max-width: 860px;
    margin: 0 auto;
    font-size: 13.5px;
    line-height: 1.45;
    color: #333;
  }

  .adop-requisitos h2 {
    color: #ff914d;
    font-size: clamp(24px, 3vw, 42px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    margin: 0 0 18px;
  }

  .adop-requisitos h3 {
    font-size: 17px;
    font-weight: 900;
    margin: 14px 0 6px;
  }

  .adop-requisitos ol {
    padding-left: 22px;
    margin: 8px 0 18px;
  }

  .adop-requisitos li {
    margin-bottom: 7px;
  }

  /* ================= MANO ESCRIBIENDO → CARTAS ================= */

  .adop-mano-section {
    position: relative;
    width: 100%;
    background: #ffffff;
    margin-top: -6px;
    margin-bottom: 0;
    padding-top: 0;
    display: block;
    overflow: hidden;
  }

  .adop-mano-section img {
    width: 100%;
    display: block;
    margin-bottom: -1px;
    transform: scale(1.03) translateY(-10px);
    transform-origin: center top;
  }

  /* ================= CARTAS ================= */

  .adop-cartas {
    background: #ffffff;
    padding: 0;
    margin-top: -1px;
  }

  .adop-cartas-head img {
    width: 100%;
  }

  .adop-cartas-grid {
    background: #ffffff;
    max-width: 1120px;
    margin: 0 auto;
    padding: 18px 28px 45px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
    align-items: start;
    transition: grid-template-columns .3s ease;
  }

  .adop-carta-item {
    cursor: pointer;
    transition: transform .25s ease, opacity .25s ease, filter .25s ease;
    animation: adopCardFloat 4s ease-in-out infinite;
  }

  .adop-carta-item img {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    filter: drop-shadow(0 8px 8px rgba(0, 0, 0, .18));
    transition: filter .25s ease;
  }

  .adop-carta-item:hover img {
    filter: drop-shadow(0 12px 16px rgba(0, 0, 0, .28));
  }

  .adop-carta-item:hover {
    animation-duration: 2.8s;
  }

  .adop-carta-item:nth-child(2) {
    animation-delay: .45s;
  }

  /* Estado: una carta activa */
  .adop-cartas-grid.carta-activa {
    grid-template-columns: 1fr;
    max-width: 680px;
  }

  .adop-carta-item.carta-oculta {
    display: none;
  }

  .adop-carta-item.carta-visible {
    display: block;
  }

  /* Fuerza que las cartas siempre se mantengan visibles y en su grilla normal */
  .adop-cartas-grid.carta-activa {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 1120px !important;
  }

  .adop-carta-item.carta-oculta,
  .adop-carta-item.carta-visible {
    display: block !important;
  }

  .adop-carta-modal-content {
    padding: 24px;
    background: #ffffff;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    touch-action: pan-x pan-y pinch-zoom;
  }

  .adop-carta-modal-content img {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    display: block;
    filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.18));
    touch-action: pan-x pan-y pinch-zoom;
    transform-origin: center center;
  }

  /* ================= ADOPCIÓN INTERNACIONAL ================= */

  .adop-internacional-texto {
    background: #fff2e1;
  }

  .adop-internacional-wrap {
    max-width: 900px;
    margin: 0 auto;
    font-size: 13.5px;
    line-height: 1.48;
    color: #333;
  }

  .adop-internacional-wrap h2 {
    color: #884fc4;
    font-size: clamp(23px, 3vw, 40px);
    font-weight: 900;
    text-transform: uppercase;
    margin: 0 0 16px;
    line-height: 1.1;
  }

  .adop-internacional-wrap ol {
    padding-left: 22px;
    margin: 10px 0 20px;
  }

  .adop-internacional-wrap li {
    margin-bottom: 9px;
  }

  /* ================= FOOTER NARANJA ================= */

  .adop-footer-pdf {
    position: relative;
    overflow: hidden;
    max-height: 260px;
  }

  .adop-footer-bg-img {
    width: 100%;
    height: auto;
    display: block;
  }

  .adop-footer-wrap {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 40px;
    z-index: 2;
    top: 140px;
  }

  .adop-footer-info {
    max-width: 900px;
    width: 100%;
    padding: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    display: flex;
    flex-direction: row;
    gap: 14px;
    flex-wrap: wrap;
  }

  .adop-footer-pdf h3 {
    color: #fff;
    font-weight: 900;
    font-size: 22px;
    line-height: 1.05;
    margin: 0 0 12px;
  }

  .adop-footer-pdf p,
  .adop-footer-pdf a {
    color: #fff !important;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none !important;
    margin: 0;
  }

  .adop-footer-pdf strong {
    font-weight: 900;
  }

  .adop-footer-list {
    display: grid;
    gap: 12px;
  }

  .adop-footer-item {
    display: block;
  }

  .adop-footer-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 260px;
    min-height: 48px;
    padding: 11px 20px;
    border: 2px solid #ffffff;
    border-radius: 16px;
    background: #7f47b8;
    color: #ffffff !important;
    font-weight: 900;
    font-size: 15px;
    text-decoration: none !important;
    transition: background .25s ease, transform .25s ease;
  }

  .adop-footer-cta i {
    font-size: 18px;
    flex-shrink: 0;
  }

  .adop-footer-cta:hover {
    background: #6f3fa8;
    transform: translateY(-2px);
  }

  .adop-footer-redes {
    width: 100%;
    margin: 2px auto 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 54px;
    flex-wrap: wrap;
  }

  .adop-footer-redes a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: none;
    font-weight: 800;
    font-size: 14px;
    transition: opacity .25s ease;
  }

  .adop-footer-redes a:hover {
    opacity: .86;
  }

  .adop-footer-icon {
    width: 22px;
    text-align: center;
    font-size: 30px;
    font-weight: 900;
    line-height: 1;
  }

  .adop-footer-social-text {
    font-size: 12px;
    font-weight: 800;
  }

  /* ================= MODAL ================= */

  .adop-modal,
  .adop-modal * {
    font-family: 'Patrick Hand', Arial, sans-serif;
  }

  .adop-modal {
    position: fixed;
    inset: 0;
    z-index: 9999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
    background: rgba(34, 20, 50, 0.76);
  }

  .adop-modal.is-open {
    display: flex !important;
  }

  .adop-modal-dialog {
    position: relative;
    width: min(1060px, 94vw);
    max-height: 88vh;
    background: #ffffff;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 25px 80px rgba(0, 0, 0, .35);
    animation: adopModalShow .25s ease;
  }

  @keyframes adopModalShow {
    from { opacity: 0; transform: translateY(22px) scale(.96); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
  }

  @keyframes adopModalUp {
    from { transform: translateY(100%); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
  }

  .adop-modal-header {
    display: none;
  }

  .adop-modal-title {
    display: none;
  }

  .adop-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    border: none;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.92);
    color: #884fc4;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.3px;
    cursor: pointer;
    transition: all .22s ease;
    box-shadow: 0 3px 14px rgba(0, 0, 0, .22);
    backdrop-filter: blur(4px);
  }

  .adop-modal-close::before {
    content: '✕';
    font-size: 11px;
    font-weight: 900;
  }

  .adop-modal-close:hover {
    background: #884fc4;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(136, 79, 196, .35);
  }

  .adop-modal-body {
    max-height: 88vh;
    overflow-y: auto;
    padding: 0;
    background: #ffffff;
  }

  .adop-modal-body .adop-mundo,
  .adop-modal-body .adop-requisitos,
  .adop-modal-body .adop-internacional-texto {
    display: block !important;
  }

  .adop-modal-body .adop-requisitos .adop-img-section {
    margin-left: -22px;
    margin-right: -22px;
    width: calc(100% + 44px);
  }

  .adop-modal-body .adop-requisitos .adop-img-section:last-child {
    margin-bottom: -40px;
  }

  /* Internacional: imagen ocupa todo el ancho sin gaps */
  .adop-modal-body .adop-internacional-texto {
    padding: 0 0 42px;
  }

  .adop-modal-body .adop-internacional-texto .adop-img-section {
    background: #fff2e1;
  }

  .adop-modal-body .adop-internacional-texto .adop-internacional-wrap {
    padding: 28px 22px 0;
  }

  .adop-modal-body .adop-mundo {
    padding-bottom: 20px;
  }

  .adop-modal-body .adop-mundo-title {
    font-size: clamp(22px, 3vw, 34px);
  }

  .adop-modal-body .adop-mundo-content,
  .adop-modal-body .adop-requisitos-wrap,
  .adop-modal-body .adop-internacional-wrap {
    font-size: 15px;
  }

  body.adop-modal-open {
    overflow: hidden !important;
  }

  /* ================= RESPONSIVE ================= */

  @media (min-width: 901px) {
    .adop-familias {
      position: relative;
      overflow: hidden;
      display: block;
      min-height: 980px;
      background: #ffffff;
    }

    .adop-familias::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 360px;
      background: #7f47b8;
      z-index: 0;
      pointer-events: none;
    }

    .adop-familias-img {
      display: block !important;
      margin-bottom: -17%;
      position: relative;
      z-index: 1;
    }

    .adop-familias-contenido {
      position: absolute;
      top: 22%;
      height: 14%;
      left: 0;
      right: 0;
      padding: 0 8%;
      background: transparent;
      color: #69469b;
    }

    .adop-familias-title {
      color: #69469b !important;
      font-size: clamp(36px, 4vw, 56px) !important;
      line-height: 1.02 !important;
      font-weight: 900 !important;
      max-width: 760px;
      margin: 0 auto 14px !important;
      text-align: center !important;
      letter-spacing: -.5px;
      text-wrap: balance;
    }

    .adop-familias-copy {
      color: #69469b !important;
      font-size: clamp(16px, 1.45vw, 22px) !important;
      line-height: 1.35 !important;
      font-weight: 700 !important;
      max-width: 820px !important;
      margin: 0 auto !important;
      text-align: center !important;
    }

    .adop-circulos {
      position: absolute;
      top: 43%;
      left: 5%;
      right: 5%;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 6%;
      padding: 0;
      background: transparent;
      width: auto;
      align-items: stretch;
    }

    .adop-card-circulo {
      max-width: 100%;
      width: auto;
    }

    .adop-card-circulo img {
      width: 62%;
      max-width: 220px;
    }

    .adop-card-circulo h3 {
      font-size: clamp(9px, 1.35vw, 18px);
      margin: 0 0 9px;
    }

    .adop-card-circulo p {
      max-width: 260px;
      font-size: clamp(7px, .95vw, 13px);
    }
  }

  @media (min-width: 901px) and (max-width: 1180px) {
    .adop-familias {
      position: relative;
      min-height: 760px;
      display: block;
      background: #ffffff;
      overflow: hidden;
    }

    .adop-familias::before {
      height: 300px;
    }

    .adop-familias-img {
      display: block !important;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      margin-bottom: 0;
      z-index: 1;
      pointer-events: none;
    }

    .adop-familias-contenido {
      position: relative;
      height: auto;
      z-index: 2;
      padding: 120px 7% 0;
      background: transparent;
    }

    .adop-familias-title {
      font-size: clamp(30px, 4.4vw, 46px) !important;
      max-width: 700px;
      margin-bottom: 12px !important;
    }

    .adop-familias-copy {
      font-size: clamp(15px, 1.7vw, 19px) !important;
      max-width: 760px !important;
    }

    .adop-circulos {
      position: relative;
      z-index: 2;
      width: 100%;
      padding: 44px 5.5% 46px;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 28px;
      background: transparent;
      align-items: stretch;
    }

    .adop-card-circulo {
      max-width: none;
      min-height: 100%;
      padding: 24px 18px 22px;
    }

    .adop-card-circulo img {
      width: min(70%, 180px);
      max-width: 180px;
    }

    .adop-card-circulo h3 {
      font-size: clamp(14px, 1.6vw, 18px);
      min-height: 72px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .adop-card-circulo p {
      max-width: 100%;
      font-size: clamp(11px, 1.15vw, 13px);
    }
  }

  @media (min-width: 901px) and (max-width: 1024px) {
    .adop-familias {
      min-height: 860px;
    }

    .adop-familias::before {
      height: 270px;
    }

    .adop-familias-contenido {
      padding: 108px 6% 0;
    }

    .adop-familias-title {
      font-size: clamp(24px, 4.2vw, 38px) !important;
      line-height: 1.06 !important;
      max-width: 560px;
      margin-bottom: 10px !important;
    }

    .adop-familias-copy {
      font-size: clamp(13px, 1.8vw, 17px) !important;
      line-height: 1.32 !important;
      max-width: 620px !important;
    }

    .adop-circulos {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px 26px;
      padding: 38px 6% 44px;
      justify-items: center;
    }

    .adop-card-circulo {
      width: 100%;
      max-width: 300px;
      padding: 22px 16px 20px;
    }

    .adop-card-circulo:nth-child(3) {
      grid-column: 1 / -1;
      justify-self: center;
      max-width: 320px;
    }

    .adop-card-circulo img {
      width: min(62%, 150px);
      max-width: 150px;
      margin-bottom: 12px;
    }

    .adop-card-circulo h3 {
      min-height: auto;
      font-size: 15px;
      line-height: 1.12;
      margin-bottom: 10px;
    }

    .adop-card-circulo p {
      font-size: 12px;
      line-height: 1.35;
    }

    .adop-footer-redes {
      justify-content: space-between;
      align-items: flex-start;
      gap: 16px 24px;
    }

    .adop-footer-redes a {
      flex: 1 1 180px;
      min-width: 0;
    }
  }

  @media (max-width: 900px) {
    .adop-familias {
      background: #ffffff;
    }

    .adop-familias-contenido {
      padding: 26px 7% 20px !important;
      background: #7f47b8 !important;
    }

    .adop-familias-title {
      color: #ffffff !important;
      font-size: clamp(28px, 5.5vw, 42px) !important;
      line-height: 1.04 !important;
      font-weight: 900 !important;
      margin: 0 0 12px !important;
      text-align: center !important;
      max-width: 620px !important;
      letter-spacing: -.3px;
    }

    .adop-familias-copy {
      color: #ffffff !important;
      font-size: clamp(14px, 2.4vw, 18px) !important;
      line-height: 1.35 !important;
      font-weight: 700 !important;
      margin: 0 auto !important;
      max-width: 620px !important;
      text-align: center !important;
    }

    .adop-video-section {
      padding: 20px 14px 4px;
    }

    .adop-video-shell {
      padding: 14px;
      border-radius: 24px;
    }

    .adop-video-topbar {
      flex-direction: column;
      align-items: stretch;
    }

    .adop-video-actions {
      justify-content: stretch;
    }

    .adop-video-meta,
    .adop-video-action {
      width: 100%;
    }

    .adop-video-box {
      aspect-ratio: 16 / 9;
      min-height: 220px;
    }

    .adop-video-overlay {
      inset: auto 12px 12px 12px;
    }

    .adop-video-caption {
      max-width: 100%;
      padding: 14px;
    }

    .adop-video-title {
      text-align: left;
      font-size: 20px;
    }

    .adop-cartas-grid {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .adop-mano-section {
      margin-top: -4px;
      padding-top: 0;
    }

    .adop-footer-pdf {
      max-height: none;
      min-height: 220px;
    }

    .adop-footer-wrap {
      top: 0;
      padding: 0 20px;
    }

    .adop-footer-redes {
      gap: 14px 18px;
    }
  }

  @media (max-width: 650px) {
    .adop-familias-contenido {
      padding: 22px 6% 18px !important;
    }

    .adop-familias-title {
      font-size: clamp(22px, 6.4vw, 32px) !important;
      line-height: 1.08 !important;
      margin-bottom: 10px !important;
    }

    .adop-familias-copy {
      font-size: clamp(12px, 3.4vw, 15px) !important;
      line-height: 1.38 !important;
      max-width: 92% !important;
    }

    .adop-video-controls {
      gap: 8px;
      justify-content: center;
    }

    .adop-video-chip,
    .adop-video-meta,
    .adop-video-action,
    .adop-video-controls button {
      width: 100%;
      justify-content: center;
      padding: 8px 13px;
      font-size: 12px;
    }

    .adop-dots {
      order: -1;
      width: 100%;
      justify-content: center;
    }

    .adop-video-overlay {
      position: static;
      inset: auto;
      display: block;
      pointer-events: auto;
    }

    .adop-video-caption {
      max-width: 100%;
      border-radius: 0 0 24px 24px;
      background: linear-gradient(180deg, #2c348f 0%, #1d225f 100%);
    }

    .adop-mundo-content,
    .adop-requisitos-wrap,
    .adop-internacional-wrap {
      font-size: 12px;
    }

    .adop-footer-pdf {
      min-height: 240px;
    }

    .adop-footer-wrap {
      top: 0;
      padding: 0 16px;
    }

    .adop-footer-info {
      flex-direction: column;
      gap: 10px;
      align-items: stretch;
    }

    .adop-footer-item {
      flex: 0 0 auto;
      width: 100%;
    }

    .adop-footer-cta {
      display: flex;
      width: 100%;
      flex: none;
    }

    .adop-mano-section {
      margin-top: -2px;
      padding-top: 0;
    }

    .adop-footer-pdf h3 {
      font-size: 18px;
    }

    .adop-footer-pdf p,
    .adop-footer-pdf a {
      font-size: 12px;
    }

    .adop-footer-info {
      padding: 0;
    }

    .adop-footer-item p strong:first-child {
      font-size: 15px;
      line-height: 1.08;
      margin-bottom: 3px;
    }

    .adop-footer-redes {
      justify-content: flex-start;
      align-items: flex-start;
      flex-direction: column;
      gap: 12px;
    }

    .adop-footer-redes a {
      width: 100%;
      justify-content: flex-start;
      gap: 8px;
    }

    .adop-footer-icon {
      width: 18px;
      font-size: 22px;
    }

    .adop-footer-social-text {
      font-size: 11px;
    }

    .adop-modal {
      padding: 0;
      align-items: flex-end;
    }

    .adop-modal-dialog {
      width: 100%;
      max-height: 92vh;
      border-radius: 20px 20px 0 0;
      animation: adopModalUp .3s cubic-bezier(.32,.72,0,1);
    }

    .adop-modal-dialog::before {
      content: '';
      display: block;
      width: 44px;
      height: 5px;
      background: #ddd;
      border-radius: 3px;
      margin: 12px auto 4px;
    }

    .adop-modal-close {
      top: 8px;
      right: 12px;
      padding: 6px 12px;
      font-size: 12px;
    }

    .adop-modal-body {
      max-height: calc(92vh - 30px);
    }

    .adop-modal-body .adop-requisitos,
    .adop-modal-body .adop-internacional-texto {
      padding: 20px 18px 28px;
    }

    .adop-carta-modal-content {
      padding: 10px 10px 18px;
      align-items: center;
    }

    .adop-carta-modal-content img {
      width: auto;
      max-width: 100%;
      max-height: calc(92vh - 52px);
      min-width: 0;
      object-fit: contain;
    }
  }

  @media (max-width: 430px) {
    .adop-familias-contenido {
      padding: 20px 5% 16px !important;
    }

    .adop-familias-title {
      font-size: clamp(20px, 7vw, 26px) !important;
      margin-bottom: 8px !important;
    }

    .adop-familias-copy {
      font-size: clamp(11px, 3.6vw, 13px) !important;
      max-width: 96% !important;
    }

    .adop-circulos {
      gap: 22px;
      padding: 24px 6% 32px;
    }

    .adop-card-circulo h3 {
      font-size: 15px;
    }

    .adop-card-circulo p {
      font-size: 12px;
    }

    .adop-footer-pdf {
      min-height: 230px;
    }

    .adop-footer-wrap {
      top: -31px;
      padding: 0 14px;
    }

    .adop-footer-cta {
      font-size: 13px;
      padding: 10px 12px;
      gap: 8px;
      min-height: 44px;
    }

    .adop-footer-pdf h3 {
      font-size: 16px;
    }

    .adop-footer-pdf p,
    .adop-footer-pdf a {
      font-size: 11px;
    }

    .adop-footer-redes {
      gap: 10px 12px;
      flex-direction: row;
      flex-wrap: wrap;
    }

    .adop-footer-redes a {
      width: calc(50% - 6px);
      gap: 7px;
    }

    .adop-footer-redes a:last-child {
      width: 100%;
    }

    .adop-footer-icon {
      width: 16px;
      font-size: 20px;
    }

    .adop-footer-social-text {
      font-size: 10px;
    }

    .adop-carta-modal-content {
      padding: 8px 8px 16px;
    }

    .adop-carta-modal-content img {
      width: auto;
      max-width: 100%;
      max-height: calc(92vh - 44px);
      min-width: 0;
    }
  }

  /* ================= PORTADA DE VIDEO ================= */

  .adop-video-poster {
    position: absolute;
    inset: 0;
    cursor: pointer;
    z-index: 2;
    overflow: hidden;
    background: #121536;
  }

  .adop-video-poster img {
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover !important;
    object-position: center center;
    display: block;
  }

  .adop-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(60px, 8vw, 90px);
    height: clamp(60px, 8vw, 90px);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: transform .2s ease, filter .2s ease;
    filter: drop-shadow(0 4px 14px rgba(0,0,0,0.5));
  }

  .adop-play-btn:hover {
    transform: translate(-50%, -50%) scale(1.12);
    filter: drop-shadow(0 6px 20px rgba(0,0,0,0.7));
  }

  .adop-play-btn svg {
    width: 100%;
    height: 100%;
  }

  .adop-video-poster.hidden {
    display: none;
  }

  /* ================= ECOS DEL CORAZÓN - AUDIO ================= */

  .adop-ecos-wrap {
    position: relative;
  }

  .adop-ecos-btn {
    position: absolute;
    left: 53%;
    top: 13%;
    width: 21%;
    height: 20%;
    background: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: adopHeartbeat 1.3s ease-in-out infinite;
    transform-origin: center center;
  }

  /* anillo pulsante siempre visible sobre el corazón */
  .adop-ecos-pulse {
    position: absolute;
    inset: 10%;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.80);
    box-shadow: 0 0 18px rgba(255, 255, 255, 0.45),
                inset 0 0 10px rgba(255, 255, 255, 0.15);
    pointer-events: none;
    animation: adopHeartbeatRing 1.3s ease-in-out infinite;
  }

  /* anillo cambia color cuando está reproduciendo */
  .adop-ecos-btn.playing .adop-ecos-pulse {
    border-color: rgba(255, 200, 80, 0.95);
    box-shadow: 0 0 28px rgba(255, 190, 50, 0.65),
                inset 0 0 12px rgba(255, 200, 80, 0.25);
  }

  /* latido doble: golpe fuerte → rebote suave → pausa */
  @keyframes adopHeartbeat {
    0%,  100% { transform: scale(1);    }
    14%       { transform: scale(1.13); }
    28%       { transform: scale(1);    }
    42%       { transform: scale(1.07); }
    70%       { transform: scale(1);    }
  }

  @keyframes adopHeartbeatRing {
    0%,  100% { opacity: 0.30; transform: scale(0.94); }
    14%       { opacity: 0.95; transform: scale(1.10); }
    28%       { opacity: 0.30; transform: scale(0.94); }
    42%       { opacity: 0.70; transform: scale(1.05); }
    70%       { opacity: 0.30; transform: scale(0.94); }
  }


/* ============================================================
   CORRECCIÓN WORDPRESS - VIDEO / PORTADAS / MODALES
   Mantiene el diseño original, solo refuerza comportamiento visual.
   ============================================================ */
.adop-video-slide iframe,
.adop-video-slide video {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.adop-video-poster {
  z-index: 3;
}

.adop-video-poster.hidden,
.adop-video-slide.is-playing .adop-video-poster {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.adop-video-slide.is-playing iframe {
  z-index: 2;
}

.adop-video-prev,
.adop-video-next,
.adop-dot,
.adop-video-action,
.adop-video-poster,
.adop-play-btn {
  pointer-events: auto !important;
}

.adop-video-box.is-vertical {
  max-width: 400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.adop-video-box.is-horizontal {
  max-width: none !important;
}

.adop-modal-header[style*="contents"] .adop-modal-close,
.adop-modal-close {
  display: flex !important;
}


/* ================= FIX VIDEO UNO POR UNO ================= */
.adop-video-slide:not(.active) iframe {
  pointer-events: none;
}

.adop-video-slide.is-playing .adop-video-poster {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.adop-video-box iframe {
  background: #121536;
}

/* ============================================================
   FIX WORDPRESS V6 - YOUTUBE DINÁMICO SIN IFRAME EN HTML
   El JS crea el iframe al reproducir para evitar que WordPress lo elimine.
   ============================================================ */
.adop-video-slide iframe.adop-youtube-frame {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
  z-index: 2 !important;
  background: #121536 !important;
}

.adop-video-slide.is-playing .adop-youtube-frame {
  display: block !important;
  pointer-events: auto !important;
}

.adop-play-btn {
  background: rgba(0, 0, 0, 0.46) !important;
  border: 3px solid #ffffff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.adop-play-btn svg {
  display: none !important;
}

.adop-play-triangle,
.adop-play-btn::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  margin-left: 7px;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 24px solid #ffffff;
}

.adop-play-btn .adop-play-triangle + * {
  display: none !important;
}

.adop-video-slide.is-playing .adop-video-poster {
  display: none !important;
}
