/*!
 * Guyscat — Footer compliance styles
 * Ships with the Netfield Liveschaltung footer + Imprint page.
 * Tokens inherited from style.css (:root).
 */

/* ------------------------------------------------------------------ *
 *  Footer shell
 * ------------------------------------------------------------------ */

.gc-site-footer {
    position: relative;
    margin-top: clamp(40px, 6vw, 80px);
    padding: clamp(40px, 5vw, 64px) 0 clamp(24px, 3vw, 32px);
    background: linear-gradient(180deg,
        rgba(var(--gc-bg-alt-rgb), 0.4) 0%,
        rgba(var(--gc-bg-rgb), 1) 100%);
    border-top: 1px solid var(--gc-border, rgba(var(--gc-border-rgb), 0.14));
    color: var(--gc-text-soft, var(--gc-text-soft));
    font-size: 14px;
    line-height: 1.55;
}

.gc-site-footer .gc-wrap {
    padding-left: var(--gc-page-gutter, 20px);
    padding-right: var(--gc-page-gutter, 20px);
}

/* ------------------------------------------------------------------ *
 *  4-column grid (desktop → tablet → mobile)
 * ------------------------------------------------------------------ */

.gc-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1.2fr 1fr;
    gap: clamp(24px, 3vw, 48px);
    margin-bottom: clamp(28px, 3vw, 40px);
}

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

@media (max-width: 560px) {
    .gc-footer__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

.gc-footer__col {
    min-width: 0; /* prevents overflow from long link labels */
}

.gc-footer__heading {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gc-text, var(--gc-text));
}

/* ------------------------------------------------------------------ *
 *  Brand column
 * ------------------------------------------------------------------ */

.gc-footer__brand {
    display: inline-block;
    text-decoration: none;
    color: var(--gc-text, var(--gc-text));
}

.gc-footer__wordmark {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg,
        var(--gc-accent, var(--gc-accent)) 0%,
        var(--gc-accent-2, var(--gc-accent-2)) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.gc-footer__tagline {
    margin: 14px 0 20px;
    font-size: 14px;
    color: var(--gc-text-soft, var(--gc-text-soft));
    max-width: 30ch;
}

.gc-footer__copyright {
    margin: 0;
    font-size: 12px;
    color: var(--gc-text-soft, var(--gc-text-soft));
    opacity: 0.75;
}

/* ------------------------------------------------------------------ *
 *  Nav column
 * ------------------------------------------------------------------ */

.gc-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gc-footer__list li {
    margin: 0 0 10px;
}

.gc-footer__list a,
.gc-footer__email a {
    color: var(--gc-text-soft, var(--gc-text-soft));
    text-decoration: none;
    transition: color 120ms ease;
    display: inline-block;
    min-height: 24px;
    line-height: 24px;
    padding: 2px 0;
}

.gc-footer__list a:hover,
.gc-footer__list a:focus-visible,
.gc-footer__email a:hover,
.gc-footer__email a:focus-visible {
    color: var(--gc-text, var(--gc-text));
}

/* ------------------------------------------------------------------ *
 *  CTA column (Become a Creator)
 * ------------------------------------------------------------------ */

/* Create column heading uses default .gc-footer__heading style (matches EXPLORE, CONNECT) */

.gc-footer__cta-card {
    padding: 18px 18px 16px;
    border-radius: calc(var(--gc-radius-scale, 1) * 14px);
    background: linear-gradient(160deg,
        rgba(var(--gc-accent-rgb), 0.05) 0%,
        rgba(var(--gc-accent-2-rgb), 0.05) 100%);
    border: 1px solid var(--gc-border, rgba(var(--gc-border-rgb), 0.14));
}

.gc-footer__cta-headline {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 700;
    color: var(--gc-text, var(--gc-text));
    letter-spacing: -0.01em;
    line-height: 1.3;
}

.gc-footer__cta-sub {
    margin: 0 0 14px;
    font-size: 13px;
    color: var(--gc-text-soft, var(--gc-text-soft));
    line-height: 1.5;
}

.gc-footer__cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 22px;
    border-radius: var(--gc-radius-pill);
    background: linear-gradient(135deg,
        var(--gc-accent, var(--gc-accent)) 0%,
        var(--gc-accent-strong, var(--gc-accent-strong)) 100%);
    color: #04121b;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.01em;
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(var(--gc-accent-rgb), 0.22);
    transition: transform 120ms ease, box-shadow 120ms ease;
}

.gc-footer__cta-btn:hover,
.gc-footer__cta-btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 18px 38px rgba(var(--gc-accent-rgb), 0.32);
    color: #04121b;
}

/* ------------------------------------------------------------------ *
 *  Connect column — social placeholders + email
 * ------------------------------------------------------------------ */

