/* Identidad exclusiva de la variante managed-default.
   Todo lo que sigue consume los tokens de site.css (--accent-*, --on-accent, --line...),
   de modo que cualquier paleta elegida en Apariencia funciona sin parches por paleta. */
body.variant-managed-default {
    --radius: 20px;
    --radius-btn: 10px;
    --shadow: 0 18px 42px rgba(38, 70, 52, .08);
    background: var(--bg);
}

/* Paleta de arranque de Managed (solo mientras esa paleta esta seleccionada). */
body.variant-managed-default.theme-infomedia {
    --bg: #f6f8f5;
    --bg-2: #edf2ed;
    --panel: #ffffff;
    --panel-border: #dce6df;
    --header-bg: rgba(250, 251, 248, .94);
    --header-ink: #1d352e;
    --header-link: #526b60;
    --header-link-hover: #416c5e;
    --ink: #20352d;
    --ink-soft: #52685c;
    --ink-dim: #5d7267;
    --cyan: #4e7969;
    --teal: #b98556;
    --violet: #7e9d88;
    --glow: none;
    --accent-text: #416c5e;
    --accent2-text: #8a5f37;
    --accent-solid: #4e7969;
    --accent-fill: #4e7969;
    --on-accent: #ffffff;
    --focus: #416c5e;
    --line: #dce6df;
    --line-strong: #bfd2c4;
}

body.variant-managed-default::after { content: none; }
body.variant-managed-default .site-header { backdrop-filter: blur(16px); }
body.variant-managed-default .brand { letter-spacing: -.035em; }
body.variant-managed-default .brand-icon { box-shadow: none; background: var(--bg-2); border: 0; }
body.variant-managed-default .brand-icon.is-wide { background: transparent; }
body.variant-managed-default nav.main-nav a { font-weight: 500; }
body.variant-managed-default h1,
body.variant-managed-default h2,
body.variant-managed-default h3 { letter-spacing: -.045em; }

