/*
Theme Name: LHR Scroll Rows
Theme URI: https://lahechicerarubia.es/
Author: La Hechicera Rubia / experimental
Description: Tema experimental para La Hechicera Rubia: filas horizontales de artículos dentro de un panel vertical de desplazamiento.
Version: 1.0.3
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: lhr-scroll-rows
*/

:root {
    --lhr-bg: #fffafc;
    --lhr-text: #29242a;
    --lhr-muted: #756c74;
    --lhr-accent: #b64c78;
    --lhr-card: #ffffff;
    --lhr-border: rgba(41,36,42,.10);
    --lhr-radius: 18px;
    --lhr-gap: 18px;
    --lhr-content: 1240px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--lhr-bg);
    color: var(--lhr-text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.55;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }

.lhr-site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255,250,252,.94);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--lhr-border);
}

.lhr-header-inner {
    max-width: var(--lhr-content);
    margin: 0 auto;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.lhr-brand {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 700;
}

.lhr-menu {
    display: flex;
    gap: 10px;
    align-items: center;
}

.lhr-menu a {
    padding: 8px 11px;
    border-radius: 999px;
}

.lhr-menu a:hover { background: rgba(182,76,120,.09); }

.lhr-home {
    max-width: var(--lhr-content);
    margin: 0 auto;
    padding: 26px 20px 60px;
}

.lhr-intro {
    padding: 18px 0 22px;
}

.lhr-intro h1 {
    margin: 0 0 7px;
    font: 700 clamp(2rem, 4vw, 3.2rem)/1.05 Georgia, "Times New Roman", serif;
}

.lhr-intro p {
    margin: 0;
    max-width: 760px;
    color: var(--lhr-muted);
}

.lhr-category-nav {
    position: sticky;
    top: 67px;
    z-index: 40;
    margin: 0 -20px 28px;
    padding: 8px 20px;
    background: rgba(255,250,252,.94);
    backdrop-filter: blur(12px);
    border-top: 1px solid var(--lhr-border);
    border-bottom: 1px solid var(--lhr-border);
}

.lhr-horizontal {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.lhr-horizontal::-webkit-scrollbar { display: none; }

.lhr-category-nav a {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 8px 13px;
    border: 1px solid var(--lhr-border);
    border-radius: 999px;
    background: #fff;
    color: var(--lhr-text);
    font-size: .92rem;
}

.lhr-category-nav a:hover,
.lhr-category-nav a.is-active {
    background: var(--lhr-accent);
    border-color: var(--lhr-accent);
    color: #fff;
}

.lhr-row {
    margin: 0 0 34px;
}

.lhr-row-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 11px;
}

.lhr-row-title {
    margin: 0;
    font: 700 clamp(1.35rem, 2vw, 1.8rem)/1.15 Georgia, "Times New Roman", serif;
}

.lhr-row-link {
    color: var(--lhr-accent);
    font-size: .9rem;
    white-space: nowrap;
}

.lhr-slider-wrap { position: relative; }

.lhr-slider {
    display: flex;
    gap: var(--lhr-gap);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 2px 2px 10px;
    cursor: grab;
}

.lhr-slider:active { cursor: grabbing; }
.lhr-slider::-webkit-scrollbar { display: none; }

.lhr-card {
    flex: 0 0 clamp(245px, 31vw, 360px);
    scroll-snap-align: start;
    background: var(--lhr-card);
    border: 1px solid var(--lhr-border);
    border-radius: var(--lhr-radius);
    overflow: hidden;
    box-shadow: 0 5px 22px rgba(40,20,30,.055);
    transition: transform .18s ease, box-shadow .18s ease;
}

.lhr-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 28px rgba(40,20,30,.10);
}

.lhr-card-image {
    aspect-ratio: 16 / 9;
    background: #eee;
    overflow: hidden;
}

.lhr-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lhr-card-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--lhr-muted);
    font-size: .85rem;
}

.lhr-card-body { padding: 15px 16px 17px; }

.lhr-card-meta {
    color: var(--lhr-muted);
    font-size: .78rem;
    margin-bottom: 5px;
}

