
:root {
  --anarpla-green: #2e9e4b;
  --anarpla-dark-green: #12331c;
  --anarpla-page-gutter: clamp(18px, 4vw, 64px);
}
html { scroll-behavior: smooth; }
html, body { margin: 0; overflow-x: clip; }
body { font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--anarpla-dark-green); background: #fff; }
*, *::before, *::after { box-sizing: border-box; }
img, svg, video { max-width: 100%; }
a { text-underline-offset: .18em; }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.screen-reader-text:focus { position:fixed!important; z-index:999999!important; top:10px!important; left:10px!important; width:auto!important; height:auto!important; padding:12px 16px!important; clip:auto!important; background:#fff!important; color:#12331c!important; }
.anarpla-responsive-image { max-width: 100%; }
.anarpla-wide-container { max-width: min(var(--anarpla-original-width, 100%), calc(100% - 32px)); }
.anarpla-primary-menu { display:flex; align-items:center; justify-content:center; gap:28px; list-style:none; margin:0; padding:0; }
.anarpla-primary-menu li { margin:0; padding:0; }
.anarpla-primary-menu a { display:inline-flex; align-items:center; }
.anarpla-site-nav { position:relative; }
.anarpla-menu-toggle { display:none!important; position:relative; z-index:10002; touch-action:manipulation; }
.anarpla-menu-toggle svg { transition:transform .22s ease; }
.anarpla-menu-toggle.is-active svg { transform:rotate(90deg); }
.anarpla-mobile-menu {
  display:block;
  position:absolute;
  z-index:10001;
  left:0;
  right:0;
  top:calc(100% + 10px);
  max-height:calc(100vh - 110px);
  max-height:calc(100dvh - 110px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:18px;
  border-radius:18px;
  background:rgba(6,26,14,.98);
  color:#fff;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px) scale(.985);
  transform-origin:top center;
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.anarpla-mobile-menu--congress { background:rgba(10,10,30,.98); }
.anarpla-mobile-menu.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
body.anarpla-menu-open { overflow:hidden; }
.anarpla-mobile-menu__list { list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.anarpla-mobile-menu__list a { display:block; padding:12px 10px; color:#fff; text-decoration:none; font-weight:750; letter-spacing:.04em; border-radius:10px; }
.anarpla-mobile-menu__list a:hover, .anarpla-mobile-menu__list a:focus-visible, .anarpla-mobile-menu__list .current-menu-item > a { background:rgba(255,255,255,.1); outline:none; }
.anarpla-mobile-menu__actions { display:grid; gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.18); }
.anarpla-mobile-menu__actions a { display:flex; justify-content:center; align-items:center; padding:12px 16px; border:1px solid rgba(255,255,255,.42); border-radius:999px; color:#fff; text-decoration:none; font-weight:800; }
.anarpla-mobile-menu__actions .anarpla-mobile-menu__cta { background:#6fdd52; color:#12331c; border-color:transparent; }
.anarpla-mobile-language { display:flex; gap:8px; align-items:center; justify-content:center; margin-top:14px; font-size:13px; font-weight:800; letter-spacing:.12em; }
.anarpla-language-switcher a, .anarpla-language-switcher span, .anarpla-mobile-language a, .anarpla-mobile-language span { color:inherit; text-decoration:none; }
.anarpla-language-switcher .is-active, .anarpla-mobile-language .is-active { opacity:1; font-weight:900; }
.anarpla-language-switcher .is-inactive, .anarpla-mobile-language .is-inactive { opacity:.68; }
.anarpla-site-footer a { color:inherit; }
.anarpla-notice { padding:20px; border:1px solid rgba(46,158,75,.24); border-radius:14px; background:#fff; color:#45604a; }

/* Dynamic news */
.anarpla-news-grid-dynamic { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.anarpla-news-card { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid rgba(46,158,75,.14); border-radius:22px; overflow:hidden; color:#12331c; text-decoration:none; box-shadow:0 16px 34px rgba(25,70,36,.07); transition:transform .25s ease, box-shadow .25s ease; }
.anarpla-news-card:hover { transform:translateY(-4px); box-shadow:0 22px 48px rgba(25,70,36,.13); }
.anarpla-news-card__media { position:relative; height:260px; overflow:hidden; background:linear-gradient(135deg,#eaf6e2,#d7e6d0); }
.anarpla-news-card--compact .anarpla-news-card__media { height:190px; }
.anarpla-news-card--featured .anarpla-news-card__media { height:340px; }
.anarpla-news-card__image { width:100%; height:100%; object-fit:cover; display:block; }
.anarpla-news-card__category { position:absolute; top:14px; left:14px; padding:6px 13px; border-radius:999px; background:rgba(6,26,14,.72); color:#fff; font-size:12px; font-weight:800; }
.anarpla-news-card__body { display:flex; flex-direction:column; gap:10px; padding:22px 24px 26px; flex:1; }
.anarpla-news-card__date { font-size:13px; font-weight:700; color:#6b8a72; }
.anarpla-news-card__title { margin:0; font-size:19px; font-weight:800; line-height:1.25; letter-spacing:-.5px; color:#12331c; }
.anarpla-news-card--featured .anarpla-news-card__title { font-size:clamp(24px,2.2vw,30px); }
.anarpla-news-card__excerpt { margin:0; font-size:15px; line-height:1.6; color:#45604a; }
.anarpla-news-card__read { margin-top:auto; font-size:14.5px; font-weight:800; color:#1f8a35; }
.anarpla-news-archive__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:26px; }
.anarpla-news-pagination { margin-top:40px; display:flex; justify-content:center; }
.anarpla-news-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; margin:0 4px; padding:0 12px; border-radius:999px; border:1px solid rgba(46,158,75,.25); color:#12331c; text-decoration:none; }
.anarpla-news-pagination .current { background:#2e9e4b; color:#fff; border-color:#2e9e4b; }

/* Associates plugin design */
.anarpla-associates-shortcode { margin-top:44px; }
.anarpla-directory { width:100%; }
.anarpla-directory__search { position:relative; max-width:420px; margin-bottom:18px; }
.anarpla-directory__search-input { width:100%; min-height:52px; padding:14px 20px; border-radius:999px; border:1px solid rgba(46,158,75,.25); background:#fff; color:#12331c; font:inherit; box-shadow:0 8px 24px rgba(26,78,39,.06); }
.anarpla-directory__search-input:focus { outline:3px solid rgba(46,158,75,.2); border-color:#2e9e4b; }
.anarpla-directory__filters { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 18px; }
.anarpla-directory__filter { appearance:none; border:1px solid rgba(46,158,75,.24); background:#fff; color:#45604a; border-radius:999px; padding:10px 16px; font:inherit; font-size:14px; font-weight:800; cursor:pointer; transition:.2s ease; }
.anarpla-directory__filter:hover, .anarpla-directory__filter.is-active { background:#2e9e4b; border-color:#2e9e4b; color:#fff; }
.anarpla-directory__count { margin:0 0 20px; color:#5c7a58; font-size:14px; font-weight:700; }
.anarpla-directory__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.anarpla-card { display:flex; flex-direction:column; min-width:0; min-height:330px; padding:24px; border-radius:20px; border:1px solid rgba(46,158,75,.14); background:#fff; box-shadow:0 14px 32px rgba(25,70,36,.07); transition:transform .24s ease, box-shadow .24s ease; }
.anarpla-card:hover { transform:translateY(-3px); box-shadow:0 20px 42px rgba(25,70,36,.12); }
.anarpla-card__logo { position:relative; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:1fr; place-items:center; height:92px; margin-bottom:20px; overflow:hidden; }
.anarpla-card__logo-image { grid-column:1; grid-row:1; display:block; width:auto!important; height:auto!important; max-width:100%; max-height:82px; object-fit:contain; transition:opacity 180ms ease; }
.anarpla-card__logo-image--mono { opacity:1; }
.anarpla-card__logo-image--color { position:static!important; inset:auto!important; opacity:0; pointer-events:none; }
.anarpla-card__logo:hover .anarpla-card__logo-image--mono,
.anarpla-card__logo:focus-within .anarpla-card__logo-image--mono { opacity:0; }
.anarpla-card__logo:hover .anarpla-card__logo-image--color,
.anarpla-card__logo:focus-within .anarpla-card__logo-image--color { opacity:1; }
.anarpla-card__logo--single .anarpla-card__logo-image--mono { opacity:1; }
.anarpla-card__name { margin:0 0 14px; font-size:18px; line-height:1.25; font-weight:850; color:#12331c; }
.anarpla-card__website-link { color:inherit; text-decoration:none; }
.anarpla-card__website-link:hover { color:#1f8a35; }
.anarpla-card__contact { margin:0; color:#526b56; font-style:normal; font-size:14px; line-height:1.55; }
.anarpla-card__contact a { color:#1f7a3d; text-decoration:none; overflow-wrap:anywhere; }
.anarpla-card__residues { display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; padding-top:18px; }
.anarpla-card__residue { display:inline-flex; align-items:center; justify-content:center; min-width:42px; min-height:29px; padding:5px 9px; border-radius:8px; background:#edf8e8; color:#1f7a3d; font-size:12px; font-weight:900; letter-spacing:.03em; }
.anarpla-directory__empty { padding:36px; text-align:center; border:1px dashed rgba(46,158,75,.3); border-radius:20px; color:#5c7a58; }

/* Standard content */
.anarpla-standard-page { min-height:70vh; padding:120px var(--anarpla-page-gutter) 80px; background:#f5faef; }
.anarpla-standard-page__inner { max-width:920px; margin:0 auto; }
.anarpla-standard-page h1 { font-size:clamp(38px,6vw,70px); line-height:1.02; }
.anarpla-entry-content { font-size:18px; line-height:1.75; color:#314d37; }
.anarpla-entry-content img { height:auto; border-radius:18px; }

@media (max-width: 1180px) {
  .anarpla-desktop-nav { display:none!important; }
  .anarpla-site-nav .anarpla-language-switcher,
  .anarpla-site-nav .anarpla-area-link,
  .anarpla-site-nav .anarpla-cta-link { display:none!important; }
  .anarpla-menu-toggle { display:inline-flex!important; }
  .anarpla-site-nav { width:calc(100% - 32px)!important; margin-left:auto!important; margin-right:auto!important; padding-left:18px!important; padding-right:18px!important; }
  .anarpla-directory__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .anarpla-grid--4, .anarpla-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .anarpla-news-grid-dynamic, .anarpla-news-archive__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .anarpla-directory__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .anarpla-site-footer [style*="grid-template-columns"] { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width: 720px) {
  .anarpla-page { overflow:hidden; }
  .anarpla-fluid-type { font-size:clamp(30px,10vw,var(--anarpla-font-max))!important; }
  .anarpla-wide-container { width:100%!important; max-width:100%!important; }
  .anarpla-grid { grid-template-columns:1fr!important; }
  .anarpla-stack-mobile { flex-direction:column!important; max-width:100%!important; }
  .anarpla-stack-mobile > * { max-width:100%!important; }
  .anarpla-news-grid-dynamic, .anarpla-news-archive__grid, .anarpla-directory__grid { grid-template-columns:1fr; }
  .anarpla-news-card--featured .anarpla-news-card__media, .anarpla-news-card__media { height:220px; }
  .anarpla-site-nav { gap:12px!important; min-height:70px; overflow:visible!important; }
  .anarpla-site-nav__logo-image { max-width:min(180px,55vw)!important; height:auto!important; }
  .anarpla-mobile-menu { left:0; right:0; top:calc(100% + 8px); max-height:calc(100vh - 96px); max-height:calc(100dvh - 96px); border-radius:16px; }
  .anarpla-site-footer { padding-left:20px!important; padding-right:20px!important; }
  .anarpla-site-footer [style*="grid-template-columns"] { grid-template-columns:1fr!important; }
  .anarpla-section [style*="position: absolute"][style*="width:"] { max-width:100%; }
  input, select, textarea, button { max-width:100%; }

  /* Cada portada ocupa como mínimo la pantalla visible del móvil. */
  .anarpla-section--home-1,
  .anarpla-section--about-1,
  .anarpla-section--associates-1,
  .anarpla-section--services-1,
  .anarpla-section--news-1,
  .anarpla-section--congress-1 {
    min-height:100vh!important;
    min-height:100svh!important;
    min-height:100dvh!important;
  }
  .anarpla-page--publications > div:first-child {
    min-height:100vh!important;
    min-height:100svh!important;
    min-height:100dvh!important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}


/* Footer newsletter */
.anarpla-newsletter-form { max-width:360px; }
.anarpla-newsletter-form__row { display:flex; gap:10px; }
.anarpla-newsletter-form__row input[type="email"] { flex:1 1 auto; min-width:0; padding:12px 16px; border-radius:11px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06); color:#fff; font:inherit; outline:none; }
.anarpla-newsletter-form__row input[type="email"]:focus { border-color:#8ee85f; box-shadow:0 0 0 3px rgba(142,232,95,.16); }
.anarpla-newsletter-form__row button { flex:0 0 auto; padding:12px 22px; border-radius:11px; border:0; background:linear-gradient(135deg,#6fdd52,#35a83a); color:#06210f; font:inherit; font-weight:800; cursor:pointer; }
.anarpla-newsletter-form__consent { display:flex; align-items:flex-start; gap:8px; margin-top:10px; color:#93a58c; font-size:12px; line-height:1.45; }
.anarpla-newsletter-form__consent input { margin-top:3px; }
.anarpla-newsletter-form__consent a { color:#8ee85f; }
.anarpla-newsletter-form__honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }
.anarpla-newsletter-status { max-width:360px; margin:0 0 10px; font-size:13px; line-height:1.45; }
.anarpla-newsletter-status.is-success { color:#8ee85f; }
.anarpla-newsletter-status.is-error { color:#ffb2a8; }
@media (max-width:480px) { .anarpla-newsletter-form__row { flex-direction:column; } .anarpla-newsletter-form__row button { width:100%; } }

.anarpla-mobile-menu__fallback .anarpla-primary-menu {
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
}
.anarpla-mobile-menu__fallback .anarpla-primary-menu a {
  display:block;
  padding:12px 10px;
  border-radius:10px;
  color:#fff;
  font-weight:750;
  letter-spacing:.04em;
  text-decoration:none;
}
