/*
 Theme Name:   MarketAtlas Theme
 Theme URI:    https://marketatlas.es
 Description:  Tema hijo de Hello Elementor para MarketAtlas. Paleta calida beige/crema.
 Author:       MarketAtlas
 Author URI:   https://marketatlas.es
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  marketatlas-theme
*/

/* ==========================================================================
   VARIABLES GLOBALES - Override de Elementor
   ========================================================================== */

:root {
    --e-global-color-primary: #166534 !important;
    --e-global-color-secondary: #6B7280 !important;
    --e-global-color-text: #111827 !important;
    --e-global-color-accent: #B45309 !important;

    /* Variables custom MarketAtlas */
    --ma-bg-primary: #FAF7F2;
    --ma-bg-secondary: #F3EDE3;
    --ma-bg-card: #FFFFFF;
    --ma-bg-footer: #1A1A2E;
    --ma-text-heading: #111827;
    --ma-text-body: #374151;
    --ma-text-secondary: #6B7280;
    --ma-text-footer: #E5E7EB;
    --ma-green: #166534;
    --ma-green-hover: #14532D;
    --ma-gold: #B45309;
    --ma-border: #E5E7EB;
    --ma-border-input: #D1D5DB;
    --ma-ruptura: #991B1B;
    --ma-seguimiento: #1E40AF;

    /* Variables adicionales para eliminar colores hardcoded */
    --ma-white: #FFFFFF;
    --ma-bg-registrado: #DCFCE7;
    --ma-bg-premium: #FEF3C7;
    --ma-bg-premium-soft: #FFFBEB;
    --ma-gold-hover: #92400E;
}

/* ==========================================================================
   FONDOS - Reemplazo de tema oscuro a tema claro
   ========================================================================== */

/* #1C1F26 → #FAF7F2 (fondo principal) */
body.elementor-default,
body.elementor-page,
body.elementor-kit-6 {
    background-color: #FAF7F2 !important;
}

.elementor-section,
.elementor-element,
.elementor-container {
    /* Solo donde tenian #1C1F26 hardcoded */
}

[style*="background-color"] {
    /* Dejamos que los overrides especificos actuen */
}

/* Selectores con fondo #1C1F26 / #16191F identificados en el analisis */
.elementor-element .elementor-widget-container,
.elementor-section > .elementor-container {
    /* Hereda del body */
}

/* Secciones con fondo oscuro hardcoded */
.elementor-section[data-settings],
.elementor-element[data-element_type="section"] {
    /* Override via clases especificas abajo */
}

/* ==========================================================================
   OVERRIDES POR COLOR HARDCODED
   Cada bloque reemplaza un color oscuro por su equivalente claro
   ========================================================================== */

/* --- #1C1F26 → #FAF7F2 (fondo principal body/contenedores raiz) --- */
.elementor-element-46abe31,
.elementor-element-46abe31 > .elementor-container,
body.elementor-page {
    background-color: var(--ma-bg-primary) !important;
}

/* Override general: cualquier background #1C1F26 inline */
.elementor-section.elementor-section-full_width,
.elementor-section.elementor-section-boxed {
    background-color: var(--ma-bg-primary) !important;
}

/* --- #23272F → #F3EDE3 (fondo secundario secciones) --- */
.elementor-element-4282a7a,
.elementor-element-4282a7a > .elementor-container {
    background-color: var(--ma-bg-secondary) !important;
}

/* --- #2B303B (al 30%) → #FFFFFF (tarjetas) --- */
.elementor-widget-container {
    /* Tarjetas con fondo translucido oscuro pasan a blanco */
}

/* --- #16191F → #FAF7F2 (fondo body catalogo) --- */
body.elementor-page-38 {
    background-color: var(--ma-bg-primary) !important;
}

/* ==========================================================================
   TEXTOS - Override de colores oscuros a legibles sobre fondo claro
   ========================================================================== */

/* --- #F0F2F5 / #EFEFEF → #111827 (headings que eran blancos) --- */
.elementor-heading-title {
    color: var(--ma-text-heading) !important;
}

h1.elementor-heading-title,
h2.elementor-heading-title,
h3.elementor-heading-title,
h4.elementor-heading-title,
h5.elementor-heading-title,
h6.elementor-heading-title {
    color: var(--ma-text-heading) !important;
}

/* --- #8A96A8 → #374151 (texto cuerpo principal) --- */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor span,
.elementor-widget-theme-post-content,
.elementor-widget-theme-post-content p,
.elementor-post__text p,
.elementor-post__excerpt p,
.elementor-element p,
body .elementor-widget-container p,
body .elementor-widget-container span,
body .elementor-widget-container li {
    color: var(--ma-text-body) !important;
}

/* --- #7A7A7A → #6B7280 (texto secundario/metadata) --- */
.elementor-post-info,
.elementor-post-info span,
.elementor-post__meta-data,
.elementor-icon-list-text,
.elementor-post-date,
.elementor-post-author {
    color: var(--ma-text-secondary) !important;
}

/* ==========================================================================
   ACENTOS - Links, iconos, badges
   ========================================================================== */

/* --- #3C7FDD → #166534 (azul tarjetas/links → verde) --- */
a,
a:visited {
    color: var(--ma-green) !important;
}

a:hover,
a:focus {
    color: var(--ma-green-hover) !important;
}

.elementor-button .elementor-button-text {
    /* Controlado por los bloques de botones abajo */
}

/* --- #6EC1E4 → #166534 (azul celeste global → verde) --- */
.elementor-icon,
.elementor-icon i,
.elementor-icon svg {
    color: var(--ma-green) !important;
    fill: var(--ma-green) !important;
}

/* --- #00488B → #166534 (badge categoria) --- */
.elementor-post__badge,
.e-loop-item .elementor-post__badge {
    background-color: var(--ma-green) !important;
    color: #FFFFFF !important;
}

