.elementor .ieh-elementor-native.ieh-pip-page {
    --pip-ink: #0b2e25;
    --pip-green: #11482f;
    --pip-sage: #c7d5c1;
    --pip-paper: #fcfbf8;
    --pip-line: #dee2db;
    color: var(--pip-ink);
    background: var(--pip-paper);
    font-family: "Source Sans 3", sans-serif;
    width: 100%;
    max-width: none;
    gap: 0;
    padding: 0;
}

.ieh-pip-page *, .ieh-pip-player * { box-sizing: border-box; }
.ieh-pip-page ::selection, .ieh-pip-player ::selection { background: #c7d5c1; color: #0b2e25; }
.elementor .ieh-pip-page .e-con { min-width: 0; }
.elementor .ieh-pip-page .ieh-pip-section.e-con { width: 100%; max-width: none; padding: 64px 0; gap: 0; }
.elementor .ieh-pip-page .ieh-pip-section:first-child { padding-top: 48px; }
.elementor .ieh-pip-page .ieh-pip-shell.e-con { width: calc(100% - 80px); max-width: 1120px; margin-inline: auto; padding: 0; gap: 24px; }
.elementor .ieh-pip-page .ieh-pip-intro.e-con { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: end; gap: 40px 72px; }
.elementor .ieh-pip-page .ieh-pip-intro > .e-con { width: 100%; padding: 0; }
.elementor .ieh-pip-page .ieh-pip-intro > .elementor-element { min-width: 0; }
.elementor .ieh-elementor-native.ieh-pip-page .ieh-pip-title .elementor-heading-title {
    color: #0b2e25 !important;
    font-family: "DM Serif Display", serif !important;
    font-size: clamp(40px, 4.5vw, 64px) !important;
    font-weight: 400 !important;
    line-height: 1.04 !important;
    letter-spacing: -.025em !important;
    max-width: 19ch;
    text-wrap: balance;
    margin: 0;
}
.elementor .ieh-elementor-native.ieh-pip-page .ieh-pip-heading .elementor-heading-title {
    color: #0b2e25 !important;
    font-family: "DM Serif Display", serif !important;
    font-size: clamp(30px, 3vw, 42px) !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
    text-wrap: balance;
    margin: 0;
}
.elementor .ieh-pip-page .ieh-pip-lead { color: #214c3e; font-size: 21px; line-height: 1.5; max-width: 48ch; }
.elementor .ieh-pip-page .ieh-pip-body { color: #214c3e; font-size: 18px; line-height: 1.6; max-width: 68ch; }
.elementor .ieh-pip-page .ieh-pip-lead p, .elementor .ieh-pip-page .ieh-pip-body p { margin: 0 0 .85em; }
.elementor .ieh-pip-page .ieh-pip-lead p:last-child, .elementor .ieh-pip-page .ieh-pip-body p:last-child { margin-bottom: 0; }
.elementor .ieh-pip-page .ieh-pip-illustration { width: 100%; margin: 0; }
.elementor .ieh-pip-page .ieh-pip-illustration .elementor-widget-container { line-height: 0; }
.elementor .ieh-pip-page .ieh-pip-illustration img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 0; }
.elementor .ieh-pip-page .ieh-pip-route.e-con { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; padding: 48px 0; border-top: 1px solid #dee2db; }
.elementor .ieh-pip-page .ieh-pip-route > .e-con { width: 100%; padding: 0; }
.elementor .ieh-pip-page .ieh-pip-route-copy.e-con { gap: 20px; align-items: flex-start; }
.elementor .ieh-pip-page .ieh-pip-route-image img { width: 100%; height: auto; max-height: 460px; object-fit: contain; border-radius: 0; }
.elementor .ieh-pip-page .ieh-pip-route--reverse .ieh-pip-route-image { order: -1; }
.elementor .ieh-pip-page .ieh-pip-routes.e-con { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.elementor .ieh-pip-page .ieh-pip-routes > .ieh-pip-route.e-con { display: flex; flex-direction: column; width: 100%; padding: 24px 0; gap: 24px; }
.elementor .ieh-pip-page .ieh-pip-actions.e-con { flex-direction: row; flex-wrap: wrap; gap: 16px 24px; align-items: center; padding: 0; width: 100%; }
.elementor .ieh-pip-page .ieh-pip-primary .elementor-button { color: #fcfbf8 !important; background: #11482f !important; border: 1px solid #11482f; padding: 14px 24px; border-radius: 5px; font-family: "Source Sans 3", sans-serif !important; font-size: 17px; font-weight: 600; line-height: 1.3; text-decoration: none; }
.elementor .ieh-pip-page .ieh-pip-primary .elementor-button:hover { background: #0b2e25 !important; border-color: #0b2e25; }
.elementor .ieh-pip-page .ieh-pip-link .elementor-button { color: #11482f !important; background: transparent !important; padding: 8px 0; border: 0; border-radius: 0; font-family: "Source Sans 3", sans-serif !important; font-size: 17px; font-weight: 600; line-height: 1.3; text-decoration: underline; text-underline-offset: .2em; }
.elementor .ieh-pip-page .ieh-pip-link .elementor-button:hover { color: #0b2e25 !important; text-decoration-thickness: 2px; }
.elementor .ieh-pip-page a:focus-visible, .ieh-pip-player :is(button, a, iframe):focus-visible { outline: 3px solid #2f6a54; outline-offset: 4px; }
.elementor .ieh-pip-page .ieh-pip-note { color: #35584a; font-size: 16px; line-height: 1.5; max-width: 68ch; }
.elementor .ieh-pip-page .ieh-pip-breadcrumb { color: #35584a; font-size: 16px; line-height: 1.5; }
.elementor .ieh-pip-page .ieh-pip-breadcrumb a { color: #11482f; text-decoration: underline; text-underline-offset: .2em; }
.elementor .ieh-pip-page .elementor-widget-shortcode { width: 100%; }

/* Project-led hub: keep the explanation and choices in one reading group. */
.elementor .ieh-pip-hub .ieh-pip-hero.e-con {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    align-items: center;
    gap: 48px;
}
.elementor .ieh-pip-hub .ieh-pip-hero-copy.e-con {
    width: 100%;
    padding: 0;
    gap: 24px;
    align-items: flex-start;
}
.elementor .ieh-pip-hub .ieh-pip-intro-copy.e-con { width: 100%; padding: 0; gap: 14px; }
.elementor .ieh-pip-hub .ieh-pip-character { width: 100%; max-width: 480px !important; justify-self: center; }
.elementor .ieh-pip-hub .ieh-pip-character img { display: block; width: 100%; height: auto; object-fit: contain; }
.elementor .ieh-pip-hub .ieh-pip-section:first-child { padding-bottom: 24px; }
.elementor .ieh-pip-hub .ieh-pip-section:nth-child(2) { padding-top: 24px; padding-bottom: 40px; }
.elementor .ieh-pip-hub .ieh-pip-section:last-child { padding-top: 8px; padding-bottom: 48px; }
.elementor .ieh-pip-hub .ieh-pip-routes > .ieh-pip-route.e-con { padding-bottom: 8px; }
.elementor .ieh-pip-hub .ieh-pip-link .elementor-button { min-height: 44px; display: inline-flex; align-items: center; }
.elementor .ieh-resource-library #recursos-murcielagos .ieh-pip-resource-art img {
    width: 100%;
    height: auto;
    max-height: 300px;
    object-fit: contain;
}

.ieh-pip-player { color: #0b2e25; font-family: "Source Sans 3", sans-serif; width: 100%; max-width: 100%; }
.ieh-pip-player [hidden] { display: none !important; }
.ieh-pip-player__stage { position: relative; border: 1px solid #dee2db; background: #f9f7f4; min-height: 280px; }
.ieh-pip-player__launch { min-height: 280px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; text-align: center; padding: 40px 24px; }
.ieh-pip-player__launch p { color: #214c3e; font-size: 18px; line-height: 1.5; max-width: 54ch; margin: 0; }
.ieh-pip-player__launch .ieh-pip-player__invitation { font-family: "DM Serif Display", serif; color: #0b2e25; font-size: clamp(26px, 3vw, 34px); line-height: 1.15; letter-spacing: -.02em; text-wrap: balance; }
.ieh-pip-player button { font-family: "Source Sans 3", sans-serif; font-size: 16px; font-weight: 600; line-height: 1.3; cursor: pointer; border-radius: 5px; box-shadow: none; }
.ieh-pip-player .ieh-pip-player__load { color: #fcfbf8; background: #11482f; border: 1px solid #11482f; padding: 13px 23px; margin-top: 4px; }
.ieh-pip-player .ieh-pip-player__load:hover { background: #0b2e25; border-color: #0b2e25; }
.ieh-pip-player__frame { display: block; border: 0; width: 100%; height: 82vh; height: 82svh; min-height: 540px; background: #fcfbf8; }
.ieh-pip-player--quiz .ieh-pip-player__frame { height: 88vh; height: 88svh; min-height: 680px; max-height: 90svh; }
.ieh-pip-player.is-auto-sized:not(:fullscreen) .ieh-pip-player__stage { min-height: 0; }
.ieh-pip-player.is-auto-sized:not(:fullscreen) .ieh-pip-player__frame { height: var(--pip-frame-height); min-height: 0; max-height: none; }
.ieh-pip-player__toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-top: 18px; }
.ieh-pip-player .ieh-pip-player__fullscreen, .ieh-pip-player .ieh-pip-player__retry { color: #11482f; background: transparent; border: 1px solid #a6b7a7; padding: 10px 16px; }
.ieh-pip-player .ieh-pip-player__fullscreen:hover, .ieh-pip-player .ieh-pip-player__retry:hover { color: #0b2e25; background: #e7ede3; border-color: #11482f; }
.ieh-pip-player button:disabled { color: #53685c; background: #f3f4ef; border-color: #dee2db; cursor: not-allowed; }
.ieh-pip-player__direct { color: #11482f !important; font-size: 16px; line-height: 1.4; font-weight: 600; text-decoration: underline !important; text-underline-offset: .2em; }
.ieh-pip-player__direct:hover { color: #0b2e25 !important; text-decoration-thickness: 2px !important; }
.ieh-pip-player .ieh-pip-player__mobile-note, .ieh-pip-player .ieh-pip-player__status { color: #35584a; font-size: 15px; line-height: 1.5; max-width: 78ch; margin: 12px 0 0; }
.ieh-pip-player .ieh-pip-player__status { min-height: 1.5em; }
.ieh-pip-player__mobile-note { display: none; }
.ieh-pip-player--unavailable { padding-block: 24px; border-block: 1px solid #dee2db; }
.ieh-pip-player--unavailable p { margin: 0; font-size: 18px; }
.ieh-pip-player:fullscreen { display: flex; flex-direction: column; width: 100vw; height: 100dvh; max-height: none; padding: 12px; background: #fcfbf8; overflow: hidden; }
.ieh-pip-player:fullscreen .ieh-pip-player__stage { flex: 1 1 auto; min-height: 0; overflow: hidden; }
.ieh-pip-player:fullscreen .ieh-pip-player__frame { height: 100%; min-height: 0; max-height: none; }
.ieh-pip-player:fullscreen .ieh-pip-player__toolbar { flex: 0 0 auto; padding-top: 10px; }
.ieh-pip-player:fullscreen .ieh-pip-player__status { flex: 0 0 auto; margin-top: 8px; }
.ieh-pip-player:fullscreen .ieh-pip-player__mobile-note { display: none; }

@media (max-width: 900px) {
    .elementor .ieh-pip-page .ieh-pip-intro.e-con { gap: 32px; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
    .elementor .ieh-pip-page .ieh-pip-route.e-con { gap: 32px; }
    .elementor .ieh-pip-hub .ieh-pip-hero.e-con { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .elementor .ieh-pip-hub .ieh-pip-character { max-width: 360px !important; }
}

@media (max-width: 640px) {
    .elementor .ieh-pip-page .ieh-pip-section.e-con { padding-block: 40px; }
    .elementor .ieh-pip-page .ieh-pip-section:first-child { padding-top: 32px; }
    .elementor .ieh-pip-page .ieh-pip-shell.e-con { width: calc(100% - 40px); gap: 24px; }
    .elementor .ieh-pip-page .ieh-pip-intro.e-con, .elementor .ieh-pip-page .ieh-pip-route.e-con { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .elementor .ieh-pip-page .ieh-pip-route.e-con { padding-block: 32px; }
    .elementor .ieh-pip-page .ieh-pip-routes.e-con { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .elementor .ieh-pip-page .ieh-pip-route--reverse .ieh-pip-route-image { order: 0; }
    .elementor .ieh-elementor-native.ieh-pip-page .ieh-pip-title .elementor-heading-title { font-size: clamp(37px, 10vw, 48px) !important; }
    .elementor .ieh-pip-page .ieh-pip-lead { font-size: 19px; }
    .elementor .ieh-pip-page .ieh-pip-body { font-size: 17px; }
    .elementor .ieh-pip-page .ieh-pip-actions.e-con { align-items: stretch; }
    .elementor .ieh-pip-page .ieh-pip-route-image img { max-height: 340px; }
    .elementor .ieh-pip-hub .ieh-pip-hero-copy.e-con { gap: 20px; }
    .elementor .ieh-pip-hub .ieh-pip-intro-copy.e-con { gap: 12px; }
    .elementor .ieh-pip-hub .ieh-pip-character { max-width: 300px !important; }
    .elementor .ieh-pip-hub .ieh-pip-section:first-child { padding-bottom: 8px; }
    .elementor .ieh-pip-hub .ieh-pip-section:nth-child(2) { padding-top: 8px; padding-bottom: 24px; }
    .elementor .ieh-pip-hub .ieh-pip-section:last-child { padding-top: 8px; padding-bottom: 32px; }
    .elementor .ieh-resource-library #recursos-murcielagos .ieh-pip-resource-art img { max-height: 260px; }
    .ieh-pip-player__stage, .ieh-pip-player__launch { min-height: 260px; }
    .ieh-pip-player__launch { padding: 30px 20px; gap: 16px; }
    .ieh-pip-player__launch p { font-size: 17px; }
    .ieh-pip-player__frame { height: 78vh; height: 78svh; min-height: 500px; }
    .ieh-pip-player--quiz .ieh-pip-player__frame { height: 88vh; height: 88svh; min-height: 620px; max-height: none; }
    .ieh-pip-player__toolbar { gap: 16px; }
    .ieh-pip-player__direct { flex: 1 1 100%; }
    .ieh-pip-player__mobile-note { display: block; }
    .ieh-pip-player:fullscreen .ieh-pip-player__frame { height: 100%; min-height: 0; }
    .ieh-pip-player:fullscreen .ieh-pip-player__direct { flex: 0 1 auto; font-size: 14px; }
    .ieh-pip-player:fullscreen .ieh-pip-player__toolbar { gap: 8px 14px; }
    .ieh-pip-player:fullscreen .ieh-pip-player__status { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
    .ieh-pip-page *, .ieh-pip-player * { scroll-behavior: auto !important; }
}
