/* ═══════════════════════════════════════════════════════════
   AlquimIA — Theme CSS
   100% variables CSS. Ningún valor visual hardcodeado.
   Todo se genera desde inc/enqueue.php via el Customizer.
   ═══════════════════════════════════════════════════════════ */

/* ── Reset & Base ─────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--alq-font-body);
    font-size: var(--alq-font-size-base);
    line-height: var(--alq-line-height);
    color: var(--alq-text);
    background-color: var(--alq-bg-light);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.alq-no-scroll { overflow: hidden; }

img, svg { display: block; max-width: 100%; }

a {
    color: var(--alq-accent);
    text-decoration: none;
    transition: color var(--alq-transition);
}
a:hover { color: var(--alq-accent-hover); }

/* ── Tipografía ───────────────────────────────────────────── */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--alq-font-display);
    font-weight: var(--alq-heading-weight);
    line-height: var(--alq-heading-line-height);
    color: var(--alq-text);
}

h1 { font-size: var(--alq-font-size-h1); font-weight: var(--alq-h1-weight); }
h2 { font-size: var(--alq-font-size-h2); }
h3 { font-size: var(--alq-font-size-h3); }
h4 { font-size: var(--alq-font-size-h4); }

p { margin-bottom: 1rem; }
p:last-child { margin-bottom: 0; }

/* ── Layout ───────────────────────────────────────────────── */

.alq-container {
    width: 100%;
    max-width: var(--alq-container-width);
    margin-inline: auto;
    padding-inline: var(--alq-container-padding);
}

.alq-section { padding-block: var(--alq-section-padding); }
.alq-section--dark { background-color: var(--alq-bg-dark); color: var(--alq-text-on-dark); }
.alq-section--alt  { background-color: var(--alq-bg-alt); }

.alq-section__header { text-align: center; margin-bottom: var(--alq-section-header-gap); }
.alq-section__title  { margin-bottom: 0.75rem; }
.alq-section--dark .alq-section__title { color: var(--alq-text-on-dark); }

.alq-section__subtitle {
    color: var(--alq-text-secondary);
    font-size: var(--alq-subtitle-size);
    max-width: 600px;
    margin-inline: auto;
}
.alq-section--dark .alq-section__subtitle { color: var(--alq-text-muted); }

/* ── Botones ──────────────────────────────────────────────── */

.alq-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--alq-font-body);
    font-weight: var(--alq-btn-weight);
    font-size: var(--alq-btn-font-size);
    padding: var(--alq-btn-padding-v) var(--alq-btn-padding-h);
    border-radius: var(--alq-btn-radius);
    border: var(--alq-btn-border-width) solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: all var(--alq-transition);
    white-space: nowrap;
}

/* Primario — fondo sólido */
.alq-btn--primary {
    background-color: var(--alq-btn-primary-bg);
    color: var(--alq-btn-primary-text);
    border-color: var(--alq-btn-primary-bg);
}
.alq-btn--primary:hover {
    background-color: var(--alq-btn-primary-bg-hover);
    border-color: var(--alq-btn-primary-bg-hover);
    color: var(--alq-btn-primary-text);
    transform: translateY(-1px);
    box-shadow: var(--alq-shadow-hover);
}

/* Secundario — outline */
.alq-btn--secondary {
    background-color: transparent;
    color: var(--alq-btn-secondary-text);
    border-color: var(--alq-btn-secondary-border);
}
.alq-btn--secondary:hover {
    background-color: var(--alq-btn-secondary-text);
    color: var(--alq-btn-primary-text);
    border-color: var(--alq-btn-secondary-text);
    transform: translateY(-1px);
}

/* Ghost — para fondos oscuros */
.alq-btn--ghost {
    background-color: transparent;
    color: var(--alq-btn-ghost-text);
    border-color: var(--alq-btn-ghost-border);
}
.alq-btn--ghost:hover {
    background-color: var(--alq-btn-ghost-hover-bg);
    border-color: var(--alq-btn-ghost-hover-border);
    color: var(--alq-btn-ghost-hover-text);
}

.alq-btn--sm { font-size: var(--alq-btn-font-size-sm); padding: var(--alq-btn-padding-sm); }
.alq-btn--lg { font-size: var(--alq-btn-font-size-lg); padding: var(--alq-btn-padding-lg); }

/* ── Header ───────────────────────────────────────────────── */

.alq-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: var(--alq-bg-darker);
    border-bottom: 1px solid var(--alq-border-on-dark);
    transition: box-shadow var(--alq-transition);
}
.alq-header--scrolled { box-shadow: var(--alq-shadow-lg); }

.alq-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--alq-header-height);
}

