:root{
    
    --azul:        #002F66;   
    --azul-dark:   #001844;   
    --azul-medium: #196DA6;   
    --azul-claro:  #EBF4F9;   
    --amarillo:    #FFCC00;   
    --rojo:        #D12C1E;   
    --naranja:     #CF8D2C;   
    --verde:       #0F8831;   

    --blanco:      #FFFFFF;
    --gris-50:     #F6F7F9;
    --gris-100:    #ECEEF2;
    --gris-200:    #D9DEE5;
    --gris-300:    #B9C0CC;
    --gris-500:    #686861;   
    --gris-700:    #3A424C;
    --gris-900:    #1D1D1B;   
    --gris-fondo:  #F2F2F2;   

    
    --r-sm: 4px;
    --r-md: 10px;   
    --r-lg: 16px;   
    --r-pill: 20px;

    
    --sh-sm: 0 2px 8px rgba(0,47,102,.08);
    --sh-md: 0 4px 20px rgba(0,47,102,.12);
    --sh-lg: 0 8px 40px rgba(0,47,102,.16);
    --sh-hdr:0 2px 16px rgba(0,0,0,.25);

    --px: 24px;
    --max-w: 1100px;    
    --ease: cubic-bezier(.2,.8,.2,1);
    --trans: 0.22s ease;  
    
    --font-sans:    'Open Sans','Helvetica Neue',Arial,sans-serif;
    --font-display: 'Open Sans','Helvetica Neue',Arial,sans-serif;
    --fs-xs:    10px;   
    --fs-sm:    12px;   
    --fs-base:  14px;   
    --fs-md:    16px;   
    --fs-lg:    20px;   
    --fs-xl:    24px;   
    --fs-2xl:   32px;   
    --fs-3xl:   45px;   
    --fs-eyebrow: 10px;
    --fs-small:   13px;
    --fs-body:    15px;
    --fs-h4:      18px;
    --lh-tight:  1.15;
    --lh-normal: 1.5;
    --lh-body:   1.65;
    --fw-light:    300;
    --fw-regular:  400;
    --fw-semibold: 600;
    --fw-bold:     700;
    --fw-black:    800;
    --ls-eyebrow:  2px;
    --ls-tight:    -0.01em;  }

html{scroll-behavior:smooth}

body{
    font-family:'Open Sans',system-ui,-apple-system,sans-serif;
    background:var(--blanco);
    color:var(--gris-900);
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }

a{color:inherit;text-decoration:none}

img{display:block;max-width:100%}

button{font-family:inherit;cursor:pointer;border:none;background:none}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.wrap{max-width:var(--max-w);margin:0 auto;padding:0 var(--px)}

.gob-bar{
    position:sticky;top:0;z-index:50;
    background:var(--azul);
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

.gob-bar-inner{
    max-width:var(--max-w); margin:0 auto;
    padding: 14px var(--px);
    display:flex; align-items:center; justify-content:space-between;
  }

.gob-brand{display:flex;align-items:center;gap:14px}

.gob-brand img{
  height: 55px;
  width:auto;
}

.gob-brand-txt{
    font-size:14px; line-height:1.15; letter-spacing:.3px;
    font-weight:400; white-space:nowrap;
  }

.gob-nav{
    display:flex;align-items:center;gap:26px;
    font-size:15px;
  }

.gob-nav a{
    color:#fff; opacity:.9;
    display:inline-flex; align-items:center; gap:8px;
    padding:6px 2px;
    transition:opacity .18s var(--ease);
  }

.gob-nav a:hover{opacity:1}

/* styles-presidencia.css pinta de #333 los span en las páginas interiores */
.gob-nav a span{color:inherit}

/* styles-presidencia.css da 16px y negrita a los enlaces y span de las interiores */
.gob-nav a,
.gob-nav a span{font:inherit}

.gob-nav .sep{opacity:.35}

.gob-nav svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}