/* --- #0486BD → #166534 (iconos post-info) --- */
.elementor-post-info .elementor-icon,
.elementor-post-info i,
.elementor-icon-list-icon i {
    color: var(--ma-green) !important;
}

/* ==========================================================================
   BOTONES
   ========================================================================== */

/* --- Header nav: transparente + texto oscuro --- */
.elementor-element-a1b2c3d .elementor-button,
.elementor-element-0f36a88 .elementor-button,
.elementor-element-12514ff .elementor-button,
header .elementor-button,
.elementor-location-header .elementor-button {
    background-color: transparent !important;
    color: var(--ma-text-heading) !important;
    fill: var(--ma-text-heading) !important;
    border-color: var(--ma-text-heading) !important;
}

.elementor-location-header .elementor-button:hover,
header .elementor-button:hover {
    background-color: var(--ma-text-heading) !important;
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}

/* --- CTA principal: verde --- */
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg,
.elementor-button.elementor-size-xl {
    background-color: var(--ma-green) !important;
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
    border-color: var(--ma-green) !important;
}

.elementor-button.elementor-size-sm:hover,
.elementor-button.elementor-size-md:hover,
.elementor-button.elementor-size-lg:hover,
.elementor-button.elementor-size-xl:hover {
    background-color: var(--ma-green-hover) !important;
    border-color: var(--ma-green-hover) !important;
}

/* --- Boton catalogo #114974 → #166534 --- */
body.elementor-page-38 .elementor-button {
    background-color: var(--ma-green) !important;
    color: #FFFFFF !important;
}

/* --- Boton login popup #025D8F → #166534 --- */
#elementor-popup-modal-184 .elementor-button,
#elementor-popup-modal-186 .elementor-button {
    background-color: var(--ma-green) !important;
    color: #FFFFFF !important;
}

#elementor-popup-modal-184 a:hover,
#elementor-popup-modal-186 a:hover {
    color: var(--ma-green-hover) !important;
}

/* ==========================================================================
   BORDES
   ========================================================================== */

/* --- #363D49 → #E5E7EB (bordes tarjetas y secciones) --- */
.elementor-element [style*="border"],
.elementor-widget-container {
    border-color: var(--ma-border) !important;
}

/* Bordes explicitos en secciones */
.elementor-section,
.elementor-column,
.elementor-widget {
    border-color: var(--ma-border) !important;
}

/* --- Inputs login #000000 → #D1D5DB --- */
#elementor-popup-modal-184 input,
#elementor-popup-modal-186 input,
.elementor-form .elementor-field {
    border-color: var(--ma-border-input) !important;
    color: var(--ma-text-heading) !important;
    background-color: #FFFFFF !important;
}

/* ==========================================================================
   FOOTER - Mantiene fondo oscuro pero con nueva paleta
   ========================================================================== */

footer.elementor-location-footer,
.elementor-location-footer .elementor-section,
.elementor-element-b5fda4c {
    background-color: var(--ma-bg-footer) !important;
}

/* Textos footer: claros sobre fondo oscuro */
footer .elementor-heading-title,
.elementor-location-footer .elementor-heading-title {
    color: var(--ma-text-footer) !important;
}

footer .elementor-widget-container p,
footer .elementor-widget-container span,
footer .elementor-widget-container li,
footer .elementor-widget-container a,
.elementor-location-footer .elementor-widget-container p,
.elementor-location-footer .elementor-widget-container span,
.elementor-location-footer .elementor-widget-container a {
    color: var(--ma-text-footer) !important;
}

footer .elementor-icon i,
footer .elementor-icon svg,
.elementor-location-footer .elementor-icon i,
.elementor-location-footer .elementor-icon svg {
    color: var(--ma-text-footer) !important;
    fill: var(--ma-text-footer) !important;
}

/* ==========================================================================
   HEADER - Fondo claro
   ========================================================================== */

header.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-element-4c103c7 {
    background-color: var(--ma-bg-primary) !important;
}

/* Nav menu links: oscuros sobre fondo claro */
.elementor-nav-menu a,
.elementor-nav-menu--main a,
.elementor-location-header .elementor-nav-menu a {
    color: var(--ma-text-heading) !important;
}

.elementor-nav-menu a:hover,
.elementor-nav-menu--main a:hover {
    color: var(--ma-green) !important;
}

/* Divider nav */
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:last-child)::after {
    border-color: var(--ma-border) !important;
}

/* Badges legacy (.badge-ruptura / .badge-seguimiento) eliminados.
   La implementacion canonica vive en .ma-single__badge--{ruptura|seguimiento} mas abajo. */

/* ==========================================================================
   LOOP TEMPLATE (listado de posts)
   ========================================================================== */

.e-loop-item {
    background-color: var(--ma-bg-card) !important;
    border: 1px solid var(--ma-border) !important;
    border-radius: 8px;
}

.e-loop-item .elementor-heading-title {
    color: var(--ma-text-heading) !important;
}

.e-loop-item .elementor-post__excerpt,
.e-loop-item .elementor-post__excerpt p {
    color: var(--ma-text-body) !important;
}

/* ==========================================================================
   SEARCH (pagina catalogo)
   ========================================================================== */

.e-search-input {
    background-color: #FFFFFF !important;
    border-color: var(--ma-border-input) !important;
    color: var(--ma-text-heading) !important;
}

.e-search-submit {
    color: var(--ma-text-secondary) !important;
}

.e-search-submit:hover {
    color: var(--ma-green) !important;
}

/* Filtros catalogo */
.e-filter {
    color: var(--ma-text-secondary) !important;
}

.e-filter:hover,
.e-filter.active {
    color: var(--ma-text-heading) !important;
}

/* ==========================================================================
   ACCORDION (si existe en single post)
   ========================================================================== */