.alq-header__logo { display: flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.alq-header__logo img { height: var(--alq-logo-height); width: auto; }

.alq-header__site-name {
    font-family: var(--alq-font-display);
    font-size: var(--alq-site-name-size);
    font-weight: var(--alq-site-name-weight);
    color: var(--alq-text-on-dark);
    letter-spacing: -0.02em;
}

.alq-header__nav { display: flex; align-items: center; }
.alq-header__menu { list-style: none; display: flex; align-items: center; gap: 0.25rem; }

.alq-header__menu a {
    display: block;
    padding: 0.5rem 0.875rem;
    color: var(--alq-nav-link-color);
    font-size: var(--alq-nav-font-size);
    font-weight: var(--alq-nav-font-weight);
    border-radius: var(--alq-radius-sm);
    transition: color var(--alq-transition), background-color var(--alq-transition);
}
.alq-header__menu a:hover,
.alq-header__menu .current-menu-item > a {
    color: var(--alq-nav-link-active-color);
    background-color: var(--alq-nav-hover-bg);
}

.alq-header__menu .menu-item-has-children { position: relative; }
.alq-header__menu .sub-menu {
    list-style: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 200px;
    background-color: var(--alq-bg-darker);
    border: 1px solid var(--alq-border-on-dark);
    border-radius: var(--alq-radius-sm);
    box-shadow: var(--alq-shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity var(--alq-transition), transform var(--alq-transition), visibility var(--alq-transition);
}
.alq-header__menu .menu-item-has-children:hover > .sub-menu {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.alq-header__menu .sub-menu a { border-radius: 0; padding: 0.6rem 1rem; }

.alq-header__hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
}
.alq-header__hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background-color: var(--alq-text-on-dark);
    transition: transform var(--alq-transition), opacity var(--alq-transition);
}
.alq-header__hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.alq-header__hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.alq-header__hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.alq-nav-overlay {
    display: none;
    position: fixed;
    inset: var(--alq-header-height) 0 0 0;
    background-color: var(--alq-bg-darker);
    z-index: 99;
    padding: 1.5rem;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform var(--alq-transition);
}
.alq-nav-overlay--open { transform: translateX(0); }

/* ── Page Header ──────────────────────────────────────────── */

.alq-page-header {
    background-color: var(--alq-bg-darker);
    color: var(--alq-text-on-dark);
    padding-block: var(--alq-page-header-padding);
    border-bottom: 1px solid var(--alq-border-on-dark);
}
.alq-page-header__badge {
    display: inline-block;
    font-size: var(--alq-badge-size);
    font-weight: var(--alq-badge-weight);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--alq-accent);
    margin-bottom: 0.75rem;
}
.alq-page-header__title    { color: var(--alq-text-on-dark); margin-bottom: 0.75rem; }
.alq-page-header__subtitle { color: var(--alq-text-muted); font-size: var(--alq-subtitle-size); max-width: 640px; }
.alq-page-header__meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--alq-text-muted);
    font-size: var(--alq-meta-size);
    margin-top: 0.5rem;
}
.alq-page-header__sep { opacity: 0.5; }

/* ── Hero ─────────────────────────────────────────────────── */

.alq-hero {
    background-color: var(--alq-hero-bg);
    padding-block: var(--alq-hero-padding);
    position: relative;
    overflow: hidden;
}
.alq-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 60% 50%, var(--alq-accent-glow) 0%, transparent 60%);
    pointer-events: none;
}
.alq-hero__content { position: relative; max-width: var(--alq-hero-max-width); }

.alq-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: var(--alq-eyebrow-size);
    font-weight: var(--alq-eyebrow-weight);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--alq-hero-eyebrow-color);
    margin-bottom: 1.25rem;
}
.alq-hero__title {
    font-size: var(--alq-font-size-hero);
    font-weight: var(--alq-h1-weight);
    line-height: var(--alq-heading-line-height);
    color: var(--alq-hero-title-color);
    margin-bottom: 1.25rem;
}
.alq-hero__title em {
    font-style: normal;
    font-family: var(--alq-font-serif);
    color: var(--alq-hero-em-color);
}
.alq-hero__description {
    font-size: var(--alq-hero-desc-size);
    color: var(--alq-hero-desc-color);
    margin-bottom: 2rem;
    max-width: var(--alq-hero-desc-max-width);
}
.alq-hero__actions { display: flex; flex-wrap: wrap; gap: 0.875rem; }

/* ── Cards ────────────────────────────────────────────────── */