/* Un unico lenguaje de boton en Managed: rectangulo suave, sin brillo. */
body.variant-managed-default .btn,
body.variant-managed-default .managed-button { border-radius: var(--radius-btn); }
body.variant-managed-default .btn-primary {
    background: var(--accent-solid);
    color: var(--on-accent);
    box-shadow: none;
}
body.variant-managed-default .btn-primary:hover {
    color: var(--on-accent);
    background: color-mix(in srgb, var(--accent-solid) 82%, var(--ink));
}
body.variant-managed-default .btn-ghost { border-color: var(--line-strong); }
body.variant-managed-default .card:hover { border-color: var(--line-strong); }
body.variant-managed-default .card .cover { background: var(--bg-2); }
body.variant-managed-default .featured-flag {
    background: var(--bg-2);
    border-color: var(--line);
    color: var(--accent-text);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
body.variant-managed-default .cookie-banner { box-shadow: 0 -8px 28px rgba(38, 70, 52, .08); }

.managed-hero { padding: var(--managed-section-pad) 0; }
.managed-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 5.5rem);
}
.managed-hero-copy { max-width: 580px; }
.managed-kicker, .managed-label {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: var(--accent-text);
    font-family: var(--font-ui);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.managed-kicker { margin-bottom: 1.55rem; }
.managed-kicker-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent2-text); }
.managed-hero h1 {
    max-width: 14ch;
    margin: 0 0 1.3rem;
    color: var(--ink);
    font-size: clamp(3rem, 5.6vw, 5.4rem);
    font-weight: 600;
    line-height: 1.07;
}
.managed-hero-copy > p {
    max-width: 42ch;
    margin: 0;
    color: var(--ink-soft);
    font-size: clamp(1.05rem, 1.8vw, 1.2rem);
    line-height: 1.75;
}
.managed-actions { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; margin-top: 2rem; }
.managed-button {
    display: inline-flex;
    align-items: center;
    gap: 1.7rem;
    min-height: 52px;
    padding: .7rem 1.2rem .7rem 1.4rem;
    border-radius: var(--radius-btn);
    background: var(--accent-solid);
    color: var(--on-accent);
    font-family: var(--font-ui);
    font-size: .95rem;
    font-weight: 600;
    transition: background .2s, transform .2s, color .2s;
}
.managed-button:hover {
    color: var(--on-accent);
    background: color-mix(in srgb, var(--accent-solid) 82%, var(--ink));
    transform: translateY(-2px);
}
.managed-button span { font-size: 1.15rem; font-weight: 400; transition: transform .2s var(--ease); }
.managed-button:hover span { transform: translate(2px, -2px); }
body.variant-managed-default .managed-actions .managed-button-secondary {
    border: 1px solid var(--accent-solid);
    background: transparent;
    color: var(--accent-text);
}
body.variant-managed-default .managed-actions .managed-button-secondary:hover {
    background: var(--accent-solid);
    color: var(--on-accent);
}
.managed-hero-art {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--bg-2);
    box-shadow: 0 28px 70px rgba(43, 75, 58, .11);
}
.managed-hero-art img { display: block; width: 100%; height: auto; }
.managed-hero-cover .managed-hero-grid {
    display: flex;
    justify-content: center;
    width: 100%;
}
.managed-hero-cover .managed-hero-copy {
    max-width: 800px;
    text-align: center;
}
.managed-hero-cover h1 {
    max-width: 19ch;
    margin-inline: auto;
    color: var(--hero-cover-ink);
}
.managed-hero-cover .managed-kicker,
.managed-hero-cover .managed-hero-copy > p { color: var(--hero-cover-ink); }
.managed-hero-cover .managed-hero-copy > p { margin-inline: auto; }
.managed-hero-cover .managed-kicker-dot { background: currentColor; }
.managed-hero-cover .managed-actions { justify-content: center; margin-top: 2rem; }
.managed-hero-cover .managed-actions .managed-button {
    border: 1px solid var(--hero-cover-button);
    background: var(--hero-cover-button);
    color: var(--hero-cover-button-ink);
}
.managed-hero-cover .managed-actions .managed-button:hover {
    background: var(--hero-cover-ink);
    color: var(--hero-cover-button-ink);
}
body.variant-managed-default .managed-hero-cover .managed-actions .managed-button-secondary {
    border-color: var(--hero-cover-ink);
    background: transparent;
    color: var(--hero-cover-ink);
}
body.variant-managed-default .managed-hero-cover .managed-actions .managed-button-secondary:hover {
    background: var(--hero-cover-button);
    color: var(--hero-cover-button-ink);
}
/* Con terminal, el marco de la ilustracion desaparece: el panel de cristal es el objeto. */
.managed-hero-art.managed-hero-art-terminal {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.managed-latest h2, .managed-feature h2 {
    margin: .8rem 0 0;
    color: var(--ink);
    font-size: clamp(2rem, 3.4vw, 3.05rem);
    font-weight: 600;
    line-height: 1.18;
}
.managed-latest { padding: var(--managed-section-pad) 0; }
.managed-section-head { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; margin-bottom: 1.25rem; }
.managed-section-head h2 { max-width: 20ch; }
.managed-text-link { position: relative; color: var(--accent-text); font-weight: 600; white-space: nowrap; }
.managed-text-link:hover { color: color-mix(in srgb, var(--accent-text) 78%, var(--ink)); }
.managed-text-link span { display: inline-block; transition: transform .2s var(--ease); }
.managed-text-link:hover span { transform: translate(2px, -2px); }
.managed-empty {
    display: flex;
    align-items: center;
    gap: 1.3rem;
    min-height: 180px;
    padding: 2rem;
    border: 1px dashed var(--line-strong);
    border-radius: 18px;
    background: var(--panel);
    color: var(--ink-soft);
}
.managed-empty p { margin: 0; }
.managed-empty-icon {
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    flex: 0 0 auto;
    border-radius: 16px;
    background: var(--bg-2);
    color: var(--accent-text);
    font-size: 1.9rem;
}

/* Bloque de mensaje configurable (managed-feature). */
.managed-feature { padding: var(--managed-section-pad) 0; background: var(--bg-2); }
.managed-feature-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
    padding: clamp(.5rem, 1vw, 1rem) 0;
    border-top: 1px solid var(--line-strong);
    color: var(--ink);
}
.managed-feature-card.has-photo { grid-template-columns: minmax(200px, .65fr) minmax(0, 1fr); }
.managed-feature-copy { max-width: 660px; }
.managed-feature h2 { max-width: 22ch; font-size: clamp(2rem, 3.4vw, 3.05rem); }
.managed-feature p { margin: 1rem 0 0; color: var(--ink-soft); line-height: 1.75; }
.managed-feature-photo { display: block; width: 100%; max-height: 310px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.managed-feature p .managed-button { margin-top: .75rem; }

/* Entrada suave del hero (respeta reduced-motion mas abajo). */
.managed-hero-copy > * { animation: hero-in .7s var(--ease) both; }
.managed-hero-copy > :nth-child(2) { animation-delay: .06s; }
.managed-hero-copy > :nth-child(3) { animation-delay: .12s; }
.managed-hero-copy > :nth-child(4) { animation-delay: .18s; }
.managed-hero-art { animation: hero-in .8s .1s var(--ease) both; }
@media (prefers-reduced-motion: reduce) {
    .managed-hero-copy > *, .managed-hero-art { animation: none !important; }
    .managed-button, .managed-button span, .managed-text-link span { transition: none; }
}

@media (max-width: 800px) {
    .managed-hero-grid { grid-template-columns: 1fr; }
    .managed-hero h1 { max-width: 17ch; }
    .managed-hero-cover h1 { max-width: 19ch; }
    .managed-hero-art { max-width: 620px; }
}
@media (max-width: 560px) {
    .managed-hero { padding-top: var(--managed-section-pad); }
    .managed-hero-cover { padding-block: var(--managed-section-pad); min-height: 560px; }
    .managed-hero h1 { font-size: clamp(2.8rem, 10vw, 4rem); }
    .managed-section-head { display: block; }
    .managed-text-link { display: inline-block; margin-top: 1rem; }
    .managed-feature-card.has-photo { grid-template-columns: 1fr; }
    .managed-empty { align-items: flex-start; }
    .managed-button { width: 100%; justify-content: space-between; }
    .managed-hero-cover .managed-actions { width: 100%; }
}

/* Hero editorial (foto a fondo): velo en degradado, texto a la izquierda y tarjeta de novedad. */
.managed-hero-cover.managed-hero-editorial {
    --hero-fresh-bg: rgba(255, 255, 255, .14);
    --hero-fresh-border: rgba(255, 255, 255, .32);
    --hero-fresh-dot: currentColor;
    align-items: center;
    min-height: clamp(500px, 44vw, 620px);
    padding-block: var(--managed-section-pad);
}
.managed-hero-cover.managed-hero-editorial.hero-cover-white {
    --hero-fresh-bg: rgba(255, 255, 255, .82);
    --hero-fresh-border: rgba(23, 32, 24, .14);
    --hero-fresh-dot: var(--accent2-text);
}
@supports (color: color-mix(in srgb, red 50%, transparent)) {
    .managed-hero-cover.managed-hero-editorial::before {
        background:
            linear-gradient(90deg, var(--hero-overlay-color) 0%, color-mix(in srgb, var(--hero-overlay-color) 68%, transparent) 48%, color-mix(in srgb, var(--hero-overlay-color) 14%, transparent) 100%),
            linear-gradient(0deg, color-mix(in srgb, var(--hero-overlay-color) 55%, transparent), transparent 45%);
    }
}
.managed-hero-editorial .managed-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 400px);
    align-items: end;
    justify-content: stretch;
    gap: clamp(1.5rem, 4vw, 3rem);
}
.managed-hero-editorial .managed-hero-copy { max-width: 620px; text-align: left; }
.managed-hero-editorial h1 {
    max-width: 13ch;
    margin: 0 0 1.1rem;
    font-size: clamp(2.6rem, 5vw, 4.4rem);
    line-height: 1.05;
}
.managed-hero-editorial .managed-hero-copy > p { max-width: 46ch; margin-inline: 0; }
.managed-hero-editorial .managed-actions { justify-content: flex-start; gap: 1.75rem; margin-top: 1.9rem; }
.managed-hero-editorial .managed-actions .managed-button { justify-content: center; gap: 0; padding-inline: 2rem; }
body.variant-managed-default .managed-hero-editorial .managed-actions .managed-button-secondary,
body.variant-managed-default .managed-hero-editorial .managed-actions .managed-button-secondary:hover {
    min-height: 0;
    gap: .45rem;
    padding: 0 0 .25rem;
    border: 0;
    border-bottom: 1.5px solid currentColor;
    border-radius: 0;
    background: transparent;
    color: var(--hero-cover-ink);
}
body.variant-managed-default .managed-hero-editorial .managed-actions .managed-button-secondary:hover { opacity: .8; }