/*
.lhr-card-title {
    margin: 0;
    font: 700 1.15rem/1.22 Georgia, "Times New Roman", serif;
}*/

.lhr-card-title {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: break-word !important; /* Evita que palabras muy largas fuercen desbordamiento */
}

.lhr-card-excerpt {
    margin: 8px 0 0;
    color: var(--lhr-muted);
    font-size: .91rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.lhr-slider-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border: 1px solid var(--lhr-border);
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    box-shadow: 0 4px 14px rgba(0,0,0,.10);
    z-index: 2;
    cursor: pointer;
    font-size: 1.3rem;
}

.lhr-slider-button.prev { left: -10px; }
.lhr-slider-button.next { right: -10px; }

.lhr-loading {
    flex: 0 0 90px;
    display: grid;
    place-items: center;
    color: var(--lhr-muted);
    font-size: .82rem;
}

.lhr-end {
    text-align: center;
    color: var(--lhr-muted);
    font-size: .8rem;
    padding: 4px 0;
}

.lhr-site-footer {
    border-top: 1px solid var(--lhr-border);
    padding: 30px 20px;
    color: var(--lhr-muted);
    font-size: .9rem;
}

.lhr-footer-inner {
    max-width: var(--lhr-content);
    margin: 0 auto;
}

.lhr-single {
    max-width: 820px;
    margin: 0 auto;
    padding: 45px 20px 70px;
}

.lhr-single h1 {
    font: 700 clamp(2.2rem, 5vw, 4rem)/1.08 Georgia, "Times New Roman", serif;
}

.lhr-single-content {
    font-size: 1.08rem;
}

.lhr-single-content > * { margin-top: 1.25em; }
.lhr-single-content img { border-radius: 12px; }

@media (max-width: 700px) {
    .lhr-header-inner { padding: 11px 15px; }
    .lhr-menu { display: none; }
    .lhr-home { padding: 18px 15px 45px; }
    .lhr-category-nav {
        top: 54px;
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        padding-right: 15px;
    }
    .lhr-card { flex-basis: 78vw; }
    .lhr-slider-button { display: none; }
}