.alq-card-grid { display: grid; gap: var(--alq-grid-gap); }
.alq-card-grid--2 { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
.alq-card-grid--3 { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }

.alq-card {
    background-color: var(--alq-bg-card);
    border: 1px solid var(--alq-border);
    border-radius: var(--alq-radius);
    overflow: hidden;
    transition: box-shadow var(--alq-transition), transform var(--alq-transition);
    display: flex;
    flex-direction: column;
}
.alq-card:hover { box-shadow: var(--alq-shadow-hover); transform: translateY(-3px); }

.alq-card__thumb { aspect-ratio: 16/9; overflow: hidden; }
.alq-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.alq-card:hover .alq-card__thumb img { transform: scale(1.04); }

.alq-card__body { padding: var(--alq-card-padding); display: flex; flex-direction: column; flex: 1; }

.alq-card__cat {
    font-size: var(--alq-badge-size);
    font-weight: var(--alq-badge-weight);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--alq-accent);
    margin-bottom: 0.5rem;
}
.alq-card__title {
    font-size: var(--alq-card-title-size);
    font-weight: var(--alq-card-title-weight);
    line-height: 1.3;
    color: var(--alq-text);
    margin-bottom: 0.625rem;
}
.alq-card__title a { color: inherit; text-decoration: none; }
.alq-card__title a:hover { color: var(--alq-accent); }

.alq-card__excerpt {
    color: var(--alq-text-secondary);
    font-size: var(--alq-card-excerpt-size);
    line-height: 1.6;
    flex: 1;
    margin-bottom: 1rem;
}
.alq-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: var(--alq-meta-size);
    color: var(--alq-text-secondary);
    padding-top: 0.875rem;
    border-top: 1px solid var(--alq-border);
}
.alq-card__badge {
    display: inline-block;
    font-size: var(--alq-badge-size);
    font-weight: var(--alq-badge-weight);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.25rem 0.6rem;
    border-radius: 99px;
    background-color: var(--alq-accent-light);
    color: var(--alq-accent-hover);
}

/* ── Featured / Qué hacemos ───────────────────────────────── */

.alq-featured { background-color: var(--alq-bg-alt); }

/* ── Newsletter ───────────────────────────────────────────── */

.alq-newsletter {
    background-color: var(--alq-newsletter-bg);
    padding-block: 2rem;
}

.alq-newsletter__inner {
    text-align: center;
}

.alq-newsletter__eyebrow {
    display: inline-block;
    font-family: var(--alq-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--alq-accent);
    margin-bottom: 1rem;
}

.alq-newsletter__title {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: var(--alq-h1-weight);
    color: var(--alq-text-on-dark);
    line-height: 1.2;
    margin-bottom: 1rem;
}

.alq-newsletter .alq-newsletter__text {
    color: var(--alq-text-muted);
    font-size: 1.05rem;
    max-width: 480px;
    margin-inline: auto;
    margin-bottom: 0;
    text-align: center !important;
    display: block;
    width: 100%;
}

.alq-newsletter__form-wrap {
    max-width: 520px;
    margin-inline: auto;
    margin-top: 2rem;
}