.gob-nav .menu-btn{cursor:pointer; background:none; border:0; color:#fff; font-family:inherit; font-size:15px; opacity:.9; display:inline-flex; align-items:center; gap:8px; transition:opacity .18s var(--ease)}

.gob-nav .menu-btn:hover{opacity:1}

.gob-nav .menu-btn .ic-close{display:none}

.gob-nav .menu-btn.is-open .ic-menu{display:none}

.site-nav{
    background: #fff;
    border-bottom: 2px solid var(--azul);
    position: sticky;
    top: 73px;
    z-index: 49;
    margin-bottom: 28px;
  }

.site-nav-inner{
    max-width: var(--max-w); margin: 0 auto;
    padding: 0 8px;
    display: flex;
    align-items: stretch;
    gap: 0;
  }

.site-nav-brand{
    display: flex; align-items: center;
    padding: 10px 28px 10px 0;
    margin-right: 4px;
    border-right: 1px solid var(--gris-200);
    flex-shrink: 0;
  }

.site-nav-brand img{ height: 34px; width: auto; }

.mnav-list{
    display: flex; align-items: stretch;
    list-style: none; margin: 0; padding: 0; gap: 0;
    flex: 1; justify-content: space-between;
  }

.mnav-item{ position: static; }

.mnav-trigger{
    display: inline-flex; align-items: center; gap: 6px;
    height: 100%; padding: 18px 10px; min-height: 56px;
    background: none; border: 0; cursor: pointer;
    font-family: var(--font-display);
    font-size: 15px; font-weight: 700;
    color: var(--gris-800, #1f2937);
    white-space: nowrap;
    border-bottom: 3px solid transparent;
    transition: color .16s var(--ease), border-color .16s var(--ease), background .16s var(--ease);
    text-decoration: none;
    letter-spacing: .1px;
    margin-bottom: -2px;
  }

.mnav-trigger svg{
    width: 11px; height: 11px;
    stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round;
    transition: transform .2s var(--ease);
    flex-shrink: 0;
  }

.mnav-item:hover > .mnav-trigger,
  .mnav-item.is-open > .mnav-trigger{
    color: var(--azul);
    border-bottom-color: var(--azul);
    background: #f3f7fb;
  }

.mnav-item.is-open > .mnav-trigger svg{ transform: rotate(180deg); }

.mnav-panel{
    display: none;
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    background: #fff;
    border-top: 1px solid var(--gris-200);
    border-bottom: 3px solid var(--azul);
    box-shadow: 0 8px 28px rgba(0,0,0,.12);
    z-index: 200;
    padding: 36px 0 40px;
  }

.mnav-item:hover > .mnav-panel,
  .mnav-item.is-open > .mnav-panel{ display: block; }

.mnav-panel-inner{
    max-width: var(--max-w); margin: 0 auto;
    padding: 0 var(--px);
    display: flex; flex-wrap: wrap; gap: 0;
  }

.mnav-col{
    flex: 1;
    padding: 0 32px 0 0;
    border-right: 1px solid var(--gris-100);
    margin-right: 32px;
  }

.mnav-col:last-child{ border-right: 0; padding-right: 0; margin-right: 0; }

.mnav-panel-heading{
    font-size: 19px; font-weight: 700; color: var(--azul);
    padding-bottom: 12px; margin-bottom: 16px;
    border-bottom: 2px solid var(--gris-100);
    display: block; width: 100%;
  }

.mnav-col-title{
    font-size: 10px; font-weight: 800; letter-spacing: 1.6px;
    text-transform: uppercase; color: var(--gris-500);
    padding-bottom: 10px; margin-bottom: 14px;
    border-bottom: 1px solid var(--gris-100);
    display: block;
  }

.mnav-col-links{ display: flex; flex-direction: column; gap: 0; }

.mnav-col-link{
    display: flex; align-items: flex-start; gap: 10px;
    padding: 10px 0;
    font-size: 16px; font-weight: 600; color: var(--gris-800, #1f2937);
    text-decoration: none;
    border-bottom: 1px solid var(--gris-50);
    transition: color .15s var(--ease), padding-left .15s var(--ease);
    line-height: 1.35;
  }

.mnav-col-link:last-child{ border-bottom: 0; }

.mnav-col-link::before{
    content: '→';
    color: var(--azul); font-size: 12px; font-weight: 700;
    flex-shrink: 0; margin-top: 1px;
    opacity: 0; transform: translateX(-4px);
    transition: opacity .15s var(--ease), transform .15s var(--ease);
  }

.mnav-col-link:hover{ color: var(--azul); padding-left: 6px; }

.mnav-col-link:hover::before{ opacity: 1; transform: translateX(0); }

.mnav-col-link small{
    display: block; font-size: 13px; font-weight: 400;
    color: var(--gris-500); margin-top: 2px; line-height: 1.4;
  }

.mnav-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 56px; row-gap: 26px;
    width: 100%;
  }

.mnav-grid-item{
    display: block; text-decoration: none;
  }

.mnav-grid-link{
    display: inline-block;
    font-size: 17px; font-weight: 700; color: var(--azul);
    text-decoration: underline; text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    margin-bottom: 6px;
    transition: opacity .15s var(--ease);
  }

.mnav-grid-item:hover .mnav-grid-link{ opacity: .72; }

.mnav-grid-desc{
    font-size: 15px; font-weight: 400; color: var(--gris-600, #4b5563);
    line-height: 1.5; margin: 0; max-width: 42ch;
  }

.mnav-featured{
    flex: 0 0 240px;
    background: var(--azul);
    border-radius: var(--r-sm);
    padding: 22px 22px 20px;
    color: #fff;
    text-decoration: none;
    display: flex; flex-direction: column; justify-content: space-between;
    transition: filter .18s var(--ease);
    margin-left: auto;
    flex-shrink: 0;
    align-self: flex-start;
  }

.mnav-featured:hover{ filter: brightness(1.08); }

.mnav-featured-label{
    font-size: 10px; font-weight: 800; letter-spacing: 1.5px;
    text-transform: uppercase; color: var(--amarillo);
    margin-bottom: 10px; display: block;
  }

.mnav-featured-title{
    font-family: var(--font-display);
    font-size: 15px; font-weight: 700; line-height: 1.3;
  }

.mnav-featured-cta{
    margin-top: 18px; font-size: 12px; font-weight: 700;
    display: inline-flex; align-items: center; gap: 5px;
    border-bottom: 1px solid rgba(255,204,2,.5);
    color: var(--amarillo);
  }

.site-nav-end{
    margin-left: auto;
    display: flex; align-items: center;
    flex-shrink: 0;
  }

.site-nav-search{
    display: inline-flex; align-items: center; gap: 7px;
    padding: 0 10px;
    font-size: 15px; font-weight: 600; color: var(--gris-700);
    transition: color .18s var(--ease);
    text-decoration: none;
  }

.site-nav-search:hover{ color: var(--azul); }

.site-nav-search svg{ width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; }

.site-nav-mob-btn{
    display: none;
    align-items: center; justify-content: center;
    width: 44px; height: 44px;
    background: none; border: 0; cursor: pointer; color: var(--gris-700);
  }

.site-nav-mob-btn svg{ width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; }

@media (max-width: 900px){
  .mnav-list{ display: none; }
  .mnav-list.is-open{
      display: flex; flex-direction: column;
      position: absolute; top: 100%; left: 0; right: 0;
      background: #fff; border-bottom: 2px solid var(--azul);
      box-shadow: 0 8px 24px rgba(0,0,0,.1);
      z-index: 200; padding: 8px 0;
    }
  .mnav-trigger{ padding: 14px var(--px); width: 100%; margin-bottom: 0; border-bottom: 1px solid var(--gris-100); justify-content: space-between; }
  .mnav-panel{ position: static; box-shadow: none; border: 0; padding: 12px var(--px) 16px; }
  .mnav-item:hover > .mnav-panel{ display: none; }
  .mnav-item.is-open > .mnav-panel{ display: block; }
  .mnav-panel-heading, .mnav-grid-link{ font-size: 15px; }
  .mnav-panel-inner{ flex-direction: column; gap: 0; }
  .mnav-col{ border-right: 0; padding-right: 0; margin-right: 0; padding-bottom: 8px; border-bottom: 1px solid var(--gris-100); }
  .mnav-col:last-child{ border-bottom: 0; }
  .mnav-grid{ grid-template-columns: 1fr; row-gap: 20px; }
  .mnav-featured{ display: none; }
  .site-nav-mob-btn{ display: flex; }
  .site-nav-brand{ border-right: 0; padding-right: 0; }
  .site-nav-end{ border-left: 0; }
}

.divider-yellow{height:4px; background: linear-gradient(90deg, var(--amarillo), rgba(255,204,2,.2))}

:root{
    --p-cyan:   #2BA0D6;
    --p-teal:   #1B9E9E;
    --p-green:  #4F8A44;
    --p-olive:  #A6991F;
    --p-orange: #D98C2B;
    --p-rust:   #C2641D;
    --p-red:    #C03528;
    --p-magenta:#A23C7C;
    --p-indigo: #4C4B90;
    --p-blue:   #2C72AF;
  }

.footer{
    background:var(--azul);
    color:#fff;
    padding: 44px var(--px) 40px;
    /* Anula el .footer de drupal-bootstrap.css en las páginas interiores */
    margin-top:0; border-top:0;
    font-family:var(--font-sans);
  }
  /* styles-presidencia.css pone "Open Sans Bold" a los enlaces del contenido */
.footer a{font-family:inherit; font-weight:400}

.footer-inner{max-width:var(--max-w); margin:0 auto}

.footer-top{
    display:flex; justify-content:space-between; align-items:flex-start;
    gap:32px; flex-wrap:wrap;
  }

.footer-links{
    display:flex; flex-wrap:wrap; gap:14px 32px;
    max-width:720px;
  }

.footer-links a{
    color:#fff; font-size:15px; text-decoration:underline; text-underline-offset:3px;
    text-decoration-thickness:1px; opacity:.92;
    display:inline-flex; align-items:center; gap:9px;
    transition:opacity .18s var(--ease);
  }

.footer-links a:hover{opacity:1; text-decoration-thickness:2px}
.footer-links ul,.footer-links li{display:contents; list-style:none; margin:0; padding:0}
.footer-links a[href*="060_telefono"]::after{content:""; width:18px; height:18px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.5 21 3 13.5 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.5 21 3 13.5 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E") center/contain no-repeat}

.footer-links a svg{width:18px; height:18px; fill:currentColor}

.footer-social{display:flex; align-items:center; gap:12px; flex-shrink:0}

.footer-social a{
    width:38px; height:38px; border-radius:50%;
    background:#fff;
    display:flex; align-items:center; justify-content:center;
    transition:transform .18s var(--ease), background .18s var(--ease);
  }

.footer-social a svg{width:18px; height:18px; fill:var(--azul); transition:fill .18s var(--ease)}

.footer-social a:hover{transform:translateY(-2px); background:var(--amarillo)}

.footer-divider{
    height:1px; background:rgba(255,255,255,.18);
    margin:30px 0;
  }

.footer-bottom{
    display:flex; justify-content:space-between; align-items:center;
    gap:32px; flex-wrap:wrap;
  }

.footer-gob{display:flex; align-items:center; gap:22px}

.footer-gob > img{width:350px; max-width:100%; height:auto}

.footer-gob-sep{width:1px; height:54px; background:rgba(255,255,255,.35)}

.footer-gob-txt{
    font-family:var(--font-display);
    font-size:16px; font-weight:700; line-height:1.25; letter-spacing:.3px;
    color:#fff; text-transform:uppercase;
  }

.footer-gob-txt small{
    display:block; font-size:14px; font-weight:600; opacity:.85; margin-top:3px;
    letter-spacing:.2px;
  }

.footer-eu img{width:68px; height:46px}

@media (max-width: 940px){
  .footer-top{flex-direction:column-reverse; align-items:flex-start; gap:24px}
  .footer-bottom{gap:24px}
}

@media (max-width: 600px){
  :root{--px:18px}
  .gob-brand-txt{display:none}
  .gob-brand img { height: 40px; }
  .gob-nav{gap:18px}
}