/* --- LHR Super: header, cards, books, page navigation --- */
.lhr-site-header { position: sticky; top: 0; }
.lhr-header-inner { min-height: 86px; }
.lhr-header-branding { display: flex; align-items: center; gap: 14px; min-width: 0; }
.lhr-brand { display: block; flex: 0 0 auto; }
.lhr-brand .custom-logo-link { display: block; }
.lhr-brand .custom-logo { width: auto; max-width: 72px; max-height: 64px; object-fit: contain; }
.lhr-brand-text { font-family: Georgia, "Times New Roman", serif; font-weight: 700; font-size: 1.15rem; }
.lhr-brand-copy { min-width: 0; }
.lhr-brand-name { display: block; font: 700 1.35rem/1.1 Georgia, "Times New Roman", serif; }
.lhr-brand-copy p { margin: 4px 0 0; color: var(--lhr-muted); font-size: .86rem; max-width: 680px; }
.lhr-header-actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.lhr-socials, .lhr-footer-socials { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.lhr-socials a, .lhr-share { border: 1px solid var(--lhr-border); border-radius: 999px; background: #fff; padding: 7px 10px; font-size: .8rem; }
.lhr-share { cursor: pointer; color: inherit; }
.lhr-category-nav { margin-top: 0; }
.lhr-card { display: flex; }
.lhr-card > a { display: flex; flex-direction: column; width: 100%; }
.lhr-card-image { order: 2; }
.lhr-card-body { display: contents; }
.lhr-card-title { order: 1; padding: 15px 16px 10px; margin: 0; }
.lhr-card-meta { order: 3; text-align: right; padding: 8px 16px 14px; margin: 0; }
.lhr-card-excerpt { display: none; }
.lhr-books { margin: 42px 0 38px; }
.lhr-book-slider { display: flex; gap: var(--lhr-gap); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 2px 2px 10px; }
.lhr-book-slider::-webkit-scrollbar { display: none; }
.lhr-book-card { flex: 0 0 clamp(180px, 22vw, 270px); scroll-snap-align: start; border-radius: var(--lhr-radius); overflow: hidden; background: #fff; border: 1px solid var(--lhr-border); box-shadow: 0 5px 22px rgba(40,20,30,.055); }
.lhr-book-card img { width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; }
.lhr-page-nav { margin: 0 auto 28px; padding: 10px 0; border-top: 1px solid var(--lhr-border); border-bottom: 1px solid var(--lhr-border); }
.lhr-page-nav ul { list-style: none; padding: 0; margin: 0; display: flex; gap: 9px; overflow-x: auto; scrollbar-width: none; }
.lhr-page-nav ul::-webkit-scrollbar { display: none; }
.lhr-page-nav li { flex: 0 0 auto; }
.lhr-page-nav a { display: block; white-space: nowrap; padding: 8px 13px; border: 1px solid var(--lhr-border); border-radius: 999px; background: #fff; font-size: .92rem; }
.lhr-page-nav a:hover { background: var(--lhr-accent); border-color: var(--lhr-accent); color: #fff; }
.lhr-footer-banner { margin: 0 auto 30px; max-width: var(--lhr-content); }
.lhr-footer-banner img { width: 100%; height: auto; border-radius: var(--lhr-radius); }
.lhr-footer-meta { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
@media (max-width: 700px) {
    .lhr-header-inner { min-height: 64px; padding: 8px 15px; gap: 10px; }
    .lhr-header-branding { gap: 9px; }
    .lhr-brand .custom-logo { max-width: 48px; max-height: 46px; }
    .lhr-brand-name { font-size: 1.05rem; }
    .lhr-brand-copy p { font-size: .7rem; line-height: 1.25; margin-top: 2px; }
    .lhr-header-actions { gap: 5px; }
    .lhr-socials { display: none; }
    .lhr-share { padding: 6px 8px; font-size: .78rem; }
    .lhr-share span { display: none; }
    .lhr-card-title { padding: 13px 14px 9px; font-size: 1.08rem; }
    .lhr-card-meta { padding: 7px 14px 12px; }
    .lhr-book-card { flex-basis: 62vw; }
    .lhr-page-nav { margin-bottom: 22px; }
    .lhr-footer-meta { justify-content: center; text-align: center; }
}


/* --- LHR 0.3: compact brand header and icon socials --- */
.lhr-header-inner {
    display: block;
    padding: 12px 20px 11px;
}
.lhr-header-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}
.lhr-header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 0;
}
.lhr-header-right .lhr-brand-name {
    font: 700 clamp(1.05rem, 1.7vw, 1.38rem)/1.1 Georgia, "Times New Roman", serif;
    text-align: right;
    margin: 0 0 7px;
}
.lhr-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}
.lhr-socials {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: nowrap;
}
.lhr-social-icon,
.lhr-share {
    width: 31px;
    height: 31px;
    padding: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--lhr-border);
    border-radius: 50%;
    background: #fff;
    color: var(--lhr-text);
    transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.lhr-social-icon:hover,
.lhr-share:hover {
    background: var(--lhr-accent);
    border-color: var(--lhr-accent);
    color: #fff;
    transform: translateY(-1px);
}
.lhr-social-icon svg,
.lhr-share svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: currentColor;
}
.lhr-social-instagram svg { fill: none; }
.lhr-social-instagram svg circle:last-child { fill: currentColor; stroke: none; }
.lhr-share { cursor: pointer; }
.lhr-share span { display: none; }
.lhr-site-description {
    margin: 8px 0 0;
    color: var(--lhr-muted);
    font-size: .84rem;
    line-height: 1.35;
    text-align: left;
}
.lhr-page-nav ul,
.lhr-page-nav ol,
.lhr-page-nav li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.lhr-page-nav li::marker,
.lhr-page-nav li::before,
.lhr-page-nav li::after {
    content: none !important;
}
.lhr-page-nav .lhr-horizontal {
    display: flex;
    gap: 9px;
}

@media (max-width: 700px) {
    .lhr-header-inner { min-height: 0; padding: 9px 15px 10px; }
    .lhr-header-top { gap: 12px; }
    .lhr-brand .custom-logo { max-width: 50px; max-height: 48px; }
    .lhr-header-right .lhr-brand-name { font-size: 1rem; margin-bottom: 6px; }
    .lhr-socials { gap: 4px; }
    .lhr-social-icon, .lhr-share { width: 28px; height: 28px; padding: 5px; }
    .lhr-site-description { font-size: .72rem; line-height: 1.3; margin-top: 7px; }
}


/* --- LHR 0.5: header alignment and stable compact-on-scroll behaviour --- */
.lhr-site-header {
    position: sticky;
    top: 0;
    z-index: 50;
}

.lhr-header-inner {
    display: block;
    padding: 12px 20px 11px;
}

.lhr-header-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
}

.lhr-brand {
    flex: 0 0 auto;
    margin: 0;
}

.lhr-brand .custom-logo {
    width: auto;
    max-width: 82px;
    max-height: 74px;
    object-fit: contain;
}

.lhr-header-right {
    flex: 1 1 auto;
    min-width: 0;
    align-items: flex-end;
}

.lhr-header-right .lhr-brand-name {
    width: 100%;
    max-width: none;
    font-size: clamp(1.45rem, 2.5vw, 2.25rem);
    line-height: 1.05;
    text-align: right;
    white-space: normal;
    margin: 0 0 8px;
}

.lhr-header-actions {
    width: 100%;
    justify-content: flex-end;
}

.lhr-socials {
    justify-content: flex-end;
}

.lhr-site-description {
    width: 100%;
    max-width: none;
    text-align: left;
    margin: 9px 0 0;
    transition: background-color .2s ease, color .2s ease, padding .2s ease;
}

/*
 * The header no longer changes height while scrolling. Instead, the whole
 * header naturally moves up with the page until only the description remains.
 * This avoids the feedback loop/jitter caused by changing a sticky element's
 * height while the browser is calculating scroll position.
 */
.lhr-site-header {
    top: calc(-1 * var(--lhr-header-top-height, 105px));
}

.lhr-site-header .lhr-header-top {
    min-height: var(--lhr-header-top-height, 105px);
}

.lhr-site-header .lhr-site-description {
    position: relative;
}

/* The class is only informational/stateful. It deliberately does not alter
   the header's dimensions: changing the height of a sticky header while the
   browser is scrolling is what caused the previous jitter. */
.lhr-site-header.is-compact .lhr-site-description {
    background: transparent;
}

@media (max-width: 700px) {
    .lhr-header-inner {
        padding: 9px 15px 10px;
    }

    .lhr-header-top {
        gap: 10px;
    }

    .lhr-brand .custom-logo {
        max-width: 58px;
        max-height: 56px;
    }

    .lhr-header-right .lhr-brand-name {
        /* On narrow screens the right-hand block gets all remaining width. */
        width: 100%;
        max-width: none;
        font-size: clamp(1rem, 5.5vw, 2rem);
        line-height: 1.05;
        margin-bottom: 6px;
    }

    .lhr-site-description {
        text-align: left;
        font-size: .72rem;
        line-height: 1.3;
        margin-top: 7px;
    }

    .lhr-site-header {
        top: calc(-1 * var(--lhr-header-top-height, 76px));
    }

    .lhr-site-header .lhr-header-top {
        min-height: var(--lhr-header-top-height, 76px);
    }

    .lhr-site-header.is-compact .lhr-site-description {
        background: transparent;
    }
}


/* --- LHR 0.6: stable sticky description + reliable mouse clicks --- */
.lhr-site-header {
    position: relative;
    top: auto;
    z-index: 50;
}

.lhr-site-header .lhr-header-inner {
    display: block;
}

.lhr-site-description-bar {
    position: sticky;
    top: 0;
    z-index: 45;
    width: 100%;
    background: rgba(255,250,252,.96);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--lhr-border);
}