.alq-newsletter__form {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.alq-newsletter__form .alq-newsletter__input { vertical-align: middle; }
.alq-newsletter__form .alq-btn { vertical-align: middle; margin: 0 !important; }

.alq-newsletter__input {
    flex: 1;
    padding: var(--alq-btn-padding-v) 1rem;
    border: 1px solid var(--alq-border-on-dark);
    border-radius: var(--alq-radius-sm);
    background-color: var(--alq-input-bg);
    color: var(--alq-text-on-dark);
    font-family: var(--alq-font-body);
    font-size: var(--alq-btn-font-size);
    line-height: var(--alq-btn-line-height, 1.5);
    outline: none;
    transition: border-color var(--alq-transition);
    min-width: 0;
    box-sizing: border-box;
    height: auto !important;
    min-height: 50px !important;
}
.alq-newsletter__input::placeholder { color: var(--alq-text-secondary); }
.alq-newsletter__input:focus { border-color: var(--alq-accent); }

.alq-newsletter__feedback {
    margin-top: 0.75rem;
    font-size: var(--alq-meta-size);
    min-height: 1.2em;
}
.alq-newsletter__feedback--ok    { color: #ffffff; }
.alq-newsletter__feedback--error { color: #fca5a5; }

.alq-newsletter__legal {
    font-size: var(--alq-legal-size);
    color: var(--alq-text-secondary);
    margin-top: 1rem;
}

@media (max-width: 480px) {
    .alq-newsletter__form {
        flex-direction: column;
    }
    .alq-newsletter__form .alq-btn {
        width: 100%;
        justify-content: center;
    }
    .alq-newsletter__input {
        width: 100% !important;
        padding-top: 0.875rem !important;
        padding-bottom: 0.875rem !important;
        font-size: 1rem !important;
        min-height: unset !important;
        height: auto !important;
    }
}

/* ── Single Post ──────────────────────────────────────────── */

.alq-main { padding-block: var(--alq-section-padding); }
.alq-single { max-width: var(--alq-single-max-width); margin-inline: auto; }

.alq-single__featured {
    border-radius: var(--alq-radius);
    overflow: hidden;
    margin-bottom: 2.5rem;
    aspect-ratio: 16/9;
}
.alq-single__featured img { width: 100%; height: 100%; object-fit: cover; }

.alq-single__content { font-size: var(--alq-prose-size); line-height: var(--alq-prose-line-height); }
.alq-single__content h2,
.alq-single__content h3 { margin-top: 2.5rem; margin-bottom: 1rem; }
.alq-single__content p   { margin-bottom: 1.25rem; }
.alq-single__content ul,
.alq-single__content ol  { margin-bottom: 1.25rem; padding-left: 1.5rem; }
.alq-single__content li  { margin-bottom: 0.5rem; }

.alq-single__content blockquote {
    border-left: var(--alq-blockquote-border-width) solid var(--alq-accent);
    padding-left: 1.25rem;
    color: var(--alq-text-secondary);
    font-style: italic;
    margin: 2rem 0;
}
.alq-single__content code {
    font-family: var(--alq-font-mono);
    font-size: var(--alq-code-size);
    background-color: var(--alq-bg-alt);
    padding: 0.1em 0.4em;
    border-radius: 4px;
}
.alq-single__content pre code { display: block; padding: 1.25rem; overflow-x: auto; }

.alq-single__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--alq-border);
}
.alq-single__tag {
    font-size: var(--alq-tag-size);
    color: var(--alq-text-secondary);
    padding: 0.3rem 0.7rem;
    border: 1px solid var(--alq-border);
    border-radius: 99px;
    transition: border-color var(--alq-transition), color var(--alq-transition);
}
.alq-single__tag:hover { border-color: var(--alq-accent); color: var(--alq-accent); }

/* ── Author Box ───────────────────────────────────────────── */

.alq-author-box {
    display: flex;
    gap: 1.25rem;
    padding: var(--alq-author-box-padding);
    background-color: var(--alq-author-box-bg);
    border-radius: var(--alq-radius);
    margin-top: 2.5rem;
    max-width: var(--alq-single-max-width);
    margin-inline: auto;
}
.alq-author-box__avatar {
    width: var(--alq-avatar-size);
    height: var(--alq-avatar-size);
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.alq-author-box__name { font-weight: var(--alq-author-name-weight); margin-bottom: 0.25rem; font-size: var(--alq-author-name-size); }
.alq-author-box__bio  { font-size: var(--alq-author-bio-size); color: var(--alq-text-secondary); }

/* ── Related Posts ────────────────────────────────────────── */

.alq-related {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--alq-border);
}
.alq-related__title { margin-bottom: 1.5rem; }

/* ── Paginación ───────────────────────────────────────────── */

.alq-pagination { margin-top: 3rem; display: flex; justify-content: center; }
.alq-pagination .nav-links { display: flex; gap: 0.5rem; flex-wrap: wrap; }

.alq-pagination a,
.alq-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding-inline: 0.75rem;
    border: 1px solid var(--alq-border);
    border-radius: var(--alq-radius-sm);
    font-size: var(--alq-meta-size);
    color: var(--alq-text-secondary);
    transition: all var(--alq-transition);
}
.alq-pagination a:hover,
.alq-pagination .current {
    border-color: var(--alq-accent);
    color: var(--alq-accent);
    background-color: var(--alq-accent-light);
}

/* ── Footer ───────────────────────────────────────────────── */

.alq-footer {
    background-color: var(--alq-footer-bg);
    color: var(--alq-text-muted);
    padding-top: var(--alq-footer-padding);
    padding-bottom: 2rem;
    border-top: 1px solid var(--alq-border-on-dark);
}
.alq-footer__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--alq-border-on-dark);
}
.alq-footer__logo { display: inline-block; margin-bottom: 1rem; }
.alq-footer__logo img { height: var(--alq-logo-height); width: auto; }

.alq-footer__tagline {
    font-family: var(--alq-font-display);
    font-size: var(--alq-footer-tagline-size);
    font-weight: var(--alq-footer-tagline-weight);
    color: var(--alq-text-on-dark);
    margin-bottom: 0.5rem;
}
.alq-footer__description {
    font-size: var(--alq-footer-desc-size);
    color: var(--alq-text-secondary);
    max-width: 280px;
}
.alq-footer__heading {
    font-size: var(--alq-badge-size);
    font-weight: var(--alq-badge-weight);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--alq-text-on-dark);
    margin-bottom: 1rem;
}
.alq-footer__menu { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; padding: 0; margin: 0; text-align: left; }
.alq-footer__menu li { text-align: left; }
.alq-footer__menu a { font-size: var(--alq-footer-link-size); color: var(--alq-text-secondary); transition: color var(--alq-transition); }
.alq-footer__menu a:hover { color: var(--alq-accent); }