.hero-fresh {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    padding: .85rem;
    border: 1px solid var(--hero-fresh-border);
    border-radius: 18px;
    background: var(--hero-fresh-bg);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .18);
    color: var(--hero-cover-ink);
    text-decoration: none;
    animation: hero-in .8s .25s var(--ease) both;
    transition: box-shadow .2s var(--ease);
}
.hero-fresh:hover { color: var(--hero-cover-ink); box-shadow: 0 24px 60px rgba(0, 0, 0, .3); }
.hero-fresh:focus-visible { outline: 2px solid var(--hero-cover-ink); outline-offset: 3px; }
.hero-fresh-cover { flex: 0 0 auto; width: 96px; height: 96px; border-radius: 12px; object-fit: cover; }
.hero-fresh-body { display: grid; min-width: 0; gap: .3rem; }
.hero-fresh-tag {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--font-ui);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.hero-fresh-dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--hero-fresh-dot); }
.hero-fresh-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    font-family: var(--font-heading);
    font-size: 1.12rem;
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.28;
}
.hero-fresh-meta {
    overflow: hidden;
    font-family: var(--font-ui);
    font-size: .8rem;
    opacity: .85;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@keyframes hero-fresh-pulse {
    0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--hero-fresh-dot) 55%, transparent); }
    70%, 100% { box-shadow: 0 0 0 9px transparent; }
}
@media (prefers-reduced-motion: no-preference) {
    .hero-fresh.is-recent .hero-fresh-dot { animation: hero-fresh-pulse 2.4s infinite; }
}
@media (prefers-reduced-motion: reduce) {
    .hero-fresh { animation: none !important; transition: none; }
}