.lhr-site-description-inner {
    max-width: var(--lhr-content);
    margin: 0 auto;
    padding: 0 20px;
}

.lhr-site-description-bar .lhr-site-description {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 8px 0;
    color: var(--lhr-muted);
    font-size: .84rem;
    line-height: 1.35;
    text-align: left;
}

/* The category row no longer competes with the sticky description. */
.lhr-category-nav {
    position: relative;
    top: auto;
    z-index: 1;
}

/* Do not let the mouse-drag layer steal ordinary clicks. */
.lhr-slider {
    touch-action: pan-x pan-y;
}

.lhr-slider.is-dragging {
    cursor: grabbing;
    user-select: none;
}

@media (max-width: 700px) {
    .lhr-site-description-inner {
        padding: 0 15px;
    }

    .lhr-site-description-bar .lhr-site-description {
        padding: 7px 0;
        font-size: .72rem;
        line-height: 1.3;
        text-align: left;
    }
}

/* --- LHR 0.7: sticky description and uniform article cards --- */
.lhr-site-description-bar {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
    background: rgba(255,250,252,.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* The category buttons scroll normally and never sit on top of the sticky bar. */
.lhr-category-nav {
    position: relative !important;
    top: auto !important;
    z-index: 1;
}

/* Every card has the same title area, image area and date row. */
.lhr-card > a {
    display: grid !important;
    grid-template-rows: 3.05em auto 2.15em;
    width: 100%;
    height: 100%;
}

.lhr-card-title {
    grid-row: 1;
    height: 3.05em;
    min-height: 3.05em;
    max-height: 3.05em;
    margin: 0 !important;
    padding: 15px 16px 8px !important;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.lhr-card-image {
    grid-row: 2;
    width: 100%;
    aspect-ratio: 16 / 9;
}

.lhr-card-meta {
    grid-row: 3;
    align-self: end;
    width: 100%;
    height: 2.15em;
    margin: 0 !important;
    padding: 7px 16px 12px !important;
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 700px) {
    .lhr-card > a {
        grid-template-rows: 3.05em auto 2.15em;
    }

    .lhr-card-title {
        height: 3.05em;
        min-height: 3.05em;
        max-height: 3.05em;
        padding: 13px 14px 8px !important;
        font-size: 1.08rem;
    }

    .lhr-card-meta {
        height: 2.15em;
        padding: 7px 14px 12px !important;
    }
}


/* v0.8 visual polish */
/* --- LHR 0.8.1: Tarjetas ajustadas sin solapamiento --- */

/* 1. Estructura de la tarjeta */
.lhr-card > a {
    display: grid !important;
    /* Título (auto-ajustado) | Imagen (fija) | Fecha/Meta (auto-ajustado) */
    grid-template-rows: auto 180px auto !important;
    width: 100%;
    height: 100%;
}

/* 2. Título (Máximo 2 líneas, altura fija garantizada para 1 o 2 líneas) */
.lhr-card-title {
    /* Muestra máximo 2 líneas con puntos suspensivos */
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    
    /* Tipografía e interlineado explícitos */
    font-size: 1.15rem !important;
    line-height: 1.25 !important;
    
    /* Calculamos la altura exacta de 2 líneas (1.15rem * 1.25 * 2 = 2.875rem) 
       más los paddings para asegurar que siempre ocupe el mismo espacio */
    padding: 12px 16px 8px !important;
    height: calc((1.15rem * 1.25 * 2) + 20px) !important;
    min-height: calc((1.15rem * 1.25 * 2) + 20px) !important;
    max-height: calc((1.15rem * 1.25 * 2) + 20px) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* 3. Contenedor de la Imagen */
.lhr-card-image {
    height: 180px !important;
    max-height: 180px !important;
    aspect-ratio: auto !important;
    overflow: hidden;
}

.lhr-card-image img {
    width: 100%;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover;
    display: block;
}

/* 4. Fecha / Meta (Centrada verticalmente en su espacio) */
.lhr-card-meta {
    height: 40px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;       /* Centrado vertical */
    justify-content: flex-end !important; /* Alineado a la derecha */
    white-space: nowrap;
}

/* Header title: deliberadamente grande en pantallas anchas */
.lhr-header-right .lhr-brand-name {
    font-size: clamp(2.6rem, 4vw, 3.6rem) !important;
    line-height: 1.02;
}

/* Iconos sociales limpios */
.lhr-socials a,
.lhr-share {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 5px !important;
}

.lhr-socials svg,
.lhr-share svg {
    width: 29px !important;
    height: 29px !important;
    display: block;
}

/* --- Ajustes Móvil (pantallas <= 700px) --- */
@media (max-width: 700px) {
    .lhr-card > a {
        grid-template-rows: auto 155px auto !important;
    }

    .lhr-card-title {
        font-size: 1.05rem !important;
        padding: 10px 14px 6px !important;
        height: calc((1.05rem * 1.25 * 2) + 16px) !important;
        min-height: calc((1.05rem * 1.25 * 2) + 16px) !important;
        max-height: calc((1.05rem * 1.25 * 2) + 16px) !important;
    }

    .lhr-card-image {
        height: 155px !important;
        max-height: 155px !important;
    }

    .lhr-card-meta {
        height: 36px !important;
        padding: 0 14px !important;
    }

    .lhr-header-right .lhr-brand-name {
        font-size: clamp(1.25rem, 6vw, 2.4rem) !important;
    }

    .lhr-socials svg,
    .lhr-share svg {
        width: 26px !important;
        height: 26px !important;
    }
}

/* Comments on single posts */
.lhr-single .comments-area {\n    max-width: 900px;\n    margin: 3rem auto 0;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(0,0,0,.12);\n}

.lhr-single .comments-title,\n.lhr-single .comment-reply-title {\n    margin: 0 0 1.5rem;\n}

.lhr-single .comment-list {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n}

.lhr-single .comment-list .comment {\n    margin: 0 0 1.5rem;\n    padding: 1rem 0;\n    border-bottom: 1px solid rgba(0,0,0,.08);\n}

.lhr-single .comment-meta {\n    font-size: .85rem;\n    margin-bottom: .5rem;\n}

.lhr-single .comment-content p:last-child {\n    margin-bottom: 0;\n}

.lhr-single .comment-respond {\n    margin-top: 2rem;\n}

.lhr-single .comment-form p {\n    margin: 0 0 1rem;\n}

.lhr-single .comment-form input[type="text"],\n.lhr-single .comment-form input[type="email"],\n.lhr-single .comment-form input[type="url"],\n.lhr-single .comment-form textarea {\n    box-sizing: border-box;\n    width: 100%;\n    max-width: 100%;\n    padding: .7rem .8rem;\n    border: 1px solid rgba(0,0,0,.2);\n    border-radius: 3px;\n    font: inherit;\n}

.lhr-single .comment-form textarea {\n    min-height: 140px;\n    resize: vertical;\n}

.lhr-single .comment-form .submit {\n    cursor: pointer;\n}\n

/* --- Comments: clearer call to action --- */
.lhr-single .comments-area {
    margin-top: 3.5rem;
    padding-top: 2.5rem;
}

.lhr-single .comments-title {
    font-size: 1.35rem;
    font-weight: 600;
}

.lhr-single .comment-respond {
    margin-top: 2.5rem;
    padding: 1.5rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 8px;
    background: rgba(0,0,0,.025);
}

.lhr-single .comment-reply-title {
    margin: 0 0 .45rem;
    font-size: 1.45rem;
}

.lhr-single .comment-respond::before {
    content: 'Tu opinión cuenta';
    display: block;
    margin-bottom: .75rem;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .62;
}

.lhr-single .comment-form-comment label,
.lhr-single .comment-form-author label,
.lhr-single .comment-form-email label,
.lhr-single .comment-form-url label {
    display: block;
    margin-bottom: .35rem;
    font-weight: 600;
}

.lhr-single .comment-form .comment-notes,
.lhr-single .comment-form .logged-in-as,
.lhr-single .comment-form .comment-form-cookies-consent {
    font-size: .88rem;
    line-height: 1.45;
    opacity: .78;
}

.lhr-single .comment-form .comment-form-cookies-consent {
    display: flex;
    gap: .55rem;
    align-items: flex-start;
}

.lhr-single .comment-form .comment-form-cookies-consent input {
    margin-top: .25rem;
    flex: 0 0 auto;
}

.lhr-single .comment-form .submit {
    display: inline-block;
    padding: .7rem 1.15rem;
    border: 0;
    border-radius: 4px;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .15s ease, transform .15s ease;
}

.lhr-single .comment-form .submit:hover {
    opacity: .82;
    transform: translateY(-1px);
}