.elementor-accordion .elementor-tab-title {
    color: var(--ma-text-heading) !important;
}

.elementor-accordion .elementor-tab-title.elementor-active {
    color: var(--ma-green) !important;
}

.elementor-accordion .elementor-tab-content {
    color: var(--ma-text-body) !important;
    background-color: var(--ma-bg-card) !important;
    border-color: var(--ma-border) !important;
}

/* ==========================================================================
   PAGE TRANSITION
   ========================================================================== */

.elementor-kit-6 e-page-transition {
    background-color: var(--ma-bg-primary) !important;
}

/* ==========================================================================
   SOMBRAS - Actualizadas para tema claro
   ========================================================================== */

#elementor-popup-modal-184 .dialog-widget-content,
#elementor-popup-modal-186 .dialog-widget-content {
    box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.12) !important;
}

.elementor-location-header .elementor-button:hover {
    box-shadow: 0px 0px 10px 0px rgba(22, 101, 52, 0.3) !important;
    text-shadow: none !important;
}

/* ==========================================================================
   SINGLE POST TEMPLATE (single.php)
   Clases usadas por la plantilla de noticias MarketAtlas
   ========================================================================== */

.ma-single {
    max-width: 820px;
    margin: 40px auto;
    padding: 0 24px;
    color: var(--ma-text-body);
    font-family: inherit;
    line-height: 1.7;
}

.ma-single header {
    margin-bottom: 32px;
}

.ma-single__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-bottom: 16px;
    font-size: 14px;
}

.ma-single__category {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: var(--ma-green) !important;
    text-decoration: none;
}

.ma-single__category:hover {
    color: var(--ma-green-hover) !important;
}

.ma-single__date {
    color: var(--ma-text-secondary);
}

.ma-single__badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ma-white);
}

.ma-single__badge--ruptura {
    background-color: var(--ma-ruptura);
}

.ma-single__badge--seguimiento {
    background-color: var(--ma-seguimiento);
}

.ma-single__title {
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.2;
    color: var(--ma-text-heading);
    margin: 0 0 12px;
    font-weight: 700;
}

.ma-single__subtitle {
    font-size: 19px;
    color: var(--ma-text-secondary);
    margin: 0;
    font-weight: 400;
    line-height: 1.5;
}

.ma-single__resumen {
    background: var(--ma-bg-secondary);
    border-left: 4px solid var(--ma-green);
    padding: 20px 24px;
    border-radius: 4px;
    margin-bottom: 32px;
    font-size: 17px;
    color: var(--ma-text-heading);
}

.ma-single__resumen p {
    margin: 0 0 12px;
}

.ma-single__resumen p:last-child {
    margin-bottom: 0;
}

/* --- Bullets --- */
.ma-single__bullets {
    background: var(--ma-bg-card);
    border: 1px solid var(--ma-border);
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 32px;
}

.ma-single__bullets-title {
    font-weight: 700;
    color: var(--ma-text-heading);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 13px;
    margin: 0 0 12px;
}

.ma-single__bullets-list {
    margin: 0;
    padding-left: 20px;
    list-style: none;
}

.ma-single__bullets-list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
    color: var(--ma-text-body);
}

.ma-single__bullets-list li::before {
    content: "▸";
    color: var(--ma-green);
    position: absolute;
    left: 0;
    font-weight: 700;
}

/* ==========================================================================
   SELECTOR DE NIVEL (STICKY)
   ========================================================================== */

.ma-level-selector {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--ma-bg-card);
    border: 1px solid var(--ma-border);
    border-radius: 8px;
    padding: 16px 20px;
    margin: 24px 0 0;
    transition: box-shadow 0.2s ease, border-radius 0.2s ease;
}

.ma-level-selector.is-stuck {
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.ma-level-selector__label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ma-text-secondary);
    margin-bottom: 12px;
}

.ma-level-selector__member-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ma-level-selector__member-badge--free {
    background: var(--ma-border);
    color: var(--ma-text-body);
}

.ma-level-selector__member-badge--registrado {
    background: var(--ma-bg-registrado);
    color: var(--ma-green);
}

.ma-level-selector__member-badge--premium {
    background: var(--ma-bg-premium);
    color: var(--ma-gold);
}

.ma-level-selector__tabs {
    display: flex;
    gap: 8px;
    background: var(--ma-bg-primary);
    padding: 4px;
    border-radius: 8px;
}

.ma-level-selector__tab {
    flex: 1;
    padding: 10px 16px;
    background: transparent;
    border: 2px solid transparent;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ma-text-secondary);
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: inherit;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.ma-level-selector__tab:focus-visible {
    border-color: var(--ma-green);
}

.ma-level-selector__tab:hover {
    color: var(--ma-text-heading);
}

.ma-level-selector__tab.is-active {
    background: var(--ma-green);
    color: var(--ma-white);
    box-shadow: 0 1px 3px rgba(22, 101, 52, 0.25);
}

/* ==========================================================================
   PANELES DE CONTENIDO
   ========================================================================== */

.ma-content-panel {
    display: none;
    padding: 32px 0;
    animation: ma-fade 0.25s ease;
}

.ma-content-panel.is-visible {
    display: block;
}

