/**
 * GIMUR Child: estil del lloc migrat de mu-plugins/gimur-site/assets/gimur-styles.css
 * (2026-10-17, línies originals 738-1213). Navegació mòbil, capçalera, peu, hero, botons, arxius i entrada.
 * 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_mobile_nav

   Mobile nav: overlay + burger fixes
   ============================================================================= */

/* A) When mobile menu opens, disable backdrop-filter on header
   (backdrop-filter creates containing block that breaks position:fixed) */
html.has-modal-open .site-header,
html.has-modal-open .wp-block-template-part:first-child {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  position: relative !important;
  background: #ffffff !important;
}

/* A) Force overlay to cover full viewport */
.wp-block-navigation__responsive-container.is-menu-open {
  background-color: #ffffff !important;
  color: var(--gimur-text-primary, #1a1a1a) !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 100000 !important;
}
.wp-block-navigation__responsive-container.is-menu-open a {
  color: var(--gimur-text-primary, #1a1a1a) !important;
}
.wp-block-navigation__responsive-container.is-menu-open a:hover {
  color: var(--gx-accent-ink) !important;
}

/* B) Burger icon: always visible, orange on hover */
.wp-block-navigation__responsive-container-open {
  color: var(--gimur-text-primary, #1a1a1a) !important;
}
.wp-block-navigation__responsive-container-open:hover,
.wp-block-navigation__responsive-container-open:active,
.wp-block-navigation__responsive-container-open:focus {
  color: var(--gx-accent-ink) !important;
  opacity: 1 !important;
}
.wp-block-navigation__responsive-container-open svg {
  fill: currentColor !important;
}

/* C) Mobile menu: clean flat list, no floating boxes */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
  padding-top: 3.5rem;
  align-items: stretch !important;
  justify-content: flex-start !important;
  text-align: left !important;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* All nav items: left-aligned, clean spacing */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
  align-items: stretch !important;
  justify-content: flex-start !important;
}
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item {
  text-align: left !important;
  width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
  padding: 0.5rem 0;
  font-size: 1rem;
  display: block;
  width: 100%;
}

/* Top-level items: slightly larger, with subtle separator */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content
  > .wp-block-navigation-item > .wp-block-navigation-item__content {
  font-size: 1.05rem;
  font-weight: 600;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* Sub-items: smaller, lighter */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
  font-size: 0.92rem;
  font-weight: 400;
  color: var(--gimur-text-secondary, #555) !important;
  padding: 0.4rem 0;
}

/* Submenus: collapsed by default in overlay */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container {
  display: none !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding-left: 1rem !important;
  padding-right: 0 !important;
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}
/* Expanded state (toggled by JS) */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container.is-submenu-open {
  display: flex !important;
  flex-direction: column;
}

/* Toggle arrow on parent items */
.wp-block-navigation__responsive-container.is-menu-open
  .has-child > .wp-block-navigation-item__content::after {
  content: '';
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-left: 0.5em;
  transition: transform 0.2s ease;
  vertical-align: middle;
}
/* Arrow rotated when open */
.wp-block-navigation__responsive-container.is-menu-open
  .has-child.is-submenu-open > .wp-block-navigation-item__content::after {
  transform: rotate(-135deg);
}


/* Close button */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-close {
  top: 1rem !important;
  right: 1.5rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-close svg {
  fill: var(--gimur-text-primary, #1a1a1a) !important;
}

/* =============================================================================
   gimur_header_polish

   Sticky header, backdrop blur, nav dropdown
   ============================================================================= */

/* -- Sticky header amb backdrop blur -- */
.site-header,
.wp-block-template-part:first-child {
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(255, 255, 255, 0.92);
  transition: box-shadow 0.3s ease;
}
.site-header.is-scrolled,
.wp-block-template-part.is-scrolled:first-child {
  box-shadow: none;
}

/* -- Nav item hover -- */
.wp-block-navigation-item__content {
  transition: color 0.2s ease;
}
.wp-block-navigation-item__content:hover {
  color: var(--gx-accent-ink);
}

/* -- Nav dropdown polish -- */
/* Nav dropdown — white card over dark header */
.wp-block-navigation .wp-block-navigation__submenu-container {
  color: var(--gimur-text-primary, #1a1a2e) !important;
  background: #ffffff !important;
  border: 1px solid var(--gimur-border, #e2e2e8);
  border-radius: var(--gimur-radius-md, 8px);
  box-shadow: var(--gimur-shadow-lg, 0 10px 30px rgba(0,0,0,0.1));
  padding: 0.5rem 0;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: 0.5rem 1.25rem;
  color: var(--gimur-text-primary, #1a1a2e) !important;
  transition: background 0.15s ease, color 0.15s ease;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: var(--gimur-cool-bg, #f0f4f8);
  color: var(--gx-accent-ink) !important;
}

/* -- Auth links estilitzats -- */
.gimur-login-link a,
.gimur-logout-link a {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* -- Active menu item indicator -- */
.wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content {
  color: var(--gx-accent-ink);
  position: relative;
}
/* Només en elements sense submenú: als pares, ::after ja és el xevró i es barrejaven en un rombe. Al menú de mòbil, només el color. */
.wp-block-navigation-item.current-menu-item:not(.has-child) > .wp-block-navigation-item__content::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--gimur-secondary, #d4792a);
  border-radius: 1px;
}


/* =============================================================================
   gimur_hero_polish
   Cover sections uniformitat
   ============================================================================= */

/* Pages with cover as first content element: remove template padding-top */
.site-content:has(> .wp-block-post-content > .wp-block-cover:first-child),
.site-content:has(> .entry-content > .wp-block-cover:first-child) {
  padding-top: 0 !important;
}
/* Pages WITHOUT cover: add spacing since template padding is overridden by specificity */
.site-content > .wp-block-post-content > .wp-block-group:first-child,
.site-content > .entry-content > .wp-block-group:first-child {
  padding-top: 1.5rem;
}

/* -- Hero cover uniformitat -- */
.wp-block-cover:first-child,
.entry-content > .wp-block-cover:first-child {
  min-height: 340px;
}

/* -- Hero heading -- */
.wp-block-cover .wp-block-heading {
  font-family: var(--wp--preset--font-family--libre-baskerville, Georgia, serif);
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

/* -- Hero subtitle -- */
.wp-block-cover p:not(.wp-block-heading):not(.wp-block-button__link) {
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
}


/* -- Cover headings: responsive typography -- */
.wp-block-cover .wp-block-cover__inner-container h1,
.wp-block-cover .wp-block-cover__inner-container .wp-block-heading[class*="max-60"] {
  font-size: clamp(1.75rem, 5vw, 3.75rem);
}
.wp-block-cover .wp-block-cover__inner-container h2 {
  font-size: clamp(1.25rem, 3.5vw, 2.25rem);
}
/* Congress/events: prevent orphan characters on long titles */
.wp-block-cover .wp-block-cover__inner-container h1,
.wp-block-cover .wp-block-cover__inner-container h2 {
  word-break: break-word;
  overflow-wrap: anywhere;
  hyphens: auto;
}

/* =============================================================================
   gimur_button_system
   Focus ring, outline, CTA polish
   ============================================================================= */

/* -- Focus ring per accessibilitat -- */
.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible,
.gimur-cta:focus-visible {
  outline: 2px solid var(--gimur-secondary, #d4792a);
  outline-offset: 2px;
}

/* -- Colisio del preset "border" amb les vores personalitzades --
   El tema declara un preset de color amb slug "border" (#e2e2e8), i WordPress
   genera .has-{slug}-color{color:...!important} per a CADA preset. Un bloc amb
   color de vora personalitzat rep tambe la classe .has-border-color, i eixa
   regla es menja el color del text: el boto "Browse news" del 404 sortia gris
   claríssim sobre fons blanc, practicament invisible.
   Les dues regles son !important amb la mateixa especificitat, aixi que guanya
   la que ve despres. Aci es puja l especificitat per als presets que es fan
   servir de veres en botons. */
.wp-block-button .wp-block-button__link.has-primary-color        { color: var(--wp--preset--color--primary, #003966) !important; }
.wp-block-button .wp-block-button__link.has-secondary-color      { color: var(--gx-accent-ink) !important; }
.wp-block-button .wp-block-button__link.has-foreground-color     { color: var(--wp--preset--color--foreground, #000) !important; }
.wp-block-button .wp-block-button__link.has-text-primary-color   { color: var(--wp--preset--color--text-primary, #1a1a2e) !important; }
.wp-block-button .wp-block-button__link.has-white-color          { color: var(--wp--preset--color--white, #fff) !important; }

/* -- Outline button polish -- */
.is-style-outline .wp-block-button__link {
  border: 2px solid currentColor;
  background: transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  /* Amb !important, perque les regles de color de preset de mes amunt tambe el
     porten i si no el text es quedava fosc sobre fons fosc. */
  background: var(--wp--preset--color--primary, #003966) !important;
  color: var(--wp--preset--color--white, #ffffff) !important;
  border-color: var(--wp--preset--color--primary, #003966) !important;
}

/* -- gimur-cta transicio millorada -- */
.gimur-cta {
  transition: background 0.25s ease,
              border-color 0.25s ease,
              transform 0.15s ease,
              box-shadow 0.25s ease;
}
.gimur-cta:hover {
  transform: none;
  box-shadow: var(--gimur-shadow-sm, 0 2px 8px rgba(0,0,0,0.08));
}


/* =============================================================================
   gimur_archive_cards
   Blog/News post cards
   ============================================================================= */

/* -- Post card dins query loop -- */
.wp-block-post-template .wp-block-post {
  position: relative;
  cursor: pointer;
  padding: var(--gimur-space-lg, 1.5rem);
  border: 1px solid var(--gimur-border, #e2e2e8);
  border-radius: var(--gimur-radius-md, 8px);
  background: var(--gimur-surface, #fff);
  transition: box-shadow 0.25s ease, transform 0.15s ease;
}
.wp-block-post-template .wp-block-post:hover {
  box-shadow: var(--gimur-shadow-md, 0 4px 16px rgba(0,0,0,0.08));
  transform: none;
}

/* -- Post title dins card -- */
.wp-block-post-template .wp-block-post-title {
  font-size: 1.125rem;
  line-height: 1.3;
  font-family: var(--wp--preset--font-family--libre-baskerville, Georgia, serif);
}
.wp-block-post-template .wp-block-post-title a {
  text-decoration: none;
  color: var(--gimur-primary, #003966);
}
.wp-block-post-template .wp-block-post-title a:hover {
  color: var(--gx-accent-ink);
}
/* -- Card clicable via pseudo-element -- */
.wp-block-post-template .wp-block-post-title a::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
}
.wp-block-post-template .wp-block-read-more {
  position: relative;
  z-index: 2;
}

/* -- Read more link com a CTA -- */
.wp-block-read-more {
  position: relative;
  z-index: 2;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gx-accent-ink);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: border-color 0.15s ease;
}
.wp-block-read-more:hover {
  border-bottom-color: var(--gimur-secondary, #d4792a);
}


/* =============================================================================
   gimur_single_polish
   Breadcrumb, back link
   ============================================================================= */

/* -- Breadcrumb -- */
.wp-block-yoast-seo-breadcrumbs,
[class*="breadcrumb"] {
  font-size: 0.8125rem;
  color: var(--gimur-text-secondary, #555);
  letter-spacing: 0.02em;
}
[class*="breadcrumb"] a {
  color: var(--gx-accent-ink);
  text-decoration: none;
}
[class*="breadcrumb"] a:hover {
  text-decoration: underline;
}

/* -- Back link -- */
.gimur-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--gx-accent-ink);
  text-decoration: none;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: var(--gimur-space-lg, 1.5rem);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item:not(.has-child) > .wp-block-navigation-item__content::after {
  content: none;
}
