/* =====================================================================
   site.css — estilos GLOBALES de ocasesores.es (todas las páginas)
   1. Fuentes  2. Variables  3. Base/reset  4. Utilidades y componentes
   5. Cabecera  6. Pie  7. Banner de cookies  8. Tarjetas de entradas
   Valores extraídos del kit global de Elementor (post-6.css), del tema
   Hello Elementor y de las plantillas de cabecera (4669) y pie (1583).
   Breakpoints de Elementor:  laptop ≤1366px · tablet ≤1124px · móvil ≤767px
   Convención: BEM sencillo (.bloque__elemento--modificador); cada página
   usa su propio prefijo en su CSS (home.css: .hh-, blog.css: .bl-, ...).
   ===================================================================== */

/* ---------------------------------------------------------- 1. Fuentes */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:italic;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:italic;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:200;font-display:swap;src:url(/static/fonts/poppins-200-latin.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(/static/fonts/poppins-300-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(/static/fonts/poppins-300-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/poppins-400-latin.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/poppins-500-latin.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/poppins-600-latin.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/poppins-700-latin.woff2) format('woff2')}

/* ---------------------------------------------------------- 2. Variables (kit global Elementor, post-6.css) */
:root{
  --c-primary:#0C2C45;     /* e-global-color-primary  (azul marino, textos y fondos oscuros) */
  --c-secondary:#134667;   /* e-global-color-secondary */
  --c-text:#0F537D;        /* e-global-color-text */
  --c-accent:#1B91CD;      /* e-global-color-accent   (azul OC: enlaces, botones, bordes) */
  --c-white:#FFFFFF;       /* e-global-color-335c835 */
  --c-sky:#00A9FF;         /* 4e16fdb */
  --c-gold:#D7B21B;        /* 9d0652c */
  --c-mint:#F3F7F6;        /* ac9c159 */
  --c-ice:#F1F9FE;         /* a004552 (texto del copyright) */
  --c-ice-2:#E2F1FC;       /* 223ece2 */
  --c-blue-100:#BFE3F8;    /* d6b492c */
  --c-blue-200:#86CDF3;    /* 1b553d0 (enlaces legales del pie) */
  --c-blue-300:#45B4EB;    /* ddcea43 */
  --c-grey-bg:#F6F6F6;     /* 3b93555 (fondos gris claro) */
  --c-body:#333333;        /* color base del tema Hello */
  --font:'Inter',sans-serif;
  --font-alt:'Poppins',sans-serif;
  --font-system:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  --container:1140px;      /* ancho de contenido por defecto de Elementor */
  --gap:20px;              /* separación por defecto entre widgets */
  --header-h:max(90px,10vh);
}
@media (max-width:1124px){:root{--container:1024px}}
@media (max-width:767px){:root{--container:767px}}

/* ---------------------------------------------------------- 3. Base (reset del tema Hello Elementor) */
html{line-height:1.15;-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background-color:#fff;color:var(--c-body);font-family:var(--font-system);font-size:1rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.2;margin-block:.5rem 1rem}
h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}
p{margin-block:0 .9rem}
a{background-color:transparent;color:var(--c-accent);text-decoration:none}
b,strong{font-weight:bolder}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}
img{border-style:none;height:auto;max-width:100%}
figcaption{color:#333;font-size:16px;font-style:italic;font-weight:400;line-height:1.4}
hr{box-sizing:content-box;height:0;overflow:visible}
[hidden]{display:none!important}
button,input,optgroup,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0}
label{display:inline-block;line-height:1;vertical-align:middle}
input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],select,textarea{border:1px solid #666;border-radius:3px;padding:.5rem 1rem;transition:all .3s;width:100%}
input:focus,select:focus,textarea:focus{border-color:#333}
textarea{overflow:auto;resize:vertical}
button{cursor:pointer}
/* Botón por defecto del kit (submit de formularios y .btn) */
input[type=submit],button[type=submit],.btn{display:inline-block;background-color:var(--c-accent);color:var(--c-white);border:1px solid var(--c-accent);border-radius:3px;font-family:var(--font);font-size:15px;font-weight:300;line-height:1;padding:12px 24px;text-align:center;transition:all .3s;cursor:pointer}
input[type=submit]:hover,input[type=submit]:focus,button[type=submit]:hover,button[type=submit]:focus,.btn:hover,.btn:focus{background-color:var(--c-white);color:var(--c-accent);border-color:var(--c-accent)}
table{background-color:transparent;border-collapse:collapse;border-spacing:0;font-size:.9em;margin-block-end:15px;width:100%}
table td,table th{border:1px solid hsla(0,0%,50%,.502);line-height:1.5;padding:15px;vertical-align:top}
table th{font-weight:700}
table tbody>tr:nth-child(odd)>td,table tbody>tr:nth-child(odd)>th{background-color:hsla(0,0%,50%,.071)}

/* ---------------------------------------------------------- 4. Utilidades y componentes */
.sr-only,.skip-link{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{clip:auto;width:auto;height:auto;margin:0;padding:12px 20px;top:5px;left:5px;z-index:100000;background:#fff;color:var(--c-primary);box-shadow:0 0 2px 2px rgba(0,0,0,.6);font-size:14px}
.fw-200{font-weight:200}.fw-300{font-weight:300}.fw-400{font-weight:400}.fw-500{font-weight:500}.fw-600{font-weight:600}
.container{width:100%;max-width:var(--container);margin-inline:auto}
.icon{display:inline-block;width:1em;height:1em;fill:currentColor;vertical-align:middle;flex-shrink:0}
/* Efectos de hover de Elementor */
.anim-grow{transition:transform .3s}.anim-grow:hover{transform:scale(1.1)}
.anim-shrink{transition:transform .3s}.anim-shrink:hover{transform:scale(.9)}
/* Botones de variantes usadas en el sitio */
.btn--white{background-color:var(--c-white);color:var(--c-primary);border-color:var(--c-white)}
.btn--white:hover,.btn--white:focus{background-color:var(--c-primary);color:var(--c-white);border-color:var(--c-white)}
.btn--outline-white{border-color:var(--c-white)}
.btn--outline-white:hover,.btn--outline-white:focus{background-color:var(--c-white);color:var(--c-accent);border-color:var(--c-white)}
/* Título con línea (widget "divider" con texto de Elementor) */
.divider-title{display:flex;align-items:center;padding-block:4px}
.divider-title__text{flex-shrink:0;max-width:95%;margin-right:10px;font-family:var(--font);font-size:30px;font-weight:300;line-height:1;color:var(--c-primary)}
.divider-title::after{content:"";flex-grow:1;border-top:1px solid var(--c-accent)}
@media (max-width:767px){.divider-title__text{font-size:23px;margin-right:11px}}
/* Animaciones de entrada (equivalentes a fadeIn / fadeInUp de Elementor).
   site.js añade .is-visible al entrar en pantalla; sin JS se ve todo. */
.js .reveal{opacity:0}
.js .reveal.is-visible{opacity:1;animation:oc-fadeIn 2s backwards}
.js .reveal.is-visible[data-anim=fadeInUp]{animation-name:oc-fadeInUp}
@media (max-width:767px){.js .reveal.is-visible{animation-name:oc-fadeInUp}}
@keyframes oc-fadeIn{from{opacity:0}to{opacity:1}}
@keyframes oc-fadeInUp{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1}.js .reveal.is-visible{animation:none}}

/* ---------------------------------------------------------- 5. Cabecera */
.site-header{position:sticky;top:0;z-index:99;background:var(--c-white)}
/* --- escritorio (>1124px) */
.hdr{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;min-height:10vh;padding:0 20px;background:var(--c-white)}
.hdr__col{position:relative;display:flex;flex:0 1 auto;min-width:0}
.hdr__col--lang{width:9%;flex-direction:row;justify-content:flex-start;align-items:center;gap:20px}
.hdr__col--left,.hdr__col--right{position:static}
.hdr__col--left{width:31%;flex-direction:row;justify-content:flex-end;gap:10%}
.hdr__col--logo{width:10%;flex-direction:column;align-self:stretch;justify-content:center;padding:10px}
.hdr__col--logo a{display:block;text-align:center;line-height:0}
.hdr__col--logo img{width:70px;height:auto;display:inline-block}
.hdr__col--right{width:34%;flex-direction:row;justify-content:flex-start;align-items:center;gap:10%}
.hdr__col--icons{width:6%;flex-direction:row;justify-content:flex-end;align-items:center;align-self:stretch;gap:20px}
.hdr__item{position:static;display:flex;flex:0 1 auto;min-width:0}
.hdr__title{display:flex;align-items:center;gap:5px;white-space:nowrap;font-family:var(--font);font-size:15px;font-weight:300;line-height:1.5;text-transform:uppercase;color:var(--c-primary);transition:color .3s,transform .3s;cursor:pointer}
a.hdr__title{color:var(--c-primary)}
a.hdr__title.is-current{color:var(--c-accent)}
.hdr__title:hover,.hdr__item--mega.is-open .hdr__title{color:var(--c-accent);transform:scale(1.1)}
.hdr__caret{display:flex;flex-direction:column;justify-content:center;margin:0 0 0 0;padding:0;border:0;border-radius:3px;background:none;color:inherit;width:15px;height:23px;font-size:15px}
.hdr__caret .icon{width:15px;height:15px}
.hdr__caret .icon-caretUp,.hdr__item--mega:hover .hdr__caret .icon-caretDown,.hdr__item--mega.is-open .hdr__caret .icon-caretDown{display:none}
.hdr__item--mega:hover .hdr__caret .icon-caretUp,.hdr__item--mega.is-open .hdr__caret .icon-caretUp{display:inline-block}
.hdr__icon{display:block;font-size:20px;height:1.35em;line-height:0}
.hdr__icon a{display:inline-block;font-size:20px;transition:transform .3s,color .3s}
.hdr__icon a:hover{transform:scale(1.1)}
.hdr__icon .icon{width:20px;height:20px;position:relative}
.hdr__icon--user a{color:var(--c-primary)}.hdr__icon--user a:hover{color:var(--c-accent)}
.hdr__icon--linkedin a{color:var(--c-accent)}.hdr__icon--linkedin a:hover{color:var(--c-primary)}
/* mega-menú de "Áreas" */
.hdr__mega{position:absolute;left:0;right:0;top:calc(50% + 11px);padding-top:30px;z-index:2147483620;visibility:hidden;opacity:0;transition:opacity .5s,visibility 0s .5s}
.hdr__item--mega:hover .hdr__mega,.hdr__item--mega.is-open .hdr__mega{visibility:visible;opacity:1;transition:opacity .5s}
.hdr__mega-panel{background:var(--c-white);border-bottom:3px solid var(--c-accent)}
.hdr__mega-inner{max-width:1265px;margin:0 auto;padding:10px 0 30px;display:flex;flex-direction:column;gap:20px}
.hdr__mega-row{display:flex;flex-direction:row;gap:20px;padding-top:30px}
.hdr__mega-row+.hdr__mega-row{padding:20px 0 30px}
.hdr__mega-box{flex:1 1 0;display:flex;flex-direction:column;gap:20px;padding:15px;border-bottom:1px solid var(--c-accent)}
.hdr__mega-box--empty{border-bottom:0}
.hdr__mega-title{font-family:var(--font);font-size:15px;font-weight:500;line-height:1;text-transform:uppercase;color:var(--c-primary);transition:color .4s}
.hdr__mega-title:hover{color:var(--c-accent)}
.hdr__mega-desc{font-family:var(--font);font-size:15px;font-weight:300;line-height:1.3;color:var(--c-primary)}
.hdr__mega-desc:hover{color:var(--c-secondary)}
/* selector de idioma (shortcode WPML) */
.lang-switch{display:inline-block;margin:0;padding:0;border:1px solid transparent}
.lang-switch ul{margin:0;padding:0;list-style:none;display:flex}
.lang-switch__item{display:inline-block;font-size:12px;line-height:18px}
.lang-switch__item:hover{font-size:110%}
.lang-switch a{display:block;padding:5px 10px 6px;line-height:1;color:var(--c-accent);font-family:var(--font-system)}
/* banderas (09-11-2026): bandera + código; el actual resaltado y los demás algo atenuados */
.lang-switch a{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;transition:background .15s,opacity .15s}
.lang-switch__item:hover{font-size:12px}
.lang-switch__item:not(.is-current) .lang-switch__code{opacity:.75}
.lang-switch__item a:hover,.lang-switch__item a:focus-visible{opacity:1;background:rgba(27,145,205,.08)}
.lang-switch__item.is-current a{font-weight:600}
.lang-switch__flag{display:block;width:24px;height:16px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12);flex:none}
.mnav__link--lang{display:flex;align-items:center;gap:10px}
.mnav__link--lang.is-current{font-weight:600}
/* portátil (1125–1366px) */
@media (max-width:1366px){
  .hdr{gap:10px}
  .hdr__col--lang{width:10%}
  .hdr__col--left{width:36%;gap:20px}
  .hdr__col--logo{width:8%}
  .hdr__col--logo img{width:65px}
  .hdr__col--right{width:40%;gap:20px}
  .hdr__col--icons{width:6%;justify-content:space-evenly;gap:5px}
  .hdr__col--left .hdr__item{width:14%;max-width:14%;justify-content:flex-end}
  .hdr__title{font-size:13px}
  .hdr__icon{font-size:16px}
  .hdr__icon a,.hdr__icon .icon{font-size:16px;width:16px;height:16px}
  .hdr__caret,.hdr__caret .icon{width:13px}
  .hdr__icon--linkedin{padding-left:10px}
}
/* --- tablet y móvil (≤1124px) */
.mhdr{display:none}
@media (max-width:1124px){
  .hdr{display:none}
  .mhdr{position:relative;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:20px;padding:10px;background:var(--c-white)}
  .mhdr__col{display:flex;flex:0 1 auto;min-width:0}
  .mhdr__col--toggle{width:10%;flex-direction:column;align-items:center}
  .mhdr__col--logo{width:80%;flex-direction:column;padding:10px}
  .mhdr__col--logo a{display:block;text-align:center;padding:20px 0;line-height:0}
  .mhdr__col--logo img{width:60px;display:inline-block}
  .mhdr__col--icon{width:10%;flex-direction:row;align-items:center;justify-content:flex-start}
  .mhdr__toggle{display:flex;align-items:center;justify-content:center;margin:0 auto;padding:.25em;border:0;border-radius:3px;background:transparent;color:var(--c-primary);font-size:30px;line-height:1.5}
  .mhdr__toggle:hover,.mhdr__toggle:focus{color:var(--c-accent);background:var(--c-white)}
  .mhdr__toggle .icon{width:1em;height:1em}
  .mhdr__toggle-close,.mhdr.is-open .mhdr__toggle-open{display:none}
  .mhdr.is-open .mhdr__toggle-close{display:flex}
  .mhdr__toggle-open{display:flex}
  .mhdr__user{display:inline-block;color:var(--c-primary);font-size:30px;line-height:1;transition:color .3s}
  .mhdr__user:hover{color:var(--c-accent)}
  .mhdr__user .icon{width:1em;height:1em}
  /* menú desplegable */
  .mnav{position:absolute;left:0;right:0;top:100%;z-index:9997;background:var(--c-white);max-height:0;overflow:hidden;transition:max-height .3s;margin-top:-1px}
  .mhdr.is-open .mnav{max-height:calc(100vh - 80px);overflow-y:auto}
  .mnav__list,.mnav__sub{list-style:none;margin:0;padding:0}
  .mnav__link{display:flex;justify-content:center;align-items:center;padding:25px 20px;font-family:var(--font);font-size:19px;font-weight:300;line-height:20px;text-transform:uppercase;color:#000;transition:color .3s,background-color .3s}
  .mnav__link:hover,.mnav__link:focus,.mnav__link.is-active{color:#6EC1E4;background-color:var(--c-primary)}
  .mnav__link--sub{border-left:8px solid transparent}
  .mnav__arrow{display:flex;align-items:center;padding:10px 0 10px 10px;margin:-10px 0;line-height:15px}
  .mnav__arrow .icon{width:15px;height:15px}
  .mnav__sub{display:none}
  .mnav__item.is-open>.mnav__sub{display:block}
}
@media (max-width:767px){
  .mhdr{justify-content:center;padding:5px;flex-wrap:wrap}
  .mhdr__col--toggle{width:12%}
  .mhdr__col--logo{width:62%}
  .mhdr__col--logo a{padding:0}
  .mhdr__col--logo img{width:50px}
  .mhdr__col--icon{width:12%;justify-content:flex-start;padding-top:5px}
  .mhdr__toggle{font-size:25px}
  .mhdr__user{font-size:20px}
  .mnav__link{font-size:15px;padding:26px 20px}
}

/* ---------------------------------------------------------- 6. Pie */
.ftr{display:flex;flex-direction:column;background:var(--c-white);border-top:1px solid var(--c-accent);padding:0 5%}
.ftr__inner{display:flex;flex-direction:row;gap:20px;width:100%;max-width:1600px;margin:0 auto;padding:4% 0}
.ftr__col{display:flex;flex-direction:column;gap:30px;padding:10px;flex:0 0 auto;width:25%}
.ftr__col--logo{width:20%;flex-direction:row;justify-content:center;align-items:center;padding:0}
.ftr__col--logo a{display:inline-block;line-height:0}
.ftr__col--logo img{width:150px;transition:transform 1.3s}
.ftr__col--logo img:hover{transform:scale(.9)}
.ftr__col--contact{width:30%;flex:0 1 auto}
.ftr__title{margin:0;font-family:var(--font);font-size:16px;font-weight:400;line-height:1;text-transform:uppercase;color:var(--c-primary)}
.ftr__list{list-style:none;margin:0;padding:0}
.ftr__list li{display:flex;align-items:center}
.ftr__list li:not(:last-child){padding-bottom:5px}
.ftr__list li:not(:first-child){margin-top:5px}
.ftr__list a,.ftr__list li>span{display:flex;align-items:center;font-family:var(--font);font-size:15px;font-weight:200;line-height:1.5;text-transform:uppercase;color:var(--c-primary);transition:color .3s}
.ftr__list a:hover{color:var(--c-accent)}
.ftr__list a{width:100%}
.ftr__list--contact li:not(:last-child){padding-bottom:7.5px}
.ftr__list--contact li:not(:first-child){margin-top:7.5px}
.ftr__list--contact a,.ftr__list--social a{font-size:16px;text-transform:none}
.ftr__icon{display:flex;color:var(--c-primary);font-size:14px}
.ftr__icon .icon{width:14px;height:14px;margin-right:3.5px}
.ftr__icon+span{padding-left:5px}
.ftr__list--social{margin-top:-15px}
.ftr__list--social li{padding:0;margin:0}
.ftr__list--social .ftr__icon{color:var(--c-accent);transition:color .3s}
.ftr__list--social a:hover .ftr__icon{color:var(--c-secondary)}
.ftr__list--social .ftr__icon .icon{width:25px;height:25px;margin-right:6.25px}
.ftr-bar{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:60px;padding:20px;background:var(--c-primary)}
.ftr-bar__copy{font-family:var(--font);font-size:14px;font-weight:200;line-height:1.5;color:var(--c-ice)}
.ftr-bar__links{display:flex;flex-wrap:wrap;list-style:none;margin:0 -17.5px;padding:0}
.ftr-bar__links li{position:relative;display:flex;align-items:center;margin:0 17.5px}
.ftr-bar__links li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-17.5px;height:100%;transform:translateY(-50%);border-left:1px solid var(--c-ice)}
.ftr-bar__links a{font-family:var(--font);font-size:15px;font-weight:300;line-height:1.5;color:var(--c-blue-200);transition:color .3s}
.ftr-bar__links a:hover{color:var(--c-white)}
@media (max-width:1366px){
  .ftr{padding:0 2% 0 1%}
  .ftr__inner{padding:5% 0}
  .ftr__col--logo img{width:120px}
}
@media (max-width:1124px){
  .ftr{padding:0 1%}
  .ftr__inner{padding:3% 0}
  .ftr__col--logo{width:10%}
  .ftr__col--logo img{width:64px}
  .ftr-bar{flex-direction:column;gap:20px}
  .ftr-bar__copy{text-align:center;font-size:15px}
  .ftr-bar__links{justify-content:center}
}
@media (max-width:767px){
  .ftr__inner{flex-direction:column;flex-wrap:wrap;align-items:center;max-width:767px}
  .ftr__col,.ftr__col--logo,.ftr__col--contact{width:85%}
  .ftr__col--logo{justify-content:flex-start;padding:40px 20px 20px 10px}
  .ftr__col--logo img{width:90px}
  .ftr__list--contact a,.ftr__list--social a{font-size:15px}
  .ftr__icon .icon,.ftr__list--social .ftr__icon .icon{width:18px;height:18px}
  .ftr-bar{margin-top:20px}
  .ftr-bar__copy{font-size:13px}
}

/* ---------------------------------------------------------- 7. Banner de cookies (estilo Complianz "banner-1-optin") */
.cookie-banner{position:fixed;left:10px;bottom:10px;z-index:99999;display:grid;grid-template-columns:100px 1fr 100px;gap:10px;width:526px;max-width:calc(100% - 20px);max-height:calc(100vh - 20px);padding:15px 20px;background:#fff;border-radius:12px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);font-family:var(--font-system);color:#222;font-size:12px;line-height:18px}
.cookie-banner>*{grid-column:1/4}
.cb__header{display:grid;grid-template-columns:100px 1fr 100px;align-items:center}
.cb__title{grid-column:2;justify-self:center;font-size:15px;font-weight:500;line-height:1.5;color:#222}
.cb__close{grid-column:3;justify-self:end;display:flex;padding:0;margin:0;border:0;background:none;color:#222;cursor:pointer;width:20px;height:20px}
.cb__close .icon{width:20px;height:20px}
.cb__divider{margin:0 -20px}
.cb__body{max-height:calc(100vh - 260px);overflow:hidden auto}
.cb__message{margin:0 0 5px;font-size:12px;line-height:18px}
.cb__categories{display:none}
.cookie-banner.show-prefs .cb__categories{display:block}
.cb__cat{background:#f2f2f2;border-radius:5px;margin-top:10px;padding:10px}
.cb__cat-header{display:grid;grid-template-columns:1fr auto 15px;align-items:center;gap:10px}
.cb__cat-title{font-size:14px;font-weight:500}
.cb__always{color:green;font-size:12px}
.cb__cat-toggle{display:flex;padding:0;border:0;background:none;color:#222;cursor:pointer}
.cb__cat-toggle .icon{width:15px;height:15px;transition:transform .3s}
.cb__cat-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}
.cb__cat-desc{margin-top:8px;font-size:12px}
.cb__switch{position:relative;display:inline-block;width:40px;height:20px;cursor:pointer}
.cb__switch input{position:absolute;opacity:0;width:0;height:0}
.cb__slider{position:absolute;inset:0;background:#c8aa83;border-radius:20px;transition:.3s}
.cb__slider::before{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.3s}
.cb__switch input:checked+.cb__slider{background:var(--c-accent)}
.cb__switch input:checked+.cb__slider::before{transform:translateX(20px)}
.cb__switch input:focus-visible+.cb__slider{outline:2px solid var(--c-primary)}
.cb__buttons{display:flex;gap:10px}
.cb__btn{flex:1 1 0;min-height:45px;padding:10px;border:1px solid #f2f2f2;border-radius:6px;background:#f9f9f9;color:#333;font-family:var(--font-system);font-size:15px;font-weight:500;line-height:20px;text-align:center;white-space:normal;cursor:pointer}
.cb__btn:hover{text-decoration:underline}
.cb__btn--accept{background:var(--c-accent);border-color:var(--c-accent);color:#fff}
.cb__btn--deny{color:#222}
.cb__btn--save{display:none}
.cookie-banner.show-prefs .cb__btn--prefs{display:none}
.cookie-banner.show-prefs .cb__btn--save{display:block}
.cb__docs ul{display:flex;justify-content:center;gap:10px;list-style:none;margin:0;padding:0;line-height:24px}
.cb__docs a{font-size:12px;line-height:18px;color:var(--c-accent);text-decoration:underline}
.cb-manage{position:fixed;right:40px;bottom:-35px;z-index:9998;min-width:100px;height:50px;padding:15px;background:#fff;color:#222;border:0;border-radius:12px 12px 0 0;box-shadow:0 0 10px rgba(0,0,0,.15);font-family:var(--font-system);font-size:12px;line-height:initial;cursor:pointer;transition:bottom .5s}
.cb-manage:hover,.cb-manage:focus{bottom:0}
@media (max-width:767px){
  .cookie-banner{left:0;right:0;bottom:0;width:100%;max-width:100%;border-radius:12px}
  .cb__header{grid-template-columns:0 1fr 20px}
  .cb__title{display:none}
  .cb__message{margin-right:5px}
  .cb__buttons{flex-direction:column}
  .cb__btn{flex:0 0 auto;width:100%}
}

/* ---------------------------------------------------------- 8. Tarjetas de entradas (skin "cards" de Elementor Posts)
   Contenedor .post-grid con variables para adaptar cada listado:
   --pg-cols, --pg-gap-col, --pg-gap-row, --pg-ratio (alto/ancho de la imagen),
   --pc-title-size, --pc-excerpt-size, --pc-more-size */
.post-grid{display:grid;grid-template-columns:repeat(var(--pg-cols,3),minmax(0,1fr));column-gap:var(--pg-gap-col,30px);row-gap:var(--pg-gap-row,35px)}
.post-card{display:flex;flex-direction:column}
.post-card__card{position:relative;display:flex;flex-direction:column;min-height:100%;overflow:hidden;background:var(--c-white);border-radius:3px;transition:all .25s}
.post-card__thumb{position:relative;display:block;width:100%;margin-bottom:var(--pc-thumb-gap,20px)}
.post-card__img{position:relative;overflow:hidden;padding-bottom:calc(var(--pg-ratio,.66) * 100%)}
.post-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter .3s}
.post-card__thumb::after{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(0deg,rgba(0,0,0,.35),transparent 75%);opacity:1;transition:all .3s ease-out}   /* hover-gradient de Elementor: visible siempre, .5 al pasar */
.post-card__card:hover .post-card__thumb::after{opacity:.5}
.post-card__badge{position:absolute;top:0;right:0;z-index:1;margin:20px;padding:.6em 1.2em;border-radius:999px;background:var(--c-accent);color:var(--c-white);font-family:var(--font);font-size:12px;font-weight:300;line-height:1;text-transform:uppercase}
.post-card__text{display:flex;flex-direction:column;flex-grow:1;padding:0 10px;margin:10px 0 5px}
.post-card__title{margin:0 0 10px;font-family:var(--font);font-size:var(--pc-title-size,21px);font-weight:300;line-height:1.1;color:var(--c-accent)}
.post-card__title a{color:inherit}
.post-card__excerpt{margin-bottom:10px;line-height:1.7}
.post-card__excerpt p{margin:0;font-family:var(--font);font-size:var(--pc-excerpt-size,14px);font-weight:300;line-height:1.5;color:var(--c-primary)}
.post-card__excerpt p::after{content:"..."}   /* "3 Dots after excerpt" (CSS personalizado del kit) */
.post-card__more{align-self:flex-start;display:inline-block;margin-bottom:5px;font-family:var(--font);font-size:var(--pc-more-size,12px);font-weight:300;line-height:1.5;text-transform:uppercase;color:var(--c-accent)}
@media (max-width:767px){.post-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------------------------------------------------------- 9. Página 404 (plantilla Elementor 4658) */
.btn--outline-primary{display:inline-flex;align-items:center;gap:10px;background-color:var(--c-white);color:var(--c-primary);border-color:var(--c-primary);font-size:18px;padding:20px 50px}
.btn--outline-primary:hover,.btn--outline-primary:focus{background-color:var(--c-primary);color:var(--c-white);border-color:var(--c-primary)}
.btn .icon{width:18px;height:18px}
.e404{display:flex;flex-direction:column;min-height:85vh;padding:0 10px}
.e404__inner{display:flex;flex-direction:row;align-items:center;gap:20px;width:100%;max-width:1515px;margin:0 auto;padding:10px 0;flex:1}
.e404__col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:20px;padding:10px;text-align:center}
.e404__title{margin:0;font-family:var(--font);font-size:32px;font-weight:600;line-height:1;color:var(--c-primary)}
.e404__code{margin:0;font-family:var(--font);font-size:181px;font-weight:700;line-height:1;color:var(--c-primary)}
.e404__col--img img{display:inline-block}
@media (max-width:1366px){.e404{min-height:60vh}}
@media (max-width:1124px){.e404{min-height:45vh;padding:0 50px}.e404__inner{padding:50px 0}.e404__code{font-size:115px}}
@media (max-width:767px){.e404{min-height:0;padding:0 20px}.e404__inner{flex-direction:column;padding:20px 0}.e404__col{width:100%}.e404__title{font-size:22px}.e404__col--img img{width:73%}}

/* ---- Móvil y tableta 09-11-2026 (hija C de #666) ---- */
/* Anclas (notas al pie #_ftnN, saltos internos): que la cabecera fija no tape el destino */
html{scroll-padding-top:calc(10vh + 16px)}
@media (max-width:1124px){
  html{scroll-padding-top:156px}
  .mhdr__toggle{min-width:44px;min-height:44px}
  .mhdr__user{display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px}
  .mhdr.is-open .mnav{max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overscroll-behavior:contain}
}
@media (max-width:767px){
  html{scroll-padding-top:96px}
  .mhdr__col--icon{justify-content:center;padding-top:0}
  /* Pie: enlaces de 23 px de alto -> 40 px de zona táctil sin cambiar la letra */
  .ftr__list li:not(:last-child){padding-bottom:0}
  .ftr__list li:not(:first-child){margin-top:0}
  .ftr__list a,.ftr__list li>span{min-height:40px}
  .ftr__list--contact li:not(:last-child){padding-bottom:0}
  .ftr__list--contact li:not(:first-child){margin-top:2px}
  .ftr__list--social{margin-top:-10px}
  .ftr-bar{gap:16px 60px}
  .ftr-bar__links a{display:inline-flex;align-items:center;min-height:44px}
  .ftr-bar__copy{text-align:center}
  /* Banner de cookies: textos legibles y enlaces pulsables */
  .cb__docs a{display:inline-block;padding:10px 0;font-size:13px}
  .cb__cat-desc{font-size:13px;line-height:1.45}
  .cb__close{width:44px;height:44px;margin:-12px -12px -12px 0;justify-content:center;align-items:center}
  .cb__cat-toggle{width:36px;height:44px;margin:-10px 0;justify-content:center;align-items:center}
  .cookie-banner{max-height:calc(100dvh - 20px);overflow-y:auto}
  /* «Leer más» de las tarjetas (blog, portada, áreas, actualidad) */
  .post-card__more{display:inline-flex;align-items:center;min-height:44px}
}