@keyframes ma-fade {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.ma-content-panel__body {
    font-size: 17px;
    color: var(--ma-text-body);
}

.ma-content-panel__body p {
    margin: 0 0 16px;
}

.ma-content-panel__body h2,
.ma-content-panel__body h3 {
    color: var(--ma-text-heading);
    margin-top: 28px;
    margin-bottom: 12px;
}

/* --- Upsell --- */
.ma-upsell {
    margin-top: 24px;
    padding: 24px;
    background: linear-gradient(135deg, var(--ma-bg-secondary), var(--ma-bg-card));
    border: 1px solid var(--ma-border);
    border-radius: 12px;
    text-align: center;
}

.ma-upsell__icon {
    font-size: 32px;
    margin-bottom: 8px;
}

.ma-upsell__title {
    font-size: 18px;
    font-weight: 700;
    color: var(--ma-text-heading);
    margin: 0 0 8px;
}

.ma-upsell__text {
    color: var(--ma-text-body);
    margin: 0 0 16px;
    font-size: 15px;
}

.ma-upsell__btn {
    display: inline-block;
    padding: 12px 28px;
    background: var(--ma-green);
    color: var(--ma-white) !important;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.15s ease;
}

.ma-upsell__btn:hover {
    background: var(--ma-green-hover);
    color: var(--ma-white) !important;
}

.ma-upsell__btn:focus-visible {
    outline: 2px solid var(--ma-green);
    outline-offset: 2px;
}

.ma-upsell__btn--gold {
    background: var(--ma-gold);
}

.ma-upsell__btn--gold:hover {
    background: var(--ma-gold-hover);
}

.ma-upsell__btn--gold:focus-visible {
    outline-color: var(--ma-gold);
}

/* ==========================================================================
   DIVIDER
   ========================================================================== */

.ma-divider {
    border: none;
    border-top: 1px solid var(--ma-border);
    margin: 40px 0;
}

/* ==========================================================================
   ANALISIS (grid de impactos)
   ========================================================================== */

.ma-analysis {
    margin: 32px 0;
}

.ma-analysis__title {
    font-size: 24px;
    font-weight: 700;
    color: var(--ma-text-heading);
    margin: 0 0 20px;
}

.ma-analysis__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.ma-analysis__card {
    background: var(--ma-bg-card);
    border: 1px solid var(--ma-border);
    border-radius: 8px;
    padding: 20px;
}

.ma-analysis__card--full {
    grid-column: 1 / -1;
}

.ma-analysis__card-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--ma-border);
}

.ma-analysis__card-label--mercados     { color: var(--ma-green); border-bottom-color: var(--ma-green); }
.ma-analysis__card-label--monetaria    { color: var(--ma-gold);  border-bottom-color: var(--ma-gold);  }
.ma-analysis__card-label--global       { color: var(--ma-seguimiento); border-bottom-color: var(--ma-seguimiento); }
.ma-analysis__card-label--estructural  { color: var(--ma-ruptura); border-bottom-color: var(--ma-ruptura); }

.ma-analysis__card-body {
    color: var(--ma-text-body);
    font-size: 15px;
}

.ma-analysis__card-body p {
    margin: 0 0 10px;
}

.ma-analysis__card-body p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   GRAFICA
   ========================================================================== */

.ma-chart {
    background: var(--ma-bg-card);
    border: 1px solid var(--ma-border);
    border-radius: 12px;
    overflow: hidden;
    margin: 32px 0;
}

.ma-chart__image {
    width: 100%;
    height: auto;
    display: block;
}

.ma-chart__body {
    padding: 24px;
}

.ma-chart__title {
    font-size: 18px;
    font-weight: 700;
    color: var(--ma-text-heading);
    margin: 0 0 6px;
}

.ma-chart__source {
    font-size: 13px;
    color: var(--ma-text-secondary);
    margin: 0 0 14px;
    font-style: italic;
}

.ma-chart__analysis {
    color: var(--ma-text-body);
    font-size: 15px;
}

/* ==========================================================================
   SECCIONES (contexto, fuentes)
   ========================================================================== */

.ma-section {
    margin: 32px 0;
}

.ma-section__title {
    font-size: 22px;
    font-weight: 700;
    color: var(--ma-text-heading);
    margin: 0 0 16px;
}

.ma-section__body {
    color: var(--ma-text-body);
    font-size: 16px;
}

.ma-section__body p {
    margin: 0 0 12px;
}

.ma-section--fuentes .ma-section__body {
    font-size: 14px;
    color: var(--ma-text-secondary);
}

.ma-section--fuentes a {
    word-break: break-word;
}

/* ==========================================================================
   RESUMEN SEMANAL
   ========================================================================== */

.ma-weekly {
    background: var(--ma-bg-secondary);
    border-radius: 12px;
    padding: 28px;
    margin: 32px 0;
}

.ma-weekly__title {
    font-size: 22px;
    font-weight: 700;
    color: var(--ma-text-heading);
    margin: 0 0 14px;
}

.ma-weekly__body {
    color: var(--ma-text-body);
    font-size: 16px;
}

/* ==========================================================================
   TAGS
   ========================================================================== */

.ma-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 32px 0 0;
    padding-top: 24px;
    border-top: 1px solid var(--ma-border);
}

.ma-tags__item {
    display: inline-block;
    padding: 6px 14px;
    background: var(--ma-bg-secondary);
    color: var(--ma-text-secondary) !important;
    border-radius: 16px;
    font-size: 13px;
    text-decoration: none !important;
    transition: all 0.15s ease;
}

.ma-tags__item:hover {
    background: var(--ma-green);
    color: var(--ma-white) !important;
}

/* ==========================================================================
   SHORTCODE [ma_clasificaciones]
   ========================================================================== */

/* Todos los estilos usan .ma-clasif como scope + !important para ganar
   a los overrides globales de Elementor (.elementor-element p,
   .elementor-widget-container, body .elementor-widget-container p, etc.) */

.ma-clasif {
    max-width: 820px !important;
    margin: 0 auto !important;
    padding: 48px 24px !important;
    box-sizing: border-box !important;
}

.ma-clasif .ma-clasif__title {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--ma-text-heading) !important;
    text-align: center !important;
    margin: 0 0 12px !important;
    line-height: 1.3 !important;
}

.ma-clasif .ma-clasif__intro {
    text-align: center !important;
    color: var(--ma-text-secondary) !important;
    font-size: 16px !important;
    max-width: 600px !important;
    margin: 0 auto 32px !important;
    line-height: 1.6 !important;
}