.gc-footer__social {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gc-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 6px 12px;
    border-radius: calc(var(--gc-radius-scale, 1) * 8px);
    background: var(--gc-surface-3, rgba(255, 255, 255, 0.04));
    border: 1px solid var(--gc-border, rgba(var(--gc-border-rgb), 0.14));
    color: var(--gc-text-soft, var(--gc-text-soft));
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.gc-footer__social-link:hover:not(.is-placeholder),
.gc-footer__social-link:focus-visible:not(.is-placeholder) {
    background: var(--gc-accent-soft, rgba(var(--gc-accent-rgb), 0.12));
    border-color: var(--gc-accent, var(--gc-accent));
    color: var(--gc-text, var(--gc-text));
}

.gc-footer__social-link.is-placeholder {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none; /* keeps it visible but non-interactive */
}

.gc-footer__email {
    margin: 12px 0 0;
    font-size: 13px;
}

/* ------------------------------------------------------------------ *
 *  Legal bar (mandatory PDF §2.1–2.7)
 * ------------------------------------------------------------------ */

.gc-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    padding-top: clamp(18px, 2vw, 24px);
    border-top: 1px solid var(--gc-border, rgba(var(--gc-border-rgb), 0.14));
    font-size: 13px;
}

.gc-footer__legal a {
    color: rgba(var(--gc-text-rgb), 0.6);
    text-decoration: none;
    transition: color 120ms ease;
    padding: 6px 0;
    min-height: 28px;
    line-height: 1.3;
}

.gc-footer__legal a:hover,
.gc-footer__legal a:focus-visible {
    color: var(--gc-text, var(--gc-text));
    text-decoration: underline;
    text-decoration-color: var(--gc-accent, var(--gc-accent));
    text-underline-offset: 4px;
}

/* ------------------------------------------------------------------ *
 *  Focus-visible — consistent accent ring everywhere in the footer
 * ------------------------------------------------------------------ */

.gc-site-footer a:focus-visible,
.gc-site-footer .gc-footer__cta-btn:focus-visible {
    outline: 2px solid var(--gc-accent, var(--gc-accent));
    outline-offset: 2px;
    border-radius: calc(var(--gc-radius-scale, 1) * 4px);
}

/* ------------------------------------------------------------------ *
 *  Imprint page styles (page-imprint.php)
 * ------------------------------------------------------------------ */

.gc-imprint {
    max-width: 760px;
    margin: 0 auto;
    padding: clamp(32px, 5vw, 64px) var(--gc-page-gutter, 20px);
    color: var(--gc-text, var(--gc-text));
}

.gc-imprint h1 {
    font-size: clamp(28px, 4vw, 40px);
    margin: 0 0 28px;
    color: var(--gc-text, var(--gc-text));
}

.gc-imprint__graphic {
    display: block;
    max-width: 290px;
    height: auto;
    margin: 0 0 24px;
}

.gc-imprint__support {
    margin: 0 0 32px;
    font-size: 16px;
}

.gc-imprint__support a {
    color: var(--gc-accent, var(--gc-accent));
    text-decoration: underline;
    text-underline-offset: 3px;
}

.gc-imprint__support a:hover,
.gc-imprint__support a:focus-visible {
    color: var(--gc-accent-strong, var(--gc-accent-strong));
}

.gc-imprint h2 {
    font-size: 18px;
    margin: 28px 0 10px;
    color: var(--gc-text, var(--gc-text));
}

.gc-imprint p {
    margin: 0 0 14px;
    color: var(--gc-text-soft, var(--gc-text-soft));
    font-size: 15px;
    line-height: 1.6;
}

.gc-imprint a {
    color: var(--gc-accent, var(--gc-accent));
}

/* ---------- DMCA Protected badge (Liveschaltung 4.4) ---------- */
.gc-footer__dmca {
    margin-top: 18px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--gc-radius-pill);
    background: var(--gc-accent-soft, rgba(var(--gc-accent-rgb), 0.12));
    border: 1px solid var(--gc-border, rgba(var(--gc-border-rgb), 0.14));
    color: var(--gc-text-soft, var(--gc-text-soft));
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 0.02em;
}
.gc-footer__dmca-icon { font-size: 14px; line-height: 1; }
.gc-footer__dmca-label { font-weight: 600; }

/* Creator-facing notice (page-models-login.php + WCFM dashboard) */
.gc-dmca-notice {
    margin: 24px 0;
    padding: 18px 20px;
    border-radius: calc(var(--gc-radius-scale, 1) * 12px);
    background: rgba(var(--gc-accent-rgb), 0.06);
    border: 1px solid var(--gc-border, rgba(var(--gc-border-rgb), 0.14));
    color: var(--gc-text-soft, var(--gc-text-soft));
}
.gc-dmca-notice h3 {
    margin: 0 0 8px;
    font-size: 16px;
    color: var(--gc-text, var(--gc-text));
}
.gc-dmca-notice p { margin: 0; line-height: 1.5; font-size: 14px; }