.alq-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1.5rem;
    gap: 1rem;
    flex-wrap: wrap;
}
.alq-footer__social { display: flex; gap: 0.75rem; }
.alq-footer__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--alq-social-icon-size);
    height: var(--alq-social-icon-size);
    border: 1px solid var(--alq-border-on-dark);
    border-radius: 50%;
    color: var(--alq-text-secondary);
    transition: all var(--alq-transition);
}
.alq-footer__social-link:hover { border-color: var(--alq-accent); color: var(--alq-accent); }
.alq-footer__copyright { font-size: var(--alq-legal-size); color: var(--alq-text-secondary); text-align: center; width: 100%; }

/* ── Widgets ──────────────────────────────────────────────── */

.alq-widget { margin-bottom: 2rem; }
.alq-widget__title {
    font-size: var(--alq-badge-size);
    font-weight: var(--alq-badge-weight);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--alq-text-secondary);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--alq-border);
}

/* ── Página de Guías ──────────────────────────────────────── */

.alq-guias-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 2.5rem; }

.alq-filter-btn {
    font-family: var(--alq-font-body);
    font-size: var(--alq-filter-btn-size);
    font-weight: var(--alq-filter-btn-weight);
    padding: 0.4rem 1rem;
    border: 1px solid var(--alq-border);
    border-radius: 99px;
    background: none;
    color: var(--alq-text-secondary);
    cursor: pointer;
    transition: all var(--alq-transition);
}
.alq-filter-btn:hover,
.alq-filter-btn.active {
    border-color: var(--alq-accent);
    color: var(--alq-accent);
    background-color: var(--alq-accent-light);
}

/* ── 404 ──────────────────────────────────────────────────── */

.alq-404 {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-block: 4rem;
}
.alq-404__code {
    font-size: var(--alq-404-size);
    font-weight: var(--alq-h1-weight);
    color: var(--alq-accent);
    line-height: 1;
    margin-bottom: 1rem;
    font-family: var(--alq-font-display);
}
.alq-404__title { margin-bottom: 0.75rem; }
.alq-404__text  { color: var(--alq-text-secondary); margin-bottom: 2rem; }

/* ── Animaciones de entrada ───────────────────────────────── */

.alq-card,
.alq-section__title {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.alq-animate-in { opacity: 1 !important; transform: translateY(0) !important; }

/* Los colores del hero no deben depender de la opacidad del contenedor */
.alq-hero__eyebrow    { color: var(--alq-hero-eyebrow-color) !important; }
.alq-hero__title      { color: var(--alq-hero-title-color) !important; }
.alq-hero__title em   { color: var(--alq-hero-em-color) !important; }
.alq-hero__description{ color: var(--alq-hero-desc-color) !important; }

/* ── Buscador ─────────────────────────────────────────────── */

.alq-search-form { display: flex; gap: 0.5rem; }
.alq-search-form input[type="search"] {
    flex: 1;
    padding: 0.6rem 1rem;
    border: 1px solid var(--alq-border);
    border-radius: var(--alq-radius-sm);
    font-family: var(--alq-font-body);
    font-size: var(--alq-input-font-size);
    outline: none;
    transition: border-color var(--alq-transition);
}
.alq-search-form input[type="search"]:focus { border-color: var(--alq-accent); }

/* ── Responsive ───────────────────────────────────────────── */

@media (max-width: 900px) {
    .alq-footer__grid { grid-template-columns: 1fr 1fr; }
    .alq-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
    .alq-header__nav       { display: none; }
    .alq-header__hamburger { display: flex; }
    .alq-nav-overlay       { display: block; }

    .alq-nav-overlay .alq-header__menu { flex-direction: column; align-items: flex-start; gap: 0.25rem; }
    .alq-nav-overlay .alq-header__menu a { font-size: 1.1rem; padding: 0.75rem 0.5rem; width: 100%; }
    .alq-nav-overlay .sub-menu {
        position: static; opacity: 1; visibility: visible;
        transform: none; border: none; box-shadow: none;
        padding-left: 1rem; display: none;
    }
    .alq-nav-overlay .alq-sub-menu--open { display: block; }

    .alq-footer__grid    { grid-template-columns: 1fr; gap: 2rem; }
    .alq-footer__bottom  { flex-direction: column; align-items: flex-start; }
    .alq-author-box      { flex-direction: column; }
    .alq-newsletter__form { flex-direction: column; }
}

@media (max-width: 480px) {
    .alq-card-grid--2,
    .alq-card-grid--3  { grid-template-columns: 1fr; }
    .alq-hero__actions { flex-direction: column; }
}

/* ── Página de Guías ──────────────────────────────────────── */

.alq-guias-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--alq-grid-gap);
}