.ma-clasif .ma-clasif__grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
}

.ma-clasif .ma-clasif__card {
    background: var(--ma-bg-card) !important;
    border: 1px solid var(--ma-border) !important;
    border-radius: 12px !important;
    padding: 28px 24px !important;
    border-top: 4px solid var(--ma-border) !important;
    box-sizing: border-box !important;
}

.ma-clasif .ma-clasif__card--ruptura {
    border-top-color: var(--ma-ruptura) !important;
}

.ma-clasif .ma-clasif__card--seguimiento {
    border-top-color: var(--ma-seguimiento) !important;
}

.ma-clasif .ma-clasif__card-header {
    margin-bottom: 16px !important;
}

.ma-clasif .ma-clasif__card-what {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: var(--ma-text-heading) !important;
    margin: 0 0 10px !important;
    line-height: 1.4 !important;
}

.ma-clasif .ma-clasif__card-body {
    font-size: 15px !important;
    color: var(--ma-text-body) !important;
    line-height: 1.6 !important;
    margin: 0 0 16px !important;
}

.ma-clasif .ma-clasif__card-examples {
    margin: 0 !important;
    padding-left: 0 !important;
    list-style: none !important;
}

.ma-clasif .ma-clasif__card-examples li {
    position: relative !important;
    padding-left: 20px !important;
    margin-bottom: 6px !important;
    font-size: 14px !important;
    color: var(--ma-text-secondary) !important;
    line-height: 1.5 !important;
}

.ma-clasif .ma-clasif__card--ruptura .ma-clasif__card-examples li::before {
    content: "\25B8" !important;
    position: absolute !important;
    left: 0 !important;
    font-weight: 700 !important;
    color: var(--ma-ruptura) !important;
}

.ma-clasif .ma-clasif__card--seguimiento .ma-clasif__card-examples li::before {
    content: "\25B8" !important;
    position: absolute !important;
    left: 0 !important;
    font-weight: 700 !important;
    color: var(--ma-seguimiento) !important;
}

/* Badge overrides dentro del shortcode */
.ma-clasif .ma-single__badge--ruptura {
    background-color: var(--ma-ruptura) !important;
    color: var(--ma-white) !important;
    display: inline-block !important;
}