/* Carrusel de temas como banda compacta (tras las publicaciones). */
.home-topics-band { padding: var(--managed-section-pad) 0; }
.home-topics-band .home-topics-frame {
    display: grid;
    grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 1.75rem;
    padding: 1rem clamp(1rem, 3vw, 1.75rem);
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--bg-2);
}
.home-topics-band.is-single .home-topics-frame {
    grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr);
}.home-topics-band .home-topics-topline { display: contents; }
.home-topics-band .home-topics-label { grid-column: 1; grid-row: 1; }
.home-topics-band .home-topics-track { grid-column: 2; grid-row: 1; min-width: 0; }
.home-topics-band .home-topics-controls { grid-column: 3; grid-row: 1; }
.home-topics-band .home-topics-slide,
.home-topics-band .home-topics-slide.has-number { display: block; min-height: 0; padding: .15rem 0; }
.home-topics-band .home-topics-number { display: none; }
.home-topics-band .home-topics-slide h2 { margin: 0; font-size: 1.2rem; line-height: 1.25; }
.home-topics-band .home-topics-slide p {
    overflow: hidden;
    margin-top: .2rem;
    font-size: .94rem;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.home-topics-band .home-topics-link { margin-top: .35rem; font-size: .82rem; }
.home-topics-band .home-topics-controls button { width: 36px; height: 36px; }

@media (max-width: 800px) {
    .managed-hero-cover.managed-hero-editorial { min-height: 520px; padding-block: var(--managed-section-pad); }
    .managed-hero-editorial .managed-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
    .managed-hero-editorial h1 { max-width: 12ch; font-size: clamp(2.4rem, 9vw, 3.4rem); }
    .hero-fresh-cover { width: 72px; height: 72px; }
    .hero-fresh-title { font-size: 1rem; }
}
@supports (color: color-mix(in srgb, red 50%, transparent)) {
    @media (max-width: 800px) {
        .managed-hero-cover.managed-hero-editorial::before {
            background: linear-gradient(0deg, var(--hero-overlay-color) 0%, color-mix(in srgb, var(--hero-overlay-color) 80%, transparent) 55%, color-mix(in srgb, var(--hero-overlay-color) 28%, transparent) 100%);
        }
    }
}
@media (max-width: 700px) {
    .home-topics-band .home-topics-frame { grid-template-columns: minmax(0, 1fr) auto; row-gap: .6rem; }
    .home-topics-band.is-single .home-topics-frame { grid-template-columns: minmax(0, 1fr); }
    .home-topics-band.is-single .home-topics-label { grid-column: 1; }
    .home-topics-band .home-topics-track { grid-column: 1 / -1; grid-row: 2; }
    .home-topics-band .home-topics-controls { grid-column: 2; }
    .home-topics-band .home-topics-slide p { white-space: normal; -webkit-line-clamp: 2; line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; }
}
@media (max-width: 560px) {
    .managed-hero-cover.managed-hero-editorial { min-height: 520px; padding-block: var(--managed-section-pad); }
    .managed-hero-editorial .managed-actions { flex-direction: column; align-items: stretch; gap: 1.1rem; }
    .managed-hero-editorial .managed-actions .managed-button { width: 100%; justify-content: center; }
    body.variant-managed-default .managed-hero-editorial .managed-actions .managed-button-secondary { width: auto; align-self: center; }
}

@media (min-width: 761px) {
    body.variant-managed-default .managed-latest .card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    body.variant-managed-default .managed-latest .card-grid-featured > .card:first-child:not(:only-child) {
        grid-column: auto;
        display: flex;
    }
    body.variant-managed-default .managed-latest .card-grid-featured > .card:first-child:not(:only-child) .cover {
        aspect-ratio: 16 / 9;
        min-height: 0;
    }
}
@media (max-width: 760px) {
    body.variant-managed-default .managed-latest .card-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
.managed-subscribe { padding: var(--managed-section-pad) 0; background: var(--bg-2); }
.managed-subscribe-card {
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid var(--line-strong);
    border-radius: 20px;
    background: var(--panel);
}
.managed-subscribe h2, .managed-categories h2 {
    margin: .6rem 0 0;
    color: var(--ink);
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    line-height: 1.2;
}
.managed-subscribe-copy > p { max-width: 54ch; margin: .7rem 0 1.5rem; color: var(--ink-soft); }
.managed-subscribe-form { display: flex; gap: .75rem; max-width: 620px; }
.managed-subscribe-form input[type="email"] {
    min-width: 0;
    flex: 1;
    min-height: 52px;
    padding: .75rem 1rem;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-btn);
    background: var(--panel);
    color: var(--ink);
    font: inherit;
}
.managed-subscribe-form input[type="email"]::placeholder { color: var(--ink-soft); opacity: 1; }
.managed-subscribe .privacy-first-layer { margin: 1rem 0 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.6; }
.managed-subscribe .privacy-first-layer a { color: var(--accent-text); text-decoration: underline; }
.managed-subscribe .contact-status { margin-bottom: 1rem; }
.managed-categories { padding: var(--managed-section-pad) 0; }
.managed-categories-head { margin-bottom: 1.35rem; }
.managed-category-chips { display: flex; flex-wrap: wrap; gap: .75rem; }
.managed-category-chip {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    padding: .65rem .85rem;
    border: 1px solid var(--line-strong);
    border-radius: 999px;
    background: var(--panel);
    color: var(--ink);
    text-decoration: none;
}
.managed-category-chip:hover { color: var(--accent-text); border-color: var(--accent-solid); }
.managed-category-chip strong {
    min-width: 1.5rem;
    padding: .15rem .35rem;
    border-radius: 999px;
    background: var(--bg-2);
    color: var(--ink-soft);
    font-size: .75rem;
    text-align: center;
}
@media (max-width: 560px) {
    .managed-subscribe-form { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .managed-category-chip, .managed-subscribe .managed-button { transition: none; }
}
.managed-home { --managed-section-pad: clamp(1.5rem, 4vw, 3rem); }
.managed-home > .home-topics { padding-block: var(--managed-section-pad); }
.managed-home > :is(.managed-hero:not(.managed-hero-cover), .managed-latest, .managed-categories, .home-topics)
    + :is(.managed-latest, .managed-categories, .home-topics) { padding-top: 0; }
.managed-home > :is(.managed-subscribe, .managed-feature)
    + :is(.managed-subscribe, .managed-feature) { padding-top: 0; }
.managed-section-footer { display: flex; justify-content: flex-end; margin-top: 1.25rem; }
.managed-section-footer .managed-text-link { margin-top: 0; }
@media (max-width: 560px) {
    .managed-feature-photo { max-height: 220px; aspect-ratio: 16 / 9; }
}