/* GoodMorning brand overrides
   Palette: #fd5f3c (coral) · #fbc059 (amber) · #fcf0e4 (cream) · #fff (bg)
   Font: League Spartan Variable + P22 Mackinac (serif)
-------------------------------------------------- */

@font-face {
    font-family: 'League Spartan';
    src: url('../fonts/LeagueSpartan-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'P22 Mackinac';
    src: url('../fonts/P22Mackinac-BookSC_8.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ----------------------------------------
   Variables
---------------------------------------- */
:root {
    --gm-coral:      #fd5f3c;
    --gm-amber:      #fbc059;
    --gm-cream:      #fcf0e4;
    --gm-dark:       #1a1008;
    --gm-text:       #1a1008;
    --gm-muted:      rgba(26,16,8,0.45);
    --gm-border:     rgba(26,16,8,0.08);
    --font-sans:     'League Spartan', -apple-system, BlinkMacSystemFont, sans-serif;
    --ghost-accent-color: #fd5f3c;
    --font-serif:    'P22 Mackinac', Georgia, Times, serif;
    --font-serif-alt:'P22 Mackinac', Georgia, Times, serif;
}

/* ----------------------------------------
   Base
---------------------------------------- */
body {
    background-color: #ffffff;
    font-family: var(--font-sans);
    letter-spacing: -0.01em;
    color: var(--gm-text);
}

/* ----------------------------------------
   Navigation
---------------------------------------- */
.gh-navigation {
    background-color: #ffffff;
    border-bottom: 1px solid var(--gm-border);
    height: 64px;
}

.gh-navigation-logo img {
    height: 13px;
    width: auto;
}

.gh-navigation .gh-search,
.gh-navigation-members {
    display: none;
}

/* ----------------------------------------
   Hero — Landing header
---------------------------------------- */
.gh-header.is-classic {
    background-color: var(--gm-coral);
    background-image: url('../images/title.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-top: 0;
    padding: 72px 0 80px;
}

.gh-header.is-classic .gh-header-inner {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 32px;
    overflow: visible;
}

.gh-header.is-classic .gh-header-title,
.gh-header-title {
    color: #ffffff;
    font-size: clamp(1.5rem, 2.2vw, 2.7rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.03em;
    max-width: 700px;
}

/* Hero subscribe form */
.gh-header.is-classic .gh-form {
    background-color: rgba(255,255,255,0.18);
    max-width: 440px;
}

.gh-header.is-classic .gh-form:hover {
    background-color: rgba(255,255,255,0.26);
}

.gh-header.is-classic .gh-form-input {
    color: #ffffff;
}

.gh-header.is-classic .gh-form-input::placeholder {
    color: rgba(255,255,255,0.55);
}

.gh-header.is-classic .gh-button {
    background-color: #ffffff;
    color: var(--gm-coral);
    font-weight: 700;
}

.gh-header.is-classic .gh-button:hover {
    background-color: var(--gm-amber);
    color: #ffffff;
    opacity: 1;
}

/* ----------------------------------------
   Homepage — Post feed (lista editorial, un post por fila)
---------------------------------------- */
.gh-container.is-list {
    padding-top: 0;
    padding-bottom: 64px;
}

.gh-container-title {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gm-muted);
    padding: 40px 0 24px;
    border-bottom: 2px solid var(--gm-text);
    margin-bottom: 0;
}

/* Forzar lista vertical — anular la grid de 3 columnas del tema base,
   tanto en la home (is-list) como en "Leer más" (is-grid) */
.gh-feed,
.gh-container.is-grid .gh-feed,
.gh-container.is-list .gh-feed {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* Ocultar imágenes en el feed */
.gh-card-image {
    display: none;
}

/* Cada post: fila completa, solo borde inferior */
.gh-card {
    width: 100%;
    border-bottom: 1px solid var(--gm-border);
}

/* El tema usa ::before como separador superior — lo quitamos */
.gh-card::before {
    display: none !important;
}

.gh-card-link {
    display: block;
    padding: 28px 0;
}

.gh-card-link:hover {
    opacity: 1;
}

.gh-card-wrapper {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.gh-card-tag {
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gm-coral);
    margin: 0;
}

.gh-card-title {
    font-size: clamp(1.9rem, 2.2vw, 2.4rem);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
    margin: 0;
    max-width: none;
    overflow: visible;
    white-space: normal;
    text-overflow: unset;
    transition: color 0.15s ease;
}

.gh-card-link:hover .gh-card-title {
    color: var(--gm-coral);
}

.gh-card-excerpt {
    font-size: 1.5rem;
    line-height: 1.6;
    color: var(--gm-muted);
    margin: 0;
    max-width: none;
    overflow: visible;
    white-space: normal;
}

.gh-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.2rem;
    color: var(--gm-muted);
    margin-top: 2px;
}

.gh-card-author {
    display: none;
}

.gh-card-date {
    color: var(--gm-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 1.1rem;
    font-weight: 600;
}

/* ----------------------------------------
   Buttons (global)
---------------------------------------- */
.gh-button {
    background-color: var(--gm-coral);
    border-radius: 100px;
    font-family: var(--font-sans);
    font-weight: 700;
}

.gh-button:hover {
    background-color: var(--gm-amber);
    opacity: 1;
}

/* ----------------------------------------
   CTA section (mid-page, 7+ posts)
---------------------------------------- */
.gh-cta {
    background-color: var(--gm-coral);
    background-image: url('../images/title.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.gh-cta-title,
.gh-cta-description {
    color: #ffffff;
}

.gh-cta .gh-button {
    background-color: #ffffff;
    color: var(--gm-coral);
    font-weight: 700;
}

.gh-cta .gh-button:hover {
    background-color: var(--gm-amber);
    color: #ffffff;
    opacity: 1;
}

/* ----------------------------------------
   Footer
---------------------------------------- */
.gh-foot {
    background-color: var(--gm-dark);
    color: var(--gm-cream);
}

/* Footer signup section — mismo fondo SVG que el hero */
.gh-footer-signup {
    background-color: var(--gm-coral);
    background-image: url('../images/title.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 64px 0;
    margin-bottom: 0;
}

/* Footer signup section ("GOOD MORNING" heading) */
.gh-footer-signup-header {
    font-size: clamp(1.8rem, 2.5vw, 2.4rem) !important;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #ffffff;
}

.gh-footer-signup-subhead {
    color: rgba(255,255,255,0.65);
    font-size: 1.5rem;
}

/* Footer form on dark background */
.gh-footer .gh-form,
.gh-foot .gh-form {
    background-color: rgba(255,255,255,0.12);
}

.gh-footer .gh-form:hover,
.gh-foot .gh-form:hover {
    background-color: rgba(255,255,255,0.18);
}

.gh-footer .gh-form-input,
.gh-foot .gh-form-input {
    color: #ffffff;
}

.gh-footer .gh-form-input::placeholder,
.gh-foot .gh-form-input::placeholder {
    color: rgba(255,255,255,0.5);
}

.gh-footer .gh-button,
.gh-foot .gh-button {
    background-color: var(--gm-coral);
    color: #ffffff;
}

.gh-foot a {
    color: var(--gm-amber);
}

.gh-foot a:hover {
    color: var(--gm-cream);
    opacity: 1;
}

.gh-footer-logo img {
    max-height: 11px;
    width: auto;
}

/* Icono X en el footer-bar — columna derecha */
.gh-footer-social {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
}

.gh-footer-social a {
    display: flex;
    align-items: center;
    color: var(--color-secondary-text);
}

.gh-footer-social svg {
    width: 18px;
    height: 18px;
}

/* ----------------------------------------
   Post / article page
---------------------------------------- */
.gh-article-title {
    letter-spacing: -0.03em;
    font-weight: 800;
}

/* Share button */
.gh-button-share {
    background-color: transparent;
    color: var(--gm-text);
    border: 1.5px solid var(--gm-border);
    font-size: 1.3rem;
}

.gh-button-share:hover {
    background-color: var(--gm-coral);
    border-color: var(--gm-coral);
    color: #ffffff;
    opacity: 1;
}

/* Tag chips */
.gh-tags a {
    background-color: rgba(253,95,60,0.08);
    color: var(--gm-coral);
    font-weight: 600;
}

.gh-tags a:hover {
    background-color: var(--gm-coral);
    color: #ffffff;
    opacity: 1;
}

/* ----------------------------------------
   Mobile
---------------------------------------- */
@media (max-width: 767px) {
    .gh-header.is-classic {
        padding: 52px 0 60px;
    }

    .gh-card-link {
        padding: 22px 0;
    }

    .gh-card-title {
        font-size: 1.8rem;
    }
}