.ma-clasif .ma-single__badge--seguimiento {
    background-color: var(--ma-seguimiento) !important;
    color: var(--ma-white) !important;
    display: inline-block !important;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {
    /* --- Reset wrappers padre de Hello Elementor --- */
    /* Hello Elementor genera: body > #page > #content.site-main > .page-content
       El single.php inyecta <article class="ma-single"> dentro de site-main.
       Usamos ID (#content) para ganar especificidad al tema padre. */
    body.single-post #page,
    body.single-post #content,
    body.single-post #content.site-main,
    body.single-post .site-main,
    body.single-post .page-content,
    body.single-post .entry-content,
    body.single-post .elementor-widget-theme-post-content,
    body.single-post .elementor-widget-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    article.ma-single {
        margin: 16px auto !important;
        padding: 0 16px !important;
        line-height: 1.6;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .ma-single header {
        margin-bottom: 20px;
    }

    .ma-single__meta {
        gap: 8px;
        margin-bottom: 10px;
        font-size: 13px;
    }

    .ma-single__title {
        font-size: 24px;
        margin-bottom: 8px;
    }

    .ma-single__subtitle {
        font-size: 16px;
    }

    .ma-single__resumen {
        padding: 14px 16px;
        margin-bottom: 20px;
        font-size: 15px;
    }

    .ma-single__bullets {
        padding: 16px;
        margin-bottom: 20px;
    }

    .ma-single__bullets-title {
        font-size: 12px;
        margin-bottom: 8px;
    }

    .ma-single__bullets-list li {
        margin-bottom: 6px;
    }

    .ma-level-selector {
        padding: 10px 16px;
        margin: 16px -16px 0;
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .ma-level-selector__label {
        font-size: 11px;
        margin-bottom: 8px;
    }

    .ma-level-selector__tab {
        padding: 8px 6px;
        font-size: 13px;
    }

    .ma-content-panel {
        padding: 20px 0;
    }

    .ma-content-panel__body {
        font-size: 15px;
    }

    .ma-content-panel__body p {
        margin-bottom: 12px;
    }

    .ma-content-panel__body h2,
    .ma-content-panel__body h3 {
        margin-top: 20px;
        margin-bottom: 8px;
    }

    .ma-analysis {
        margin: 20px 0;
    }

    .ma-analysis__grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ma-analysis__title {
        font-size: 19px;
        margin-bottom: 14px;
    }

    .ma-analysis__card {
        padding: 14px;
    }

    .ma-analysis__card-body {
        font-size: 14px;
    }

    .ma-chart {
        margin: 20px 0;
    }

    .ma-chart__body {
        padding: 16px;
    }

    .ma-chart__title {
        font-size: 16px;
    }

    .ma-chart__source {
        font-size: 12px;
        margin-bottom: 10px;
    }

    .ma-chart__analysis {
        font-size: 14px;
    }

    .ma-section {
        margin: 20px 0;
    }

    .ma-section__title {
        font-size: 19px;
        margin-bottom: 12px;
    }

    .ma-section__body {
        font-size: 15px;
    }

    .ma-weekly {
        padding: 18px;
        margin: 20px 0;
    }

    .ma-weekly__title {
        font-size: 19px;
        margin-bottom: 10px;
    }

    .ma-weekly__body {
        font-size: 15px;
    }

    .ma-divider {
        margin: 24px 0;
    }

    .ma-tags {
        margin-top: 20px;
        padding-top: 16px;
        gap: 6px;
    }

    .ma-tags__item {
        padding: 4px 10px;
        font-size: 12px;
    }

    .ma-upsell {
        padding: 16px 14px;
    }

    .ma-upsell__title {
        font-size: 16px;
    }

    .ma-upsell__text {
        font-size: 14px;
        margin-bottom: 12px;
    }

    .ma-upsell__btn {
        padding: 10px 22px;
        font-size: 14px;
    }

    .ma-analisis-tier {
        padding: 14px 16px;
        margin-bottom: 14px;
    }

    .ma-legal {
        margin: 24px 0 16px;
        padding: 14px 16px;
        font-size: 11px;
    }

    .ma-cta-final {
        margin: 16px 0 24px;
        padding: 20px 16px;
    }

    .ma-cta-final__title {
        font-size: 18px;
    }

    .ma-cta-final__text {
        font-size: 14px;
        margin-bottom: 14px;
    }

    .ma-hook__frase {
        font-size: 15px;
        padding: 12px 14px;
        margin-top: 14px;
    }

    /* Shortcode clasificaciones */
    .ma-clasif {
        padding: 32px 16px !important;
    }

    .ma-clasif .ma-clasif__title {
        font-size: 22px !important;
    }

    .ma-clasif .ma-clasif__intro {
        font-size: 15px !important;
        margin-bottom: 24px !important;
    }

    .ma-clasif .ma-clasif__grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .ma-clasif .ma-clasif__card {
        padding: 20px 16px !important;
    }

    .ma-clasif .ma-clasif__card-what {
        font-size: 16px !important;
    }

    .ma-clasif .ma-clasif__card-body {
        font-size: 14px !important;
    }
}

@media (max-width: 480px) {
    article.ma-single {
        padding: 0 16px !important;
    }

    .ma-single__meta {
        font-size: 11px;
        gap: 6px;
    }

    .ma-single__badge {
        font-size: 10px;
        padding: 3px 8px;
    }

    .ma-single__title {
        font-size: 21px;
    }

    .ma-single__subtitle {
        font-size: 15px;
    }

    .ma-single__resumen {
        font-size: 14px;
        padding: 12px 14px;
    }

    .ma-level-selector {
        margin-left: -16px;
        margin-right: -16px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .ma-level-selector__tabs {
        gap: 3px;
    }

    .ma-level-selector__tab {
        padding: 7px 4px;
        font-size: 11px;
    }

    .ma-content-panel__body {
        font-size: 14px;
    }

    .ma-analysis__title,
    .ma-section__title,
    .ma-weekly__title {
        font-size: 17px;
    }

    .ma-analysis__card {
        padding: 12px;
    }

    .ma-analysis__card-label {
        font-size: 11px;
    }

    .ma-analysis__card-body {
        font-size: 13px;
    }

    .ma-chart__body {
        padding: 12px;
    }

    .ma-chart__title {
        font-size: 15px;
    }

    .ma-chart__analysis {
        font-size: 13px;
    }

    .ma-section__body {
        font-size: 14px;
    }

    .ma-section--fuentes .ma-section__body {
        font-size: 12px;
    }

    .ma-weekly {
        padding: 14px;
    }

    .ma-weekly__body {
        font-size: 14px;
    }

    .ma-upsell__icon {
        font-size: 24px;
    }

    .ma-cta-final__title {
        font-size: 17px;
    }

    .ma-hook__frase {
        font-size: 14px;
        padding: 10px 12px;
    }

    .ma-legal {
        font-size: 10px;
        padding: 12px;
    }
}

/* ==========================================================================
   HOOK (nueva estructura single.php v2)
   ========================================================================== */

.ma-hook__bullets {
    margin-top: 20px;
    margin-bottom: 20px;
}

.ma-hook__frase {
    margin: 20px 0 0;
    padding: 16px 20px;
    border-left: 4px solid var(--ma-gold);
    background: var(--ma-bg-secondary);
    font-style: italic;
    font-size: 17px;
    color: var(--ma-text-heading);
    border-radius: 0 4px 4px 0;
}

.ma-hook__frase p { margin: 0; }

/* ==========================================================================
   SECCIONES POR NIVEL — paneles que conmutan con el selector
   ========================================================================== */

.ma-section--nivel .ma-nivel-panel {
    display: none;
    animation: ma-fade 0.25s ease;
}

.ma-section--nivel .ma-nivel-panel.is-visible {
    display: block;
}

.ma-empty {
    color: var(--ma-text-secondary);
    font-style: italic;
}

/* ==========================================================================
   ANÁLISIS — tiers acumulativos (free → registrado → premium)
   ========================================================================== */

.ma-analisis-tier {
    margin-bottom: 20px;
    padding: 18px 20px;
    background: var(--ma-bg-card);
    border: 1px solid var(--ma-border);
    border-radius: 8px;
}

.ma-analisis-tier--free {
    border-left: 4px solid var(--ma-text-secondary);
}

.ma-analisis-tier--registrado {
    border-left: 4px solid var(--ma-green);
}

.ma-analisis-tier--premium {
    border-left: 4px solid var(--ma-gold);
    background: linear-gradient(135deg, var(--ma-bg-premium-soft), var(--ma-bg-card));
}

.ma-analisis-tier__label {
    display: inline-block;
    margin-bottom: 10px;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: var(--ma-bg-secondary);
    color: var(--ma-text-heading);
}

.ma-analisis-tier--registrado .ma-analisis-tier__label {
    background: var(--ma-bg-registrado);
    color: var(--ma-green);
}

.ma-analisis-tier--premium .ma-analisis-tier__label {
    background: var(--ma-bg-premium);
    color: var(--ma-gold);
}

.ma-analisis-tier--locked {
    border-left: 4px dashed var(--ma-border-input);
    background: var(--ma-bg-secondary);
    text-align: center;
}

.ma-analisis-tier--locked .ma-upsell__icon { font-size: 28px; margin-bottom: 4px; }
.ma-analisis-tier--locked .ma-upsell__title { margin: 0 0 4px; }
.ma-analisis-tier--locked .ma-upsell__text  { margin: 0 0 12px; font-size: 14px; }

/* Upsell compacto para usuarios ya registrados — menos invasivo */
.ma-analisis-tier--locked-soft {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
    text-align: left;
    border-left-style: solid;
    border-left-color: var(--ma-gold);
    background: var(--ma-bg-premium-soft);
}

.ma-upsell__title-soft {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--ma-text-heading);
}

.ma-upsell__icon-inline {
    margin-right: 6px;
}

.ma-upsell__link-soft {
    color: var(--ma-gold) !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}

.ma-upsell__link-soft:hover {
    color: var(--ma-gold-hover) !important;
}

/* ==========================================================================
   IMPACTO ESTRUCTURAL — badge inline
   ========================================================================== */

.ma-section--estructural .ma-section__title {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* ==========================================================================
   BLOQUE LEGAL
   ========================================================================== */

.ma-legal {
    margin: 40px 0 24px;
    padding: 18px 20px;
    background: var(--ma-bg-secondary);
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--ma-text-secondary);
}

.ma-legal p { margin: 0; }

.ma-legal strong { color: var(--ma-text-heading); }

.ma-legal__title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ma-text-heading);
    margin: 0 0 8px;
}

/* Focus states para elementos interactivos */
.ma-tags__item:focus-visible {
    outline: 2px solid var(--ma-green);
    outline-offset: 2px;
}

.ma-single__category:focus-visible {
    outline: 2px solid var(--ma-green);
    outline-offset: 2px;
    border-radius: 2px;
}

.ma-level-selector__tab:focus-visible {
    outline: 2px solid var(--ma-green);
    outline-offset: 2px;
}

/* ==========================================================================
   CTA FINAL
   ========================================================================== */

.ma-cta-final {
    margin: 24px 0 40px;
    padding: 32px 24px;
    text-align: center;
    background: linear-gradient(135deg, var(--ma-bg-secondary), var(--ma-bg-card));
    border: 1px solid var(--ma-border);
    border-radius: 12px;
}

.ma-cta-final--premium {
    background: linear-gradient(135deg, var(--ma-bg-premium), var(--ma-bg-premium-soft));
    border-color: var(--ma-gold);
}

.ma-cta-final__title {
    font-size: 22px;
    font-weight: 700;
    color: var(--ma-text-heading);
    margin: 0 0 8px;
}

.ma-cta-final__text {
    color: var(--ma-text-body);
    margin: 0 0 18px;
    font-size: 15px;
}

/* Responsive para estos componentes consolidado en el bloque principal @media 768px */
/* BLOQUE "¿Y A TI EN QUÉ TE AFECTA?" eliminado en Bloque 4A.
   El reestilado v0.4 vive ahora en style.css sección 10. */

/* ==========================================================================
   RECUPERADO POR CLAUDE.AI · 20 may 2026
   Este bloque estaba en el style.css del 24 abr y se eliminó accidentalmente
   en producción el 13 may. Se recupera para no romper /noticias/ en home.
   ========================================================================== */
/* ==========================================================================
   HOMEPAGE NEWS CARDS — Loop Grid de Elementor (.e-loop-item.category-noticias)
   ==========================================================================
   Estructura DOM real por card (verificada en marketatlas.es/):
     .e-loop-item.category-noticias.region-{slug}
       > .e-con.e-con-boxed
         > .e-con-inner   (← padding + flex-gap van aqui)
             [1] .elementor-widget-theme-post-title   · titulo (h5 > a)
             [2] .elementor-widget-text-editor (1o)   · badge de region
             [3] .elementor-widget-text-editor (2o)   · resumen/excerpt
             [4] .elementor-widget-post-info          · fecha

   Especificidad: .e-loop-item.category-noticias → (0,2,0), suficiente para
   batir reglas genericas de Elementor sin usar !important masivo. Donde
   Elementor inyecta inline styles via data-settings anadimos !important
   selectivo en background/color/padding.

   Scope: afecta SOLO loop cards de la categoria Noticias — no rompe otros
   loops futuros (p.ej. listado de Resumen semanal).
   ========================================================================== */

/* ── Card root ─────────────────────────────────────────────────────────── */
.e-loop-item.category-noticias {
    background: var(--ma-bg-card) !important;
    border: 1px solid var(--ma-border) !important;
    border-left: 4px solid var(--ma-green) !important;
    border-radius: 12px !important;
    overflow: hidden;
    position: relative;
    transition:
        transform 200ms cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 200ms cubic-bezier(0.16, 1, 0.3, 1),
        border-left-color 200ms ease-out;
}

.e-loop-item.category-noticias:hover {
    box-shadow:
        0 8px 24px rgba(17, 24, 39, 0.08),
        0 2px 6px rgba(17, 24, 39, 0.04);
    transform: translateY(-2px);
    border-left-color: var(--ma-green-hover) !important;
}

/* Padding + gap interior (evita el inner Elementor con espaciado arbitrario) */
.e-loop-item.category-noticias .e-con-inner {
    padding: 26px 28px !important;
    gap: 12px !important;
}

/* ── Titulo ────────────────────────────────────────────────────────────── */
.e-loop-item.category-noticias .elementor-widget-theme-post-title {
    margin-bottom: 2px;
}

.e-loop-item.category-noticias .elementor-heading-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em;
    color: var(--ma-text-heading) !important;
    margin: 0 !important;
}

