/**
 * GIMUR Child: estil del lloc migrat de mu-plugins/gimur-site/assets/gimur-styles.css
 * (2026-10-17, línies originals 1-229, 316-737). Tokens heretats, polit de components, formularis i tipografia.
 * Es manté l'ordre original de la cascada: aquest fitxer es carrega en la posició
 * que tenien aquestes regles. Neteja pendent: vegeu MIGRACIO.md.
 */

/* =============================================================================
   GIMUR Site — Unified Stylesheet
   Extracted from Snippet 6 (Code Snippets plugin).
   Each section is annotated with the original PHP function it came from.
   ============================================================================= */


/* =============================================================================
   gimur_design_tokens
   CSS Custom Properties (design tokens)
   ============================================================================= */

:root {
    --gimur-primary: var(--wp--preset--color--primary, #003966);
    --gimur-primary-dark: var(--wp--preset--color--primary-dark, #002744);
    --gimur-secondary: var(--wp--preset--color--secondary, #d4792a);
    --gimur-tertiary: var(--wp--preset--color--tertiary, #6C6C77);
    --gimur-foreground: var(--wp--preset--color--foreground, #000000);
    --gimur-background: var(--wp--preset--color--background, #fafafa);
    --gimur-warm-bg: var(--wp--preset--color--warm-background, #fdf8f3);
    --gimur-cool-bg: var(--wp--preset--color--cool-background, #f0f4f8);
    --gimur-surface: var(--wp--preset--color--surface, #ffffff);
    --gimur-text-primary: var(--wp--preset--color--text-primary, #1a1a2e);
    --gimur-text-secondary: var(--wp--preset--color--text-secondary, #555566);
    --gimur-border: var(--wp--preset--color--border, #e2e2e8);

    --gimur-primary-rgb: 0, 57, 102;
    --gimur-secondary-rgb: 212, 121, 42;
    --gimur-text-primary-rgb: 26, 26, 46;

    --gimur-space-xs: 0.25rem;
    --gimur-space-sm: 0.5rem;
    --gimur-space-md: 1rem;
    --gimur-space-lg: 1.5rem;
    --gimur-space-xl: 2.5rem;
    --gimur-space-2xl: 4rem;
    --gimur-space-section: 5rem;

    --gimur-radius-sm: 4px;
    --gimur-radius-md: 8px;
    --gimur-radius-lg: 16px;

    --gimur-shadow-sm: 0 1px 3px rgba(0, 30, 70, 0.06);
    --gimur-shadow-md: 0 4px 12px rgba(0, 30, 70, 0.08);
    --gimur-shadow-lg: 0 8px 30px rgba(0, 30, 70, 0.10);
    --gimur-shadow-lift: 0 12px 36px rgba(0, 30, 70, 0.14);

    --gimur-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
    --gimur-duration-fast: 150ms;
    --gimur-duration-normal: 250ms;
    --gimur-duration-slow: 400ms;
}

::selection {
    background: rgba(var(--gimur-primary-rgb), 0.15);
}

@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
}


/* =============================================================================
   gimur_component_polish
   Hover effects, cards, CTAs, navigation refinements
   ============================================================================= */

/* -- Global link refinement -- */
.entry-content a:not(.wp-block-button__link):not(.gimur-cta):not(.gimur-panel-nav-back):not([class*="jet-"]):not([class*="asp_"]) {
    color: var(--gimur-primary);
    text-decoration: underline;
    text-decoration-color: rgba(var(--gimur-primary-rgb), 0.35);
    text-underline-offset: 3px;
    transition: text-decoration-color var(--gimur-duration-normal) var(--gimur-ease),
                color var(--gimur-duration-normal) var(--gimur-ease);
}
.entry-content a:not(.wp-block-button__link):not(.gimur-cta):not(.gimur-panel-nav-back):not([class*="jet-"]):not([class*="asp_"]):hover {
    color: var(--gx-accent-ink);
    text-decoration-color: rgba(var(--gimur-secondary-rgb), 0.6);
}

/* -- WP button polish -- */
.wp-block-button__link,
.wp-element-button {
    transition: transform var(--gimur-duration-fast) var(--gimur-ease),
                box-shadow var(--gimur-duration-normal) var(--gimur-ease),
                filter var(--gimur-duration-fast) ease;
}
.wp-block-button__link:hover,
.wp-element-button:hover {
    transform: none;
    box-shadow: var(--gimur-shadow-md);
}
.wp-block-button__link:active,
.wp-element-button:active {
    transform: translateY(0);
    box-shadow: var(--gimur-shadow-sm);
}

/* -- Cover text contrast fix -- */
/* Ensure readable text on all cover blocks with gradients */
.wp-block-cover .wp-block-cover__background.has-background-dim.wp-block-cover__gradient-background {
  opacity: 0.92 !important;
}
.wp-block-cover .wp-block-cover__inner-container p:not(.has-white-color) {
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.wp-block-cover .wp-block-cover__inner-container h1,
.wp-block-cover .wp-block-cover__inner-container h2 {
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

/* -- Navigation refinements -- */
.wp-block-navigation-item__content {
    transition: color var(--gimur-duration-fast) var(--gimur-ease);
}
.wp-block-navigation a {
    letter-spacing: 0.01em;
}

/* -- Post meta (date, categories) -- */
.post-meta,
.wp-block-post-date,
.wp-block-post-terms {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gimur-text-secondary);
}

/* -- Section dividers -- */
.wp-block-separator:not(.has-background) {
    border-color: var(--gimur-border);
    opacity: 1;
}

/* -- Registration card hover refinement -- */
.gimur-registration-card {
    transition: box-shadow var(--gimur-duration-normal) var(--gimur-ease),
                transform var(--gimur-duration-normal) var(--gimur-ease),
                border-color var(--gimur-duration-normal) var(--gimur-ease);
}
.gimur-registration-card:hover {
    transform: none;
    box-shadow: var(--gimur-shadow-lift);
}
.gimur-registration-card--featured:hover {
    border-color: var(--gimur-secondary);
}

/* -- News rows — reading affordance -- */
.gimur-news-row {
    transition: background var(--gimur-duration-fast) ease;
    border-radius: var(--gimur-radius-sm);
}
.gimur-news-row:hover {
    background: rgba(var(--gimur-primary-rgb), 0.03);
}

/* -- CTA link arrows -- */
a.gimur-cta-link,
.gimur-cta-link {
    display: inline-flex;
    align-items: center;
    gap: 0.3em;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gx-accent-ink);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    padding-bottom: 1px;
    transition: border-color var(--gimur-duration-normal) var(--gimur-ease),
                gap var(--gimur-duration-fast) var(--gimur-ease);
}
a.gimur-cta-link:hover,
.gimur-cta-link:hover {
    border-color: var(--gimur-secondary);
    gap: 0.5em;
}

/* -- Institutional panel — subtle warm bg -- */
.gimur-institutional-panel {
    background: var(--gimur-warm-bg) !important;
}

/* -- Academic figure captions -- */
figure figcaption,
.wp-block-image figcaption {
    font-size: 0.8125rem;
    font-style: italic;
    color: var(--gimur-text-secondary);
    text-align: center;
    margin-top: 0.5rem;
    letter-spacing: 0.01em;
}

/* -- Blockquote academic style -- */
.wp-block-quote {
    border-left: 3px solid var(--gimur-primary);
    background: var(--gimur-cool-bg);
    padding: 1.25rem 1.5rem;
    border-radius: 0 var(--gimur-radius-sm) var(--gimur-radius-sm) 0;
    font-style: italic;
}
.wp-block-quote cite,
.wp-block-quote .wp-block-quote__citation {
    font-style: normal;
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gimur-text-secondary);
    margin-top: 0.75rem;
    display: block;
}

/* -- Reduce motion: disable transforms -- */
@media (prefers-reduced-motion: reduce) {
    .gimur-registration-card,
    .wp-block-button__link,
    .wp-element-button {
        transition: none !important;
        transform: none !important;
    }
}


/* =============================================================================
   gimur_form_styles
   JetFormBuilder + RC login form styling
   ============================================================================= */

/* -- JetFormBuilder — base inputs -- */

.jet-form-builder .jet-form-builder__field-wrap,
.jet-form-builder .jet-form-builder__field {
    width: 100%;
}

.jet-form-builder input[type="text"],
.jet-form-builder input[type="email"],
.jet-form-builder input[type="tel"],
.jet-form-builder input[type="number"],
.jet-form-builder input[type="url"],
.jet-form-builder input[type="password"],
.jet-form-builder textarea,
.jet-form-builder select {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    background: var(--gimur-surface);
    border: none;
    border-bottom: 2px solid var(--gimur-border);
    border-radius: 0;
    padding: 0.625rem 0;
    font-family: var(--wp--preset--font-family--dm-sans, inherit);
    font-size: 1rem;
    color: var(--gimur-text-primary);
    outline: none;
    box-shadow: none;
    transition: border-color var(--gimur-duration-normal) var(--gimur-ease);
}

.jet-form-builder input[type="text"]:focus,
.jet-form-builder input[type="email"]:focus,
.jet-form-builder input[type="tel"]:focus,
.jet-form-builder input[type="number"]:focus,
.jet-form-builder input[type="password"]:focus,
.jet-form-builder textarea:focus,
.jet-form-builder select:focus {
    border-bottom-color: var(--gimur-primary);
    box-shadow: none;
    outline: none;
}

.jet-form-builder textarea {
    resize: vertical;
    min-height: 120px;
}

/* Labels */
.jet-form-builder label,
.jet-form-builder .jet-form-builder__label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gimur-text-secondary);
    margin-bottom: 0.375rem;
}

/* Required asterisk */
.jet-form-builder .jet-form-builder__label .required {
    color: var(--gx-accent-ink);
    margin-left: 2px;
}

/* Error state */
.jet-form-builder input.has-error,
.jet-form-builder textarea.has-error,
.jet-form-builder select.has-error {
    border-bottom-color: #c0392b;
}
.jet-form-builder .jet-form-builder__field-error {
    font-size: 0.75rem;
    color: #c0392b;
    margin-top: 0.25rem;
    letter-spacing: 0.02em;
}

/* Submit button */
.jet-form-builder button[type="submit"],
.jet-form-builder input[type="submit"],
.jet-form-builder .jet-form-builder__submit .wp-block-button__link {
    background: var(--gimur-primary);
    color: #fff;
    border: 2px solid var(--gimur-primary);
    padding: 0.75rem 2rem;
    font-family: var(--wp--preset--font-family--dm-sans, inherit);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: var(--gimur-radius-sm);
    transition: background var(--gimur-duration-normal) var(--gimur-ease),
                transform var(--gimur-duration-fast) var(--gimur-ease),
                box-shadow var(--gimur-duration-normal) var(--gimur-ease);
}
.jet-form-builder button[type="submit"]:hover,
.jet-form-builder input[type="submit"]:hover,
.jet-form-builder .jet-form-builder__submit .wp-block-button__link:hover {
    background: var(--gimur-primary-dark);
    border-color: var(--gimur-primary-dark);
    transform: none;
    box-shadow: var(--gimur-shadow-md);
}

/* Checkbox / radio */
.jet-form-builder input[type="checkbox"],
.jet-form-builder input[type="radio"] {
    accent-color: var(--gimur-primary);
    width: 1rem;
    height: 1rem;
}

/* Field spacing */
.jet-form-builder .jet-form-builder__field-wrap + .jet-form-builder__field-wrap {
    margin-top: 1.25rem;
}

/* -- RC login form -- */

.rcp_login_form,
.rcp_registration_form {
    max-width: 480px;
    margin: 0 auto;
    padding: 2rem 0;
}

.rcp_login_form label,
.rcp_registration_form label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gimur-text-secondary);
    margin-bottom: 0.375rem;
    margin-top: 1.125rem;
}

.rcp_login_form input[type="text"],
.rcp_login_form input[type="email"],
.rcp_login_form input[type="password"],
.rcp_registration_form input[type="text"],
.rcp_registration_form input[type="email"],
.rcp_registration_form input[type="password"] {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 2px solid var(--gimur-border);
    border-radius: 0;
    padding: 0.5rem 0;
    font-size: 1rem;
    color: var(--gimur-text-primary);
    outline: none;
    transition: border-color var(--gimur-duration-normal) var(--gimur-ease);
}

.rcp_login_form input:focus,
.rcp_registration_form input:focus {
    border-bottom-color: var(--gimur-primary);
    outline: none;
    box-shadow: none;
}

.rcp_login_form input[type="submit"],
.rcp_registration_form input[type="submit"] {
    margin-top: 1.75rem;
    background: var(--gimur-primary);
    color: #fff;
    border: none;
    padding: 0.75rem 2.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: var(--gimur-radius-sm);
    transition: background var(--gimur-duration-normal) var(--gimur-ease),
                transform var(--gimur-duration-fast) var(--gimur-ease);
}
.rcp_login_form input[type="submit"]:hover,
.rcp_registration_form input[type="submit"]:hover {
    background: var(--gimur-primary-dark);
    transform: none;
}

/* Lost password / register links */
.rcp_login_form a {
    font-size: 0.8125rem;
    color: var(--gx-accent-ink);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color var(--gimur-duration-fast) ease;
}
.rcp_login_form a:hover {
    border-bottom-color: var(--gimur-secondary);
}

/* Member gate message */
.gimur-member-gate {
    border-left: 3px solid var(--gimur-secondary);
    background: var(--gimur-warm-bg);
    padding: 1.25rem 1.5rem;
    border-radius: 0 var(--gimur-radius-sm) var(--gimur-radius-sm) 0;
    font-size: 0.9375rem;
    color: var(--gimur-text-secondary);
}


/* =============================================================================
   gimur_typography
   Reading rhythm & typographic hierarchy
   ============================================================================= */

/* -- Body reading rhythm -- */
body {
    font-size: 1.0625rem;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
    color: var(--gimur-text-primary);
}

/* -- Heading hierarchy — scoped to content only -- */
.entry-content h2,
.wp-block-post-content h2 {
    font-size: clamp(1.375rem, 2.5vw, 1.875rem);
    line-height: 1.2;
    letter-spacing: -0.015em;
    font-weight: 700;
    margin-top: 2.25rem;
    margin-bottom: 0.5rem;
}

.entry-content h3,
.wp-block-post-content h3 {
    font-size: clamp(1.125rem, 1.8vw, 1.3125rem);
    line-height: 1.3;
    letter-spacing: -0.01em;
    font-weight: 600;
    margin-top: 1.75rem;
    margin-bottom: 0.375rem;
}

.entry-content h4,
.wp-block-post-content h4 {
    font-size: 1.0625rem;
    line-height: 1.4;
    font-weight: 600;
    margin-top: 1.5rem;
    margin-bottom: 0.25rem;
}

.entry-content h5,
.entry-content h6,
.wp-block-post-content h5,
.wp-block-post-content h6 {
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--gimur-text-secondary);
    margin-top: 1.25rem;
    margin-bottom: 0.25rem;
}

/* -- Post title (single pages) -- */
.wp-block-post-title {
    font-family: var(--wp--preset--font-family--libre-baskerville);
    font-size: clamp(1.75rem, 3.5vw, 2.75rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--gimur-primary);
}

/* -- Entry content prose -- */
.entry-content p,
.wp-block-post-content p {
    margin-bottom: 1.25em;
    line-height: 1.78;
}

/* -- Lead paragraph -- */
.entry-content > p:first-of-type,
.wp-block-post-content > p:first-of-type {
    font-size: 1.125rem;
    line-height: 1.7;
    color: var(--gimur-text-secondary);
}

/* -- Ordered / unordered lists -- */
.entry-content ul,
.entry-content ol {
    max-width: 65ch;
    padding-left: 1.5rem;
    margin-bottom: 1.25em;
}
.entry-content li {
    line-height: 1.7;
    margin-bottom: 0.375em;
}
.entry-content li::marker {
    color: var(--gx-accent-ink);
}

/* -- Inline code -- */
.entry-content code {
    font-size: 0.875em;
    background: var(--gimur-cool-bg);
    border: 1px solid var(--gimur-border);
    border-radius: 3px;
    padding: 0.1em 0.35em;
    font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;
    color: var(--gimur-primary-dark);
}

/* -- Post meta — date & categories -- */
.wp-block-post-date time,
.post-meta time {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.03em;
}

/* -- Navigation — typographic consistency -- */
.wp-block-navigation .wp-block-navigation-item__content {
    font-family: var(--wp--preset--font-family--dm-sans);
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0.01em;
}

/* -- Responsive: mobile reading -- */
@media (max-width: 640px) {
    body {
        font-size: 1rem;
        line-height: 1.7;
    }

    /* Cover image grid: stack to 1 col and reduce height */
    .wp-block-columns:has(> .wp-block-column > .wp-block-cover.is-style-round-corners) {
        flex-direction: column !important;
    }
    .wp-block-columns:has(> .wp-block-column > .wp-block-cover.is-style-round-corners) > .wp-block-column {
        flex-basis: 100% !important;
        width: 100% !important;
    }
    .wp-block-cover.is-style-round-corners {
        min-height: 180px !important;
    }

    /* Fix column overflow: force stacking and prevent horizontal scroll */
    .wp-block-columns:not(.is-not-stacked-on-mobile) {
        overflow-x: clip; /* clip i no hidden: hidden la converteix en contenidor de desplaçament i les àncores ignoraven scroll-margin */
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        min-width: 0 !important;
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
    .entry-content p,
    .wp-block-post-content p {
        max-width: 100%;
    }
}


/* =============================================================================
   gimur_reading_width
   Reading width constraints
   ============================================================================= */

/* Reading width: contentSize=860px, wideSize=1200px */
.gimur-registration-grid,
.gimur-institutional-panel,
.jet-listing-grid__items,
.wp-block-query,
.wp-block-columns {
  /* Amplada de CONTINGUT, no d ample. La llista de News eixia a 1200 mentre
     Events, join-us i la resta de pagines van a 860, i la diferencia es notava
     en passar d una seccio a l altra. Un bloc que vulga ser mes ample ho pot
     demanar amb alignwide, que es per a on ho ha de demanar. */
  max-width: var(--wp--style--global--content-size, 860px);
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
}