.alq-guia-card {
    background-color: var(--alq-bg-card);
    border: 1px solid var(--alq-border);
    border-radius: var(--alq-radius);
    padding: var(--alq-card-padding);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    transition: box-shadow var(--alq-transition), transform var(--alq-transition);
}

.alq-guia-card:hover {
    box-shadow: var(--alq-shadow-hover);
    transform: translateY(-3px);
}

.alq-guia-card__header {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    flex: 1;
}

.alq-guia-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.alq-guia-card__cat {
    display: inline-block;
    font-size: var(--alq-badge-size);
    font-weight: var(--alq-badge-weight);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.2rem 0.65rem;
    border-radius: 99px;
    background-color: var(--alq-accent-light);
    color: var(--alq-accent-hover);
}

.alq-guia-card__level {
    display: inline-block;
    font-size: var(--alq-badge-size);
    font-weight: var(--alq-badge-weight);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.2rem 0.65rem;
    border-radius: 99px;
    border: 1px solid var(--alq-border);
    color: var(--alq-text-secondary);
}

.alq-guia-card__level--basico     { border-color: var(--alq-level-basico-border,     #86efac); color: var(--alq-level-basico-text,     #16a34a); }
.alq-guia-card__level--intermedio { border-color: var(--alq-level-intermedio-border, #fcd34d); color: var(--alq-level-intermedio-text, #d97706); }
.alq-guia-card__level--avanzado   { border-color: var(--alq-level-avanzado-border,   #fca5a5); color: var(--alq-level-avanzado-text,   #dc2626); }

.alq-guia-card__title {
    font-size: var(--alq-card-title-size);
    font-weight: var(--alq-card-title-weight);
    line-height: 1.3;
    color: var(--alq-text);
    margin: 0;
}

.alq-guia-card__title a {
    color: inherit;
    text-decoration: none;
    transition: color var(--alq-transition);
}
.alq-guia-card__title a:hover { color: var(--alq-accent); }

.alq-guia-card__excerpt {
    font-size: var(--alq-card-excerpt-size);
    color: var(--alq-text-secondary);
    line-height: 1.6;
    margin: 0;
    flex: 1;
}

.alq-guia-card__footer {
    padding-top: 1rem;
    border-top: 1px solid var(--alq-border);
    display: flex;
    justify-content: center;
}

.alq-guias-empty {
    text-align: center;
    padding: 4rem 2rem;
    color: var(--alq-text-secondary);
}

/* Ocultar tarjetas filtradas */
.alq-guia-card[hidden] { display: none; }

@media (max-width: 480px) {
    .alq-guias-grid { grid-template-columns: 1fr; }
}

/* WPForms — deshabilitar redimensionado del textarea */
.wpforms-field textarea {
    resize: none !important;
}

div.wpforms-confirmation-container-full,
div.wpforms-confirmation-container-full.wpforms-confirmation-scroll {
    background-color: var(--alq-wpforms-confirm-bg) !important;
    border: 2px solid var(--alq-wpforms-confirm-border) !important;
    border-radius: var(--alq-radius-sm) !important;
    box-shadow: none !important;
}

div.wpforms-confirmation-container-full p,
div.wpforms-confirmation-container-full * {
    color: var(--alq-wpforms-confirm-text) !important;
    margin: 0 !important;
}

div.wpforms-confirmation-container-full p,
div.wpforms-confirmation-container-full * {
    margin: 0 !important;
}

/* ── Newsletter ───────────────────────────────────────────── */

.alq-newsletter {
    background-color: var(--alq-newsletter-bg);
    padding-block: 1rem;
}

/* ── Página de Gracias ────────────────────────────────────── */

.alq-gracias {
    text-align: center;
    padding-block: clamp(4rem, 10vw, 8rem);
    max-width: 560px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.alq-gracias__icon {
    color: var(--alq-accent);
}

.alq-gracias__title {
    font-size: var(--alq-font-size-h2);
    color: var(--alq-text);
}

.alq-gracias__text {
    color: var(--alq-text-secondary);
    font-size: var(--alq-subtitle-size);
    margin: 0;
}

/* ── Páginas legales ──────────────────────────────────────── */

.alq-legal-main {
    background-color: var(--alq-bg-light);
    padding-block: clamp(3rem, 6vw, 5rem);
}

.alq-legal {
    max-width: 720px;
    margin-inline: auto;
}

.alq-legal__header {
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--alq-border);
}

.alq-legal__title {
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    color: var(--alq-text);
    margin-bottom: 0.5rem;
}

.alq-legal__date {
    color: var(--alq-text-secondary);
    font-size: 0.875rem;
    margin: 0;
}

.alq-legal__content {
    color: var(--alq-text);
    font-size: 1rem;
    line-height: 1.8;
}

.alq-legal__content h2 {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--alq-text);
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

.alq-legal__content p {
    margin-bottom: 1rem;
}

.alq-legal__content ul,
.alq-legal__content ol {
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}

.alq-legal__content li {
    margin-bottom: 0.4rem;
}

.alq-legal__content a {
    color: var(--alq-accent);
    text-decoration: underline;
}

.alq-legal__content a:hover {
    color: var(--alq-accent-hover);
}

.alq-footer__legal-links {
    margin-top: 0.5rem;
}

.alq-footer__legal-links a {
    color: var(--alq-text-secondary);
    font-size: 0.8rem;
    text-decoration: none;
    transition: color var(--alq-transition);
}

.alq-footer__legal-links a:hover {
    color: var(--alq-text-on-dark);
}

/* ── Ocultar enlace de Complianz en el footer ─────────────── */
.cc-privacy-revokeBtn,
#cmplz-document-link,
.cmplz-document-link,
[class*="cmplz-"][class*="footer"],
.cmplz-link { display: none !important; }

/* ── Ocultar enlace de Complianz en el footer ─────────────── */
.cmplz-footer { display: none !important; }

/* ── Ocultar enlace de Complianz en el footer ─────────────── */
.cmplz-footer { display: none !important; }

/* ── Ocultar enlace de política de Complianz en el footer ─── */
.cmplz-footer { display: none !important; }

/* ── Ocultar enlace de Complianz en el footer ─────────────── */
.cmplz-footer { display: none !important; }

/* ── Página Sobre Nosotros ────────────────────────────────── */

.alq-about-hero {
    background: var(--alq-bg-darker);
    padding-block: clamp(4rem, 8vw, 7rem);
    text-align: center;
    border-bottom: 1px solid var(--alq-border);
}

.alq-about-eyebrow {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--alq-accent);
    margin-bottom: 1rem;
}

.alq-about-title {
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    color: var(--alq-text-on-dark);
    margin-bottom: 1.5rem;
}

.alq-about-lead {
    max-width: 680px;
    margin-inline: auto;
    font-size: 1.125rem;
    line-height: 1.7;
    color: var(--alq-text-secondary);
}

.alq-about-lead strong { color: var(--alq-text-on-dark); }

/* Historia */
.alq-about-story {
    background: var(--alq-bg-dark);
    padding-block: clamp(3rem, 6vw, 5rem);
    border-bottom: 1px solid var(--alq-border);
}

.alq-about-story__inner {
    display: flex;
    gap: 2.5rem;
    align-items: flex-start;
    max-width: 820px;
    margin-inline: auto;
}

.alq-about-story__icon {
    font-size: 3rem;
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.alq-about-story__text {
    color: var(--alq-text-secondary);
    font-size: 1.05rem;
    line-height: 1.8;
}

.alq-about-story__text p { margin-bottom: 1rem; }
.alq-about-story__text p:last-child { margin-bottom: 0; }
.alq-about-story__text strong { color: var(--alq-text-on-dark); }

/* Equipo */
.alq-about-team {
    background: var(--alq-bg-light);
    padding-block: clamp(3rem, 6vw, 5rem);
}

.alq-about-team__heading {
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: var(--alq-text);
    margin-bottom: 2.5rem;
    text-align: center;
}

.alq-about-card {
    background: var(--alq-bg-card);
    border: 1px solid var(--alq-border);
    border-radius: var(--alq-radius);
    padding: 2.5rem;
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 2.5rem;
    margin-bottom: 1.5rem;
}

.alq-about-card:last-child { margin-bottom: 0; }

.alq-about-card__sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
}

.alq-about-avatar {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: var(--alq-accent);
    color: #000;
    font-size: 1.5rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.alq-about-card__tools {
    text-align: center;
}

.alq-about-card__tools-label {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--alq-accent);
    margin-bottom: 0.4rem;
}

.alq-about-card__tools-list {
    font-size: 0.8rem;
    color: var(--alq-text-muted);
    line-height: 1.6;
}

.alq-about-card__name {
    font-size: 1.4rem;
    color: var(--alq-text);
    margin-bottom: 0.25rem;
}

.alq-about-card__role {
    font-size: 0.85rem;
    color: var(--alq-accent);
    font-weight: 600;
    margin-bottom: 1rem;
    letter-spacing: 0.02em;
}

.alq-about-card__content p {
    font-size: 0.95rem;
    color: var(--alq-text-secondary);
    line-height: 1.75;
    margin-bottom: 0.85rem;
}

.alq-about-card__content strong { color: var(--alq-text); }

.alq-about-certs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.25rem;
}

.alq-about-cert {
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.3rem 0.75rem;
    border-radius: 999px;
    border: 1px solid var(--alq-border);
    color: var(--alq-text-secondary);
    background: var(--alq-bg-alt);
}

/* CTA */
.alq-about-cta {
    background: var(--alq-bg-darker);
    padding-block: clamp(3rem, 6vw, 5rem);
    border-top: 1px solid var(--alq-border);
}

.alq-about-cta__inner {
    text-align: center;
    max-width: 560px;
    margin-inline: auto;
}

.alq-about-cta__title {
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: var(--alq-text-on-dark);
    margin-bottom: 0.75rem;
}

.alq-about-cta__text {
    color: var(--alq-text-secondary);
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 2rem;
}

/* Responsive */
@media (max-width: 640px) {
    .alq-about-story__inner {
        flex-direction: column;
        gap: 1rem;
    }
    .alq-about-card {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .alq-about-card__sidebar {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 1rem;
    }
    .alq-about-card__tools { text-align: left; }
}

.alq-about-cv-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.25rem;
    padding: 0.5rem 1.1rem;
    border: 1px solid var(--alq-accent);
    border-radius: var(--alq-radius-sm);
    color: var(--alq-accent);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: background var(--alq-transition), color var(--alq-transition);
}

.alq-about-cv-link:hover {
    background: var(--alq-accent);
    color: #000;
}

/* ── Página Sobre AlquimIA ────────────────────────────────── */

.alq-about-alq-hero {
    background: var(--alq-bg-darker);
    padding-block: clamp(4rem, 8vw, 7rem);
    text-align: center;
    border-bottom: 1px solid var(--alq-border);
}

.alq-about-lead-single {
    font-size: 1.15rem;
    color: var(--alq-text-secondary);
    max-width: 560px;
    margin-inline: auto;
    line-height: 1.7;
}

/* Servicios */
.alq-about-alq-services {
    background: var(--alq-bg-light);
    padding-block: clamp(3rem, 6vw, 5rem);
    border-bottom: 1px solid var(--alq-border);
}

.alq-about-alq-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--alq-grid-gap, 1.5rem);
}

.alq-about-alq-card {
    background: var(--alq-bg-card);
    border: 1px solid var(--alq-border);
    border-radius: var(--alq-radius);
    padding: 2rem;
}

.alq-about-alq-card__icon {
    color: var(--alq-accent);
    margin-bottom: 1rem;
}

.alq-about-alq-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--alq-text);
    margin-bottom: 0.75rem;
}

