/* ── UniCarpool — Twenty Twenty-Five Theme Overrides ──────────────────────
   Aligns global WordPress theme elements (header, footer, nav, buttons)
   with the plugin's MD3 green design system. Does NOT touch .ucp-* classes.
────────────────────────────────────────────────────────────────────────── */

/* ─ Global font: replace Manrope with Inter ──────────────────────────── */
body,
.wp-block-site-title,
.wp-block-site-title a,
.wp-block-navigation,
.wp-block-navigation-item__content,
.wp-block-navigation a,
.wp-block-post-title,
.wp-block-heading,
.wp-block-paragraph,
h1, h2, h3, h4, h5, h6, p, a, button, input, select, textarea {
    font-family: var(--ucp-font) !important;
    letter-spacing: normal !important;
}

/* ─ Body background ──────────────────────────────────────────────────── */
body {
    background-color: var(--ucp-bg) !important;
    color: var(--ucp-text) !important;
}

/* ─ Global links ─────────────────────────────────────────────────────── */
a { color: var(--ucp-primary); }
a:hover { color: var(--ucp-primary-hover); text-decoration: none; }

/* ─ Header (theme) — hidden on plugin pages, styled on others ────────── */
header.site-header,
header.wp-block-template-part,
.wp-block-template-part.site-header > .wp-block-group {
    background: var(--ucp-card-bg) !important;
    border-bottom: 1px solid var(--ucp-border) !important;
    box-shadow: 0 1px 8px rgba(18,32,17,.06) !important;
}

/* Hide theme header completely on plugin pages (ucp-top-nav replaces it) */
.ucp-has-top-nav .wp-block-template-part,
.ucp-has-top-nav header.wp-block-template-part,
.ucp-has-top-nav header.site-header {
    display: none !important;
}
/* Keep footer visible */
.ucp-has-top-nav footer.wp-block-template-part,
.ucp-has-top-nav footer.site-footer {
    display: block !important;
}

/* Site title — green bold brand */
.wp-block-site-title a {
    color: var(--ucp-primary) !important;
    font-weight: 800 !important;
    font-size: 1.1rem !important;
    letter-spacing: -0.02em !important;
    text-decoration: none !important;
}
.wp-block-site-title a:hover {
    color: var(--ucp-primary-hover) !important;
    text-decoration: none !important;
}

/* Navigation links */
.wp-block-navigation a,
.wp-block-navigation-item__content {
    color: var(--ucp-text-secondary) !important;
    font-weight: 500 !important;
    font-size: 0.875rem !important;
    text-decoration: none !important;
}
.wp-block-navigation a:hover,
.wp-block-navigation-item--active .wp-block-navigation-item__content {
    color: var(--ucp-primary) !important;
    text-decoration: none !important;
}

/* Hamburger icon on mobile */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
    color: var(--ucp-text) !important;
}

/* Mobile nav overlay */
.wp-block-navigation__responsive-container.is-menu-open {
    background: var(--ucp-card-bg) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    color: var(--ucp-text) !important;
    font-size: 1rem !important;
}

/* ─ Footer ───────────────────────────────────────────────────────────── */
footer.site-footer,
footer.wp-block-template-part,
.wp-block-template-part.site-footer > .wp-block-group {
    background: var(--ucp-card-bg) !important;
    border-top: 1px solid var(--ucp-border) !important;
    color: var(--ucp-text-secondary) !important;
}

footer a,
.wp-block-template-part.site-footer a {
    color: var(--ucp-text-secondary) !important;
    text-decoration: none !important;
}
footer a:hover,
.wp-block-template-part.site-footer a:hover {
    color: var(--ucp-primary) !important;
}

footer .wp-block-site-title a {
    font-size: 1rem !important;
    font-weight: 700 !important;
}

footer p,
footer .has-small-font-size {
    color: var(--ucp-text-muted) !important;
    font-size: 0.75rem !important;
}

/* ─ WP Block Buttons ─────────────────────────────────────────────────── */
.wp-element-button,
.wp-block-button__link,
.wp-block-search__button {
    background: var(--ucp-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--ucp-radius-full) !important;
    font-family: var(--ucp-font) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    box-shadow: var(--ucp-shadow-green) !important;
    transition: background var(--ucp-transition), box-shadow var(--ucp-transition) !important;
}
.wp-element-button:hover,
.wp-block-button__link:hover,
.wp-block-search__button:hover {
    background: var(--ucp-primary-hover) !important;
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(27,175,82,.4) !important;
}

