/* NEXT 0.5.256: built from the following template sources in cascade order. */

/* Source: core.css */
/* PortalGraf Next 0.5.21 — estilos globales preservados sin cambios desde 0.5.20. */
/* PortalGraf Next v0.5.15 — estilos propios, sin parches acumulativos.
   Mantiene Cassiopeia/Bootstrap y módulos nativos de Joomla. */
:root{--pg-green:#247449;--pg-dark:#103d2d;--pg-orange:#f28c20;--pg-lime:#75bd24;--pg-text:#15262a;--pg-border:#e4e9e6;--pg-max:1200px;--pg-editorial-title-link:#155b95}
/* NEXT 0.5.158 — Botones Bootstrap compartidos.
   Los componentes conservan sus reglas especificas; no afecta a variantes secundarias. */
body.pg-next .btn.btn-primary {
  border-color: var(--pg-dark);
  background-color: var(--pg-dark);
  color: #fff;
  font-weight: 700;
}
body.pg-next .btn.btn-primary:is(:hover, :focus-visible) {
  border-color: var(--pg-green);
  background-color: var(--pg-green);
  color: #fff;
}
body.pg-next .btn.btn-outline-primary {
  border-color: var(--pg-dark);
  background-color: transparent;
  color: var(--pg-dark);
  font-weight: 700;
}
body.pg-next .btn.btn-outline-primary:is(:hover, :focus-visible) {
  border-color: var(--pg-dark);
  background-color: var(--pg-dark);
  color: #fff;
}
body.pg-next .btn.btn-primary:focus-visible,
body.pg-next .btn.btn-outline-primary:focus-visible {
  outline: 2px solid var(--pg-orange);
  outline-offset: 3px;
}

/* Evita animar la restauración nativa de scroll tras F5. Solo PortalGraf Next. */
html:has(> body.pg-next){scroll-behavior:auto !important}
body.pg-next{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:#fff;color:var(--pg-text);overflow-wrap:anywhere}
.pg-next .pg-site-header{background:#fff;background-image:none;border-bottom:1px solid var(--pg-border);box-shadow:0 2px 9px #092f2310;color:var(--pg-dark);position:relative;z-index:30;padding:0;min-height:0}
.pg-next .pg-header-inner{width:min(100%,var(--pg-max));margin:auto;box-sizing:border-box;min-height:76px;padding:12px 24px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(12px,1.8vw,26px);align-items:center}
.pg-next .pg-brand{min-width:0}
.pg-next .brand-logo{display:block;color:var(--pg-green);text-decoration:none;line-height:1.05;white-space:nowrap}
.pg-next .site-title{color:var(--pg-green);font-weight:850;letter-spacing:-.045em;font-size:clamp(1.38rem,2vw,1.85rem)}
.pg-next .site-title em,.pg-next .pg-footer-brand em{font-style:normal;color:var(--pg-orange)}
.pg-next .site-description{display:block;font-size:.63rem;color:var(--pg-dark);margin-top:4px}
.pg-next .pg-main-navigation{min-width:0;align-self:center;justify-self:start;display:flex;align-items:center;flex:0 0 auto}
/* One native resources/community menu owner; account module remains autonomous. */
.pg-next .pg-content-shell{width:min(100%,var(--pg-max));margin:auto;padding:24px;box-sizing:border-box}
/* Retícula exclusiva de PortalGraf Next: sin clases de disposición de Cassiopeia.
   Las posiciones Joomla sidebar-left/right siguen disponibles y solo se
   materializan mediante countModules() en index.php. */
.pg-next .pg-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "main";
  gap: 20px;
  align-items: start;
  min-width: 0;
}
.pg-next .pg-primary-content {
  grid-area: main;
  min-width: 0;
  width: 100%;
  padding: 0 0 35px;
}
.pg-next .pg-sidebar {
  min-width: 0;
  width: 100%;
  overflow-wrap: anywhere;
}
@media (min-width: 1150px) {
  .pg-next.has-sidebar-left:not(.has-sidebar-right) .pg-content-grid {
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
    grid-template-areas: "left main";
  }
  .pg-next.has-sidebar-right:not(.has-sidebar-left) .pg-content-grid {
    grid-template-columns: minmax(0, 1fr) minmax(200px, 240px);
    grid-template-areas: "main right";
  }
  /* Inicio: separa el contenido editorial de la columna lateral sin afectar a interiores. */
  .pg-next.com_content.view-featured.has-sidebar-right .pg-content-grid {
    column-gap: 32px;
  }
  .pg-next.has-sidebar-left.has-sidebar-right .pg-content-grid {
    grid-template-columns: minmax(190px, 210px) minmax(0, 1fr) minmax(190px, 210px);
    grid-template-areas: "left main right";
  }
}
.pg-next .pg-sidebar--left {grid-area: left;}
.pg-next .pg-sidebar--right {grid-area: right;}
@media (max-width: 1149.98px) {
  .pg-next .pg-content-grid {grid-template-areas: "main" "left" "right";}
  .pg-next:not(.has-sidebar-left) .pg-content-grid {grid-template-areas: "main" "right";}
  .pg-next:not(.has-sidebar-right) .pg-content-grid {grid-template-areas: "main" "left";}
  .pg-next:not(.has-sidebar-left):not(.has-sidebar-right) .pg-content-grid {grid-template-areas: "main";}
}
.pg-next .pg-primary-content main{min-width:0}
.pg-next .pg-modules-band{margin-top:24px}
.pg-next :focus-visible{outline:2px solid var(--pg-orange);outline-offset:3px}

/* Header stays within the same grid on desktop and wraps intentionally on mobile. */

/* Layering and keyboard-focus indicator. */

/* PortalGraf Next 0.5.6: a single site-header controls layer.
   Joomla mod_menu owns the menu; mod_portalgrafcuenta owns auth and actions.
   No JS changes and no modifications to shared module assets. */
.pg-next .pg-site-header{border-bottom:2px solid #75bd2438}
.pg-next .pg-header-tools{
  --pg-tool-size:42px;
  display:flex;align-items:center;justify-self:end;gap:10px;min-width:0;
}
.pg-next .pg-header-tools > *{align-self:center;flex-shrink:0}
.pg-next .pg-search-link{
  display:inline-grid;place-items:center;
  box-sizing:border-box;width:var(--pg-tool-size);height:var(--pg-tool-size);
  min-width:var(--pg-tool-size);min-height:var(--pg-tool-size);
  margin:0;padding:0;border:1px solid #e4e9e6;border-radius:11px;
  background:transparent;color:var(--pg-green);text-decoration:none;
  line-height:1;vertical-align:middle;
}
.pg-next .pg-search-link .pg-search-icon{
  display:block;width:19px;height:19px;margin:0;flex:none;
}
.pg-next .pg-search-link:hover{background:#f4f7f4;border-color:#cbdacf}
.pg-next .pg-search-link:focus-visible{outline:2px solid var(--pg-orange);outline-offset:2px}
.pg-next .pg-account-slot{display:flex;align-items:center;min-width:0;isolation:isolate}
.pg-next .pg-account-slot > *{margin:0;align-self:center}
.pg-next .pg-account-slot .pg-account-module{
  display:inline-flex;align-items:center;margin:0;line-height:1;
}
.pg-next .pg-account-slot .pg-account-details{position:relative;z-index:1;margin:0}
.pg-next .pg-account-slot .pg-account-details[open]{z-index:3}
.pg-next .pg-account-slot .pg-account-summary{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  gap:9px;min-height:var(--pg-tool-size);height:var(--pg-tool-size);
  width:auto;max-width:none;margin:0;padding:0 13px;
  border:1px solid #f28c2055;border-radius:11px;
  background:transparent;color:#a94f00;box-shadow:none;
  font:650 .85rem/1.2 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  white-space:nowrap;vertical-align:middle;
}
.pg-next .pg-account-slot .pg-account-summary::before{content:none;display:none}
.pg-next .pg-account-slot .pg-account-icon{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 17px;width:17px;height:17px;margin:0;
}
.pg-next .pg-account-slot .pg-account-label{display:inline-block;flex:0 0 auto;white-space:nowrap}
.pg-next .pg-account-slot .pg-account-caret{
  position:static;inset:auto;box-sizing:border-box;
  display:block;flex:0 0 8px;width:8px;height:8px;
  margin:0 1px 3px 1px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transform-origin:center;
}
.pg-next .pg-account-slot .pg-account-details[open] .pg-account-caret{
  transform:rotate(225deg);margin-top:4px;margin-bottom:0;
}
.pg-next .pg-account-slot .pg-account-details.pg-account-is-closing .pg-account-caret{
  transform:rotate(45deg);margin-top:0;margin-bottom:3px;
}
.pg-next .pg-account-slot .pg-account-summary:hover,
.pg-next .pg-account-slot .pg-account-details[open] > .pg-account-summary{
  background:#fff4e9;border-color:var(--pg-orange);color:#a94f00;box-shadow:none;
}
.pg-next .pg-account-slot .pg-account-summary:focus-visible{
  outline:2px solid var(--pg-orange);outline-offset:2px;
}
.pg-next .pg-account-slot .pg-account-popover{
  position:absolute;inset-inline-end:0;inset-block-start:calc(100% + 8px);
  z-index:120;min-width:210px;background:#fff;border:1px solid var(--pg-border);
  border-radius:10px;box-shadow:0 12px 24px #0002;padding:10px;list-style:none;
}
@media(prefers-reduced-motion:reduce){
 .pg-next .pg-site-header *{transition:none;scroll-behavior:auto}
}


/* PortalGraf Next v0.5.14: sole navigation presentation rules; legacy MetisMenu selectors retired. */
/* Aislar la navegacion de los layouts nativos .container-header .mod-menu y .nav. */
.pg-next .container-header .pg-main-navigation ul.pg-nav-root.mod-menu{display:flex;flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:18px;width:max-content;max-width:none;margin:0;padding:0;list-style:none;background:transparent}
.pg-next .pg-main-navigation .pg-nav-root>li{position:relative;display:flex;align-items:center;min-width:0;margin:0;padding:0;flex:none}
.pg-next .pg-main-navigation .pg-nav-root>li>a,
.pg-next .pg-main-navigation .pg-nav-trigger{display:inline-flex;align-items:center;justify-content:center;font:700 12px/1.4 "Segoe UI",Arial,sans-serif;text-decoration:none;color:#172e2b;padding:7px 0;border:0;border-radius:0;background:transparent;transition:color .15s ease}
.pg-next .pg-main-navigation .pg-nav-trigger{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer}
.pg-next .pg-main-navigation .pg-nav-trigger--arrow{padding:7px 0}
.pg-next .pg-main-navigation .pg-nav-caret{display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-3px 2px 0 0;flex:none}
.pg-next .pg-main-navigation .pg-nav-trigger[aria-expanded="true"] .pg-nav-caret{transform:rotate(225deg);margin:3px 2px 0 0}
.pg-next .pg-main-navigation .pg-nav-root>li>a:hover,
.pg-next .pg-main-navigation .pg-nav-trigger:hover,
.pg-next .pg-main-navigation .pg-nav-trigger[aria-expanded="true"]{background:transparent;color:#247449}
.pg-next .pg-main-navigation .pg-nav-root>li>a:focus-visible,
.pg-next .pg-main-navigation .pg-nav-trigger:focus-visible{background:transparent;color:#247449;outline:2px solid var(--pg-orange);outline-offset:3px}
.pg-next .pg-main-navigation .pg-nav-root>li.active>a,
.pg-next .pg-main-navigation .pg-nav-root>li.current>a{color:var(--pg-green);box-shadow:inset 0 -2px var(--pg-orange)}
.pg-next .pg-main-navigation .pg-nav-sub{position:absolute;top:100%;left:0;z-index:100;display:block;min-width:215px;max-width:300px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid var(--pg-border);border-radius:10px;box-shadow:0 14px 28px #0002;text-align:left}
/* La regla heredada .container-header .mod-menu .parent > ul gana por especificidad.
   Solo mostrar submenus abiertos por nuestro controlador, nunca los ocultos. */
.pg-next .container-header .pg-main-navigation .mod-menu .parent > ul.pg-nav-sub:not([hidden]){display:block}
.pg-next .pg-main-navigation .pg-nav-sub[hidden]{display:none!important}
.pg-next .pg-main-navigation .pg-nav-sub li{list-style:none}
.pg-next .pg-main-navigation .pg-nav-sub li a{display:block;padding:8px 10px;color:var(--pg-dark);font-size:.85rem;text-decoration:none;border-radius:7px}
.pg-next .pg-main-navigation .pg-nav-sub li a:hover,.pg-next .pg-main-navigation .pg-nav-sub li a:focus-visible{background:#edf4f0;color:var(--pg-green)}

@media(max-width:899.98px){.pg-next .container-header .pg-main-navigation ul.pg-nav-root.mod-menu{display:block;width:100%}.pg-next .pg-main-navigation .pg-nav-root>li{display:block}.pg-next .pg-main-navigation .pg-nav-sub{position:static;min-width:0;max-width:none;width:100%;box-shadow:none;margin:4px 0 8px}}

/* Existing header grid preserved for desktop and responsive handoff. */
@media (min-width:900px){.pg-next .pg-header-inner{max-width:1250px;width:100%;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;padding-left:24px;padding-right:30px}.pg-next .pg-main-navigation{margin-left:12px;transform:translateY(-5px)}}
/* Navegación intermedia, sin nuevas filas. */
@media (min-width:900px) and (max-width:1049.98px){
 .pg-next .pg-header-inner{gap:14px}
 .pg-next .pg-main-navigation{margin-left:2px}
 .pg-next .container-header .pg-main-navigation ul.pg-nav-root.mod-menu{column-gap:9px}
  /* Misma neutralización del desplazamiento heredado que ya funciona en móvil.
     Solo para la fase intermedia, sin alterar el botón ni los extremos. */
  body.pg-next .pg-header-tools .pg-account-slot .pg-account-summary{
    inset-block-start:0;
  }
}
@media (max-width:899.98px){.pg-next .pg-header-inner{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 18px}.pg-next .pg-brand{grid-column:1}.pg-next .pg-main-navigation{grid-column:1/-1;grid-row:2}.pg-next .pg-header-tools{grid-column:2;grid-row:1}.pg-next .pg-content-shell{padding:18px}}

/* PortalGraf Next 0.5.16 — mobile navigation only, desktop rules preserved. */
.pg-next .pg-mobile-toggle{display:none}
@media(max-width:899.98px){
  .pg-next .pg-header-inner{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 18px;min-height:72px}
  .pg-next .pg-brand{grid-column:1;grid-row:1}
  .pg-next .pg-header-tools{grid-column:2;grid-row:1;gap:8px}
  .pg-next .pg-mobile-toggle{box-sizing:border-box;display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #d7e5d9;border-radius:11px;background:#fff;color:var(--pg-green);cursor:pointer;order:3}
  .pg-next .pg-mobile-toggle[aria-expanded="true"]{background:#edf5ed;border-color:var(--pg-green)}
  .pg-next .pg-mobile-toggle:focus-visible{outline:2px solid var(--pg-orange);outline-offset:2px}
  .pg-next .pg-main-navigation{display:none;grid-column:1/-1;grid-row:2;min-width:0;padding:11px 0 6px;border-top:1px solid #e1e9e2}
  .pg-next .pg-main-navigation.pg-mobile-open{display:block}
  .pg-next .container-header .pg-main-navigation ul.pg-nav-root.mod-menu{display:block;width:100%}
  .pg-next .pg-main-navigation .pg-nav-root>li{display:block;margin:0;padding:0}
  .pg-next .pg-main-navigation .pg-nav-root>li>a,.pg-next .pg-main-navigation .pg-nav-trigger{display:inline-flex;align-items:center;min-height:40px;padding:9px 12px;font-size:.91rem}
  .pg-next .pg-main-navigation .pg-nav-sub{position:static;display:block;min-width:0;max-width:none;width:auto;margin:0 0 8px 10px;padding:5px 8px;border:0;border-left:2px solid #c5dacb;border-radius:0;background:transparent;box-shadow:none}
  .pg-next .pg-main-navigation .pg-nav-sub[hidden]{display:none!important}
  .pg-next .pg-main-navigation .pg-nav-sub li a{padding:9px 12px;font-size:.88rem}
}
@media(max-width:640px){
  .pg-next .pg-header-inner{padding:11px 12px;gap:6px}
  .pg-next .pg-header-tools{gap:6px;--pg-tool-size:40px}
  .pg-next .pg-mobile-toggle{width:40px;height:40px}
  .pg-next .pg-account-slot .pg-account-summary{width:40px;min-width:40px;padding:0;gap:0}
  .pg-next .pg-account-slot .pg-account-label,.pg-next .pg-account-slot .pg-account-caret{display:none}
  .pg-next .pg-account-slot .pg-account-popover{min-width:min(210px,calc(100vw - 24px))}
}
@media(max-width:360px){
  .pg-next .pg-header-tools{gap:4px;--pg-tool-size:36px}
  .pg-next .pg-mobile-toggle,.pg-next .pg-account-slot .pg-account-summary{width:36px;min-width:36px;height:36px}
}

/* PortalGraf Next 0.5.17: align the three mobile header controls without
   changing the shared account module, dropdown behavior, or desktop layout. */
@media (max-width:899.98px){
  .pg-next .pg-header-tools{
    align-items:center;
    --pg-tool-size:42px;
  }
  .pg-next .pg-header-tools > .pg-search-link,
  .pg-next .pg-header-tools > .pg-mobile-toggle,
  .pg-next .pg-header-tools > .pg-account-slot{
    box-sizing:border-box;
    align-self:center;
    flex:0 0 var(--pg-tool-size);
    width:var(--pg-tool-size);
    height:var(--pg-tool-size);
    min-width:var(--pg-tool-size);
    min-height:var(--pg-tool-size);
    margin:0;
  }
  .pg-next .pg-account-slot,
  .pg-next .pg-account-slot .pg-account-module,
  .pg-next .pg-account-slot .pg-account-details{
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    min-height:0;
    margin:0;
  }
  .pg-next .pg-account-slot .pg-account-summary{
    box-sizing:border-box;
    display:inline-flex;
    width:var(--pg-tool-size);
    min-width:var(--pg-tool-size);
    height:var(--pg-tool-size);
    min-height:var(--pg-tool-size);
    padding:0;
    margin:0;
    line-height:1;
    vertical-align:middle;
    transform:none;
  }
  .pg-next .pg-account-slot .pg-account-icon{margin:0;line-height:1}
  .pg-next .pg-account-slot .pg-account-label,
  .pg-next .pg-account-slot .pg-account-caret{display:none}
}
@media (max-width:640px){
  .pg-next .pg-header-tools{--pg-tool-size:40px}
}
@media (max-width:360px){
  .pg-next .pg-header-tools{--pg-tool-size:36px}
}

/* PortalGraf Next 0.5.18: remove inherited -3px account button offset on mobile.
   Scoped to experimental template; desktop and account module stay unchanged. */
@media (max-width: 899.98px) {
  body.pg-next .pg-header-tools .pg-account-slot .pg-account-summary {
    inset-block-start: 0;
  }
}

/* PortalGraf Next v0.5.19 — mobile submenu finish only.
   Preserve desktop, JS control, account alignment and footer. */
@media (max-width: 899.98px) {
  /* All expandable sections share the same open-state indicator. */
  body.pg-next .pg-main-navigation .pg-nav-trigger[aria-expanded="true"] {
    background: transparent;
    border-radius: 0;
    color: var(--pg-green);
  }
  /* Comfortable, consistent tap targets while retaining secondary hierarchy. */
  body.pg-next .pg-main-navigation .pg-nav-sub:not([hidden]) {
    margin-block: 1px 13px;
    padding-block: 2px 4px;
    border-inline-start: 2px solid #c5dacb;
  }
  body.pg-next .pg-main-navigation .pg-nav-sub li a {
    display: flex;
    align-items: center;
    min-height: 44px;
    box-sizing: border-box;
    padding: 10px 12px;
    line-height: 1.35;
    font-size: .88rem;
  }
  body.pg-next .pg-main-navigation .pg-nav-sub li + li { margin-block-start: 1px; }
}


/* 0.5.135: en móvil, el menú se superpone en lugar de expandir la cabecera.
   No afecta a navegación de escritorio, submenús ni a la barra de cuenta. */
@media (max-width:899.98px) {
  body.pg-next .pg-site-header { isolation:isolate; }
  body.pg-next .pg-site-header .pg-main-navigation {
    position:absolute;
    top:100%;
    inset-inline:0;
    z-index:110;
    box-sizing:border-box;
    width:100%;
    max-height:calc(100vh - 80px);
    max-height:calc(100dvh - 80px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    margin:0;
    padding:12px max(18px, calc((100vw - var(--pg-max)) / 2)) 20px;
    border-top:1px solid var(--pg-border);
    border-bottom:1px solid var(--pg-border);
    background:#fff;
    box-shadow:0 18px 32px rgba(9,47,35,.14);
  }
  body.pg-next .pg-site-header .pg-main-navigation:not(.pg-mobile-open) {display:none;}
  body.pg-next .pg-site-header .pg-main-navigation.pg-mobile-open {display:block;}
}
@media (max-width:640px) {
  body.pg-next .pg-site-header .pg-main-navigation {padding-inline:18px;}
}
/* Alter Glossary: enlace a ficha completa en popovers */
body.pg-next .popover .popover-body a.btn.btn-primary.readmore[href^="/glosario/"] {
  display: inline;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--pg-green, #247449);
  font-weight: 700;
  text-decoration: none;
}

body.pg-next .popover .popover-body a.btn.btn-primary.readmore[href^="/glosario/"]:is(:hover, :focus-visible) {
  background: transparent;
  color: var(--pg-dark, #103d2d);
  text-decoration: underline;
  text-underline-offset: .15em;
}


/* Source: shell/header.css */
/* Identidad PortalGraf Next: logotipo tipográfico del prototipo v1.2. */
.pg-next .pg-brand { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; }
.pg-next .pg-brand .brand-logo { line-height:1; }
.pg-next .pg-brand .site-title { font-family:"Segoe UI",Arial,sans-serif; font-weight:800; font-size:27px; letter-spacing:-1.8px; line-height:1; }
.pg-next .pg-brand-subtitle { display:block; color:#465951; font-family:"Segoe UI",Arial,sans-serif; font-size:8px; font-weight:700; letter-spacing:.72px; line-height:1; white-space:nowrap; }
/* El menú compacto comienza antes de que las opciones salten de línea; la altura móvil no cambia. */
@media(max-width:640px) {
  .pg-next .pg-brand .site-title { font-size:clamp(23px,5.6vw,27px); }
  .pg-next .pg-brand-subtitle { font-size:clamp(6px,1.7vw,7px); letter-spacing:.35px; }
  .pg-next .pg-brand .brand-logo img { height:44px; width:auto; max-width:100%; object-fit:contain; }
}
@media(max-width:360px) {
  .pg-next .pg-brand .site-title { font-size:22px; }
  .pg-next .pg-brand-subtitle { font-size:6px; letter-spacing:.2px; }
  .pg-next .pg-brand .brand-logo img { height:39px; }
}


/* Source: shell/footer.css */
/* v0.5.14 footer card — scoped to the experimental template; header styles unchanged. */
.pg-next .pg-site-footer{background:transparent!important;background-image:none!important;color:#e1ece5;margin:48px 0 24px;padding:0 24px;border:0;box-shadow:none}
.pg-next .pg-footer-card{width:min(100%,var(--pg-max));margin:auto;padding:26px 26px 20px;background:#103d2d;border-radius:13px;box-sizing:border-box;color:#e1ece5}
.pg-next .pg-footer-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0;align-items:start}
.pg-next .pg-footer-identity{position:relative;min-width:0;padding-right:48px}
.pg-next .pg-footer-identity:after{content:"";position:absolute;right:18px;top:10px;bottom:-13px;width:1px;background:#426253}
.pg-next .pg-footer-logo{font-size:1.32rem;line-height:1.2;letter-spacing:-.035em;color:#fff;font-weight:750}
.pg-next .pg-footer-logo em{font-style:normal;color:#f28c20}
.pg-next .pg-footer-tagline{font-size:.83rem;color:#d7e6dc;margin:11px 0 4px;line-height:1.5}
.pg-next .pg-footer-description{font-size:.83rem;line-height:1.5;color:#b9cec3;margin:0;max-width:290px}
.pg-next .pg-footer-contact{display:inline-flex;gap:8px;align-items:center;margin-top:19px;font-size:.88rem;font-weight:650;color:#fff;text-decoration:none}
.pg-next .pg-footer-contact svg{color:#f28c20;flex:0 0 auto}
.pg-next .pg-footer-navigation{min-width:0}
.pg-next .pg-footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;min-width:0}
.pg-next .pg-footer-column{min-width:0}
.pg-next .pg-footer-column h2{margin:0 0 9px;color:#fff;font-size:.96rem;font-weight:700;line-height:1.35}
.pg-next .pg-footer-column ul,.pg-next .pg-footer-legal ul{padding:0;margin:0;list-style:none}
.pg-next .pg-footer-column li+li{margin-top:10px}
.pg-next .pg-footer-column a,.pg-next .pg-footer-column .pg-footer-heading-item{color:#d7e6dc;text-decoration:none;font-size:.86rem;line-height:1.45}
.pg-next .pg-footer-bottom{border-top:1px solid #426253;margin-top:26px;padding-top:21px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.pg-next .pg-footer-bottom small{font-size:.77rem;color:#c3d4c9}
.pg-next .pg-footer-legal ul{display:flex;align-items:center;column-gap:12px;row-gap:7px;flex-wrap:wrap}
.pg-next .pg-footer-legal li{margin:0}
.pg-next .pg-footer-legal li+li::before{content:"·";color:#789889;margin-inline-end:12px;user-select:none}
.pg-next .pg-footer-legal a{font-size:.77rem;color:#d7e6dc;text-decoration:none}
.pg-next .pg-footer-card a:hover{text-decoration:underline;color:#fff;text-underline-offset:3px}
.pg-next .pg-footer-card a:focus-visible{outline:2px solid #f28c20;outline-offset:4px;border-radius:2px}
@media(max-width:991.98px){.pg-next .pg-site-footer{padding:0 18px;margin-top:36px}.pg-next .pg-footer-card{padding:25px 22px 20px}.pg-next .pg-footer-identity{padding-right:32px}.pg-next .pg-footer-identity:after{right:13px}.pg-next .pg-footer-columns{gap:16px}}
@media (min-width:641px) and (max-width:850px){.pg-next .pg-footer-main{grid-template-columns:1fr;row-gap:22px}.pg-next .pg-footer-identity:after{display:none}.pg-next .pg-footer-columns{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.pg-next .pg-site-footer{padding:0 12px}.pg-next .pg-footer-main{grid-template-columns:1fr;row-gap:25px}.pg-next .pg-footer-identity{padding-right:0}.pg-next .pg-footer-identity:after{display:none}.pg-next .pg-footer-columns{grid-template-columns:1fr}.pg-next .pg-footer-bottom{align-items:flex-start}}



/* Footer móvil: alineación legal natural sin desplazamientos artificiales. */
@media (max-width: 640px) {
  .pg-next .pg-footer-card { padding-bottom: 23px; }
  .pg-next .pg-footer-bottom { flex-direction:column; align-items:flex-start; gap:12px; }
  .pg-next .pg-footer-legal { width:100%; min-width:0; align-self:stretch; }
  .pg-next .pg-footer-legal ul { justify-content:flex-start; gap:9px 13px; }
  /* Los separadores de escritorio no preceden enlaces al envolver líneas. */
  .pg-next .pg-footer-legal ul { justify-content:center; gap:10px 18px; }
  .pg-next .pg-footer-legal li { white-space:nowrap; }
  .pg-next .pg-footer-legal li+li::before { content:none; }
  .pg-next .pg-footer-bottom { gap:10px; }
}

/* v0.5.65 · ritmo del final de los artículos, no afecta a categorías.
   El footer solo se ajusta cuando viene después de un artículo. */
body.pg-next.com_content.view-article .pg-site-footer {margin-top:30px;}
@media(max-width:640px) {
 body.pg-next.com_content.view-article .pg-site-footer {margin-top:26px;}
}


/* Source: shell/messages.css */
/* PortalGraf Next 0.5.254: avisos Joomla superpuestos, sin desplazar el contenido. */
.pg-next .pg-system-messages {
  position: fixed;
  inset-block-start: 1rem;
  inset-inline-end: max(1rem, calc((100vw - 1200px) / 2));
  z-index: 1090;
  width: min(32rem, calc(100vw - 2rem));
  pointer-events: none;
}

.pg-next.pg-sticky-header-enabled .pg-system-messages {
  inset-block-start: 5.75rem;
}

.pg-next .pg-system-messages #system-message-container:empty {
  display: none;
}

.pg-next .pg-system-messages #system-message-container > * {
  pointer-events: auto;
  box-shadow: 0 .8rem 2rem rgba(8, 47, 39, .2);
}

.pg-next .pg-system-messages joomla-alert {
  margin-block-end: .75rem;
}

@media (max-width: 767.98px) {
  .pg-next .pg-system-messages,
  .pg-next.pg-sticky-header-enabled .pg-system-messages {
    inset-block-start: .75rem;
    inset-inline: .75rem;
    width: auto;
  }
}