.e-loop-item.category-noticias .elementor-heading-title a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 150ms ease-out;
}

.e-loop-item.category-noticias:hover .elementor-heading-title a {
    color: var(--ma-green) !important;
}

/* ── Badge region (PRIMER .elementor-widget-text-editor tras el titulo) ── */
.e-loop-item.category-noticias
  .elementor-widget-theme-post-title + .elementor-widget-text-editor {
    display: inline-block;
    align-self: flex-start;
    padding: 3px 12px !important;
    border-radius: 999px;
    background: var(--ma-bg-secondary);
    color: var(--ma-text-body);
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 4px 0 !important;
    max-width: fit-content;
}

.e-loop-item.category-noticias
  .elementor-widget-theme-post-title + .elementor-widget-text-editor span {
    color: inherit;
    background: transparent !important;
}

/* Colores por region — scope combinado con la clase region-* del root card */
.e-loop-item.region-eeuu          .elementor-widget-theme-post-title + .elementor-widget-text-editor { background: #DCFCE7; color: var(--ma-green) !important; }
.e-loop-item.region-europa        .elementor-widget-theme-post-title + .elementor-widget-text-editor { background: #DBEAFE; color: var(--ma-seguimiento) !important; }
.e-loop-item.region-china         .elementor-widget-theme-post-title + .elementor-widget-text-editor { background: #FEE2E2; color: var(--ma-ruptura) !important; }
.e-loop-item.region-japon         .elementor-widget-theme-post-title + .elementor-widget-text-editor { background: #FCE7F3; color: #9D174D !important; }
.e-loop-item.region-reino-unido   .elementor-widget-theme-post-title + .elementor-widget-text-editor { background: #E0E7FF; color: #3730A3 !important; }
.e-loop-item.region-emergentes    .elementor-widget-theme-post-title + .elementor-widget-text-editor { background: #FFEDD5; color: #9A3412 !important; }
.e-loop-item.region-materias-primas .elementor-widget-theme-post-title + .elementor-widget-text-editor { background: #FEF3C7; color: var(--ma-gold) !important; }
.e-loop-item.region-criptomonedas .elementor-widget-theme-post-title + .elementor-widget-text-editor { background: #FEF9C3; color: #854D0E !important; }
.e-loop-item.region-divisas       .elementor-widget-theme-post-title + .elementor-widget-text-editor { background: #CCFBF1; color: #115E59 !important; }
.e-loop-item.region-bonos         .elementor-widget-theme-post-title + .elementor-widget-text-editor { background: #EDE9FE; color: #5B21B6 !important; }
.e-loop-item.region-asia          .elementor-widget-theme-post-title + .elementor-widget-text-editor { background: #E0F2FE; color: #075985 !important; }

/* ── Excerpt (SEGUNDO text-editor: adyacente a otro text-editor) ──────── */
.e-loop-item.category-noticias
  .elementor-widget-text-editor + .elementor-widget-text-editor {
    /* Deshace el pill del badge que podria heredar por la regla anterior */
    align-self: stretch !important;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    max-width: none !important;

    /* Estilo real del resumen */
    color: var(--ma-text-secondary) !important;
    font-size: 14.5px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    margin: 4px 0 0 !important;

    /* Limita a 3 lineas para mantener cards homogeneas */
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.e-loop-item.category-noticias
  .elementor-widget-text-editor + .elementor-widget-text-editor p {
    color: inherit !important;
    margin: 0 !important;
    line-height: inherit !important;
}

/* ── Fecha ─────────────────────────────────────────────────────────────── */
.e-loop-item.category-noticias .elementor-widget-post-info {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px dashed var(--ma-border);
}

.e-loop-item.category-noticias .elementor-post-info__item--type-date,
.e-loop-item.category-noticias .elementor-post-info__item--type-date time {
    color: #9CA3AF !important;
    font-size: 12px !important;
    letter-spacing: 0.01em;
    font-weight: 500;
}

.e-loop-item.category-noticias .elementor-post-info__item--type-date a {
    text-decoration: none !important;
}

.e-loop-item.category-noticias .elementor-post-info .elementor-icon-list-icon svg {
    color: #9CA3AF !important;
    fill: #9CA3AF !important;
    width: 12px !important;
    height: 12px !important;
}

/* ────────── Responsive ──────────
   Breakpoints alineados con el resto del tema: 1024 (tablet), 768 (mobile
   landscape), 480 (mobile portrait). Verificado estaticamente para
   1280px (desktop) y 375px (mobile). */

@media (max-width: 1024px) {
    .e-loop-item.category-noticias .e-con-inner { padding: 22px 22px !important; gap: 10px !important; }
    .e-loop-item.category-noticias .elementor-heading-title { font-size: 19px !important; }
}

@media (max-width: 768px) {
    .e-loop-item.category-noticias { border-radius: 10px !important; border-left-width: 3px !important; }
    .e-loop-item.category-noticias .e-con-inner { padding: 18px 18px !important; gap: 9px !important; }
    .e-loop-item.category-noticias .elementor-heading-title { font-size: 17px !important; line-height: 1.35 !important; }
    .e-loop-item.category-noticias
      .elementor-widget-text-editor + .elementor-widget-text-editor {
        font-size: 13.5px !important;
        line-height: 1.6 !important;
        -webkit-line-clamp: 4;  /* en movil permitimos 1 linea extra del resumen */
    }
    /* Lift en hover no aporta en touch; lo desactivo para evitar saltos */
    .e-loop-item.category-noticias:hover { transform: none; }
}

@media (max-width: 480px) {
    .e-loop-item.category-noticias .e-con-inner { padding: 16px 16px !important; gap: 8px !important; }
    .e-loop-item.category-noticias .elementor-heading-title { font-size: 16.5px !important; }
    .e-loop-item.category-noticias
      .elementor-widget-theme-post-title + .elementor-widget-text-editor {
        font-size: 10px !important;
        padding: 2px 10px !important;
        letter-spacing: 0.05em;
    }
    .e-loop-item.category-noticias .elementor-post-info__item--type-date,
    .e-loop-item.category-noticias .elementor-post-info__item--type-date time {
        font-size: 11.5px !important;
    }
}