.alq-about-alq-card p {
    font-size: 0.95rem;
    color: var(--alq-text-secondary);
    line-height: 1.75;
}

/* Filosofía */
.alq-about-alq-philosophy {
    background: var(--alq-bg-dark);
    padding-block: clamp(3rem, 6vw, 5rem);
    border-bottom: 1px solid var(--alq-border);
}

.alq-about-alq-philosophy__title {
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: var(--alq-text-on-dark);
    text-align: center;
    margin-bottom: 2.5rem;
}

.alq-about-alq-principles {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    max-width: 900px;
    margin-inline: auto;
}

.alq-about-alq-principle {
    background: var(--alq-bg-card);
    border: 1px solid var(--alq-border);
    border-left: 3px solid var(--alq-accent);
    border-radius: var(--alq-radius-sm);
    padding: 1.5rem;
}

.alq-about-alq-principle__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--alq-text-on-dark);
    margin-bottom: 0.6rem;
}

.alq-about-alq-principle p {
    font-size: 0.9rem;
    color: var(--alq-text-secondary);
    line-height: 1.7;
}

/* Firma */
.alq-about-alq-sign {
    background: var(--alq-bg-darker);
    padding-block: 3rem;
    text-align: center;
    border-bottom: 1px solid var(--alq-border);
}

.alq-about-alq-sign__text {
    font-size: 1.1rem;
    color: var(--alq-text-secondary);
    max-width: 600px;
    margin-inline: auto;
    margin-bottom: 0.75rem;
    line-height: 1.7;
}

.alq-about-alq-sign__name {
    font-size: 1rem;
    font-weight: 700;
    color: var(--alq-accent);
}

/* Responsive */
@media (max-width: 768px) {
    .alq-about-alq-grid { grid-template-columns: 1fr; }
    .alq-about-alq-principles { grid-template-columns: 1fr; }
}