/* ─ WP Login page ────────────────────────────────────────────────────── */
body.login {
    background: var(--ucp-bg) !important;
}
.login #wp-submit,
.login .button-primary {
    background: var(--ucp-primary) !important;
    border-color: var(--ucp-primary) !important;
    color: #fff !important;
    border-radius: var(--ucp-radius-full) !important;
    font-family: var(--ucp-font) !important;
    font-weight: 700 !important;
    height: 44px !important;
    width: 100% !important;
    box-shadow: var(--ucp-shadow-green) !important;
}
.login #wp-submit:hover,
.login .button-primary:hover {
    background: var(--ucp-primary-hover) !important;
    border-color: var(--ucp-primary-hover) !important;
}
.login #login_error,
.login .message {
    border-left-color: var(--ucp-primary) !important;
}
.login h1 a {
    /* Logo do WordPress na tela de login */
    background-image: none !important;
    color: var(--ucp-primary) !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    height: auto !important;
    width: auto !important;
}
.login label,
.login form .input {
    font-family: var(--ucp-font) !important;
}
.login form .input,
.login input[type="text"],
.login input[type="password"] {
    border-color: var(--ucp-border) !important;
    border-radius: 8px !important;
    font-family: var(--ucp-font) !important;
}
.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus {
    border-color: var(--ucp-primary) !important;
    box-shadow: 0 0 0 1px var(--ucp-primary) !important;
}

/* ─ Suprimir título de página nas páginas do plugin ─────────────────── */
.ucp-page .wp-block-post-title,
.ucp-page .entry-title,
.ucp-page h1.page-title,
.ucp-page .page-title {
    display: none !important;
}

/* ─ Full-width content area nas páginas do plugin ────────────────────── */
/*
 * Twenty Twenty-Five gera automaticamente:
 *   .is-layout-constrained > :where(...) { max-width: var(--wp--style--global--content-size); }
 *   .has-global-padding { padding-inline: var(--wp--style--root--padding-*); }
 * Estas regras devem ser sobrepostas nas páginas do plugin.
 */

/* Zera padding/margin do container de conteúdo */
.ucp-page .wp-block-post-content,
.ucp-page .entry-content,
.ucp-page .post-content {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Zera o padding global (has-global-padding) */
.ucp-page .has-global-padding {
    padding: 0 !important;
    padding-inline: 0 !important;
    padding-block: 0 !important;
}

/* Zera padding vertical do wrapper de template e grupos de bloco.
 * O page.html do T25 injeta margin-top no <main> e padding-top/bottom
 * no .alignfull inner group via inline style — precisamos de !important. */
.ucp-page main.wp-block-group,
.ucp-page main {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-block: 0 !important;
}

.ucp-page main > .wp-block-group,
.ucp-page main .alignfull,
.ucp-page .wp-block-group.alignfull {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-block: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Desfaz a restrição de largura do is-layout-constrained */
.ucp-page .is-layout-constrained > *,
.ucp-page .wp-block-post-content.is-layout-constrained > *,
.ucp-page .entry-content.is-layout-constrained > * {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Regra gerada pelo WP com :where() — sobrepõe com seletor de maior especificidade */
.ucp-page .wp-block-post-content > .ucp-home-wrap,
.ucp-page .entry-content > .ucp-home-wrap {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ─ Dark mode ────────────────────────────────────────────────────────── */
[data-theme="dark"] header.site-header,
[data-theme="dark"] header.wp-block-template-part,
[data-theme="dark"] footer.site-footer,
[data-theme="dark"] footer.wp-block-template-part {
    background: var(--ucp-card-bg) !important;
    border-color: var(--ucp-border) !important;
}

[data-theme="dark"] .wp-block-navigation a,
[data-theme="dark"] .wp-block-navigation-item__content {
    color: var(--ucp-text-secondary) !important;
}

[data-theme="dark"] .wp-block-navigation__responsive-container.is-menu-open {
    background: var(--ucp-surface-lowest) !important;
}
