
/*
Theme Name: iberre	
Version: 2.0
Made in exts
*/

/* Overwrites and Tag Declarations
----------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, pre {
	background: transparent;
	border: 0;
	font-size: 100%;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: top;
}
html, body{ height:100%; }
body {
	line-height: 1;
	background:#fff;
	color:#222;
	overflow-x: hidden;	
	-moz-osx-font-smoothing: grayscale;
}
pre {
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1;
}
ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a {
	color: #222;
	outline: none;
	text-decoration: none;
}
a:hover {
  
}
a img {
	border: none;
}
.hook {
	display: block;
}
.hook:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}
* html .hook {
	height: 1%;
}

ul li{ list-style-type:disc}

p, ul, li, pre{font-size-adjust: none;font-stretch: normal;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: 0;line-height: normal;word-spacing: normal; }

p { margin:0 0 10px 0; line-height: 1.5em; font-size: 18px; color: #333;  }

ul li { margin:0 0 0 10px; line-height: 1.5em; font-size: 16px; color: #333;  }
ul { margin: 20px 0;  }

textarea, input { width:100%; padding: 10px; margin: 10px 0; position: relative; }

.transparent {
	zoom: 1;
	filter: alpha(opacity=80);
	opacity: 0.8;
}
.right{ float: right; }
.left{ float: left; }


.wp-block-button a:hover {transform: scale(1.05); }
.wp-block-image a:hover{transform: scale(1.02); }
.blog-card__link:hover{transform: scale(1.02); }
.wp-block-gallery img:hover{transform: scale(1.02); }


/* Columns
----------------------------------------------- */

.container {
  margin: 0 auto 0 auto;
  padding:0;
  display:block;
  height: auto;
  }

/* Typography - Roboto:100,300,400,700,900, Roboto+Condensed:400,300,700
----------------------------------------------- */

.fontx {font-family: Verdana, Geneva, sans-serif }
body, .font1, .titulos, p, .font0, .menu a {font-family: 'Roboto', sans-serif; font-weight: 400;letter-spacing: 0em; }
.font2, h1, .barra, #breadcrumbs {font-family: 'Roboto Condensed', sans-serif; color: #222; font-size: 20px; font-weight: 700; }


h2, h3 {
  font-family: "Barlow Condensed", sans-serif;
  font-optical-sizing: auto;
}




p.has-large-font-size strong{ font-weight: 700; }

.font2::after{ content: none; }

/* Core
----------------------------------------------- */
.wrapper{ margin: 0 auto; width: 100%; padding:0;  }
.columna{ width: 200px; height: 110px; float: left; text-align: right; }
.derecha{ width: calc(100% - 200px); float: left;}
.header{ width:100%; height: auto; margin: 0; }
.content{ width:90%; max-width: 1600px; height: auto; margin: 0; }
.footer{ width:100%; background: #000; margin: 180px 0 0 0;   }
article { width:100%; height: auto; margin: 0; }
.ancho{ width: 100%; max-width: 800px; margin: 0 auto; }
.anchomin{ width: 100%; max-width: 800px; margin: 0; }

/* header 
----------------------------------------------- */

.header { width: 100%; height: 110px; background: #000; position: fixed; z-index: 40;   }
main#main{ position: relative; top: 110px; }

.custom-logo{ width: 200px; height: auto; float: left; margin: 30px 0 0 0; }
.logo-round{ width: 100px; height: auto; text-align: right; margin: 5px 5px 0 0; }

.showhide{ position:relative; float: right; display:block; width:110px; height:120px; line-height: 100px; cursor:pointer; z-index:99; display: block; color: #fff; margin: 0 0 0 0; background: none; border: none; border-radius: 0; font-size: 18px; }

.showhide i{
  font-size: 34px;
  height: 110px;
  line-height: 100px;
}

/* menu 
----------------------------------------------- */

.menuprincipal {
border-top: 2px solid #fff;
}

.menuprincipal li{ display:block; position: relative; margin: 0; }
.menuprincipal a{ display: block;
  width: 100%;
  height: auto;
  margin: 0px;
  color: rgb(0, 0, 0);
  text-transform: uppercase;
  font-size: 22px;
  letter-spacing: 1px;
  padding: 10px 0px;
  text-align: center;
  font-weight: 800;  }
.menuprincipal a:hover{ transform: scale(1.1); }
.menuprincipal li:first-child {  }
.menuprincipal li.current-menu-item a { background:#000; color: #fff;  }
.menuprincipal li.current-page-ancestor a { background:#000; color: #fff;  }



:root{
  --header-h: 110px;
}

/* Menú oculto por defecto (slideToggle parte de display:none) */
nav.menuprincipal{
  display: none;

  position: fixed;
  top: var(--header-h);
  right: 0px;
  height: calc(100dvh - var(--header-h));
  background: rgb(255, 255, 255);
  z-index: 9990;
  overflow-y: auto;
  width: 380px;
  margin-top: 0px;
  border-radius: 0px;
  box-shadow: rgb(0, 0, 0) -8.013px -7.98177px 25px;

  /* scroll interno */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Reset mínimo del menú */
nav.menuprincipal .menu{
  margin: 0;
  padding: 30px 0;
  list-style: none;
}

/* Links ocupan ancho completo (mejor UX móvil) */
nav.menuprincipal .menu a{
  display: block;
}

body.menu-open{
  overflow: hidden;
}

/* Seguridad extra para alturas muy pequeñas */
@media (max-height: 480px){
  nav.menuprincipal{
    height: calc(100dvh - var(--header-h));
  }
}














/* === Submenú desplegable full width === */
.menuprincipal li .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  background: #fff;
  z-index: 22;
  width: 100vw;
  border-bottom: 1px solid #ccc;
}

/* Mostrar el submenu al pasar el mouse */
.menuprincipal li:hover .sub-menu {
  display: block;
}

.menuprincipal li .sub-menu a{ font-size: 14px; color: #1c1c1c }
.menuprincipal li .sub-menu a:hover{ color: #1c1c1c; font-weight: bold; }



.menuprincipal li.menu-item-has-children a::after{
font-family: "Font Awesome 5 Free";
content: "\f078";
font-weight: 900;
color: #fff;
font-size: 10px;
padding: 0 0 0 10px;
position: relative;
top: -1px;
}
.menuprincipal li.menu-item-has-children li a::after{ content: ""; }




/* sticky 
----------------------------------------------- */
.sticky .header{ position: fixed; top: 0; z-index: 10; height: 80px;}
.sticky main#main{ top: 80px; }
.sticky .custom-logo{ width: 140px; height: auto; margin: 25px 0 0 0; }
.sticky nav.logo-round{ width: 70px; height: auto;}
.sticky .menuprincipal { top: 80px; height: calc(100dvh - 80px);  }
.sticky .showhide{ height: 80px; line-height: 80px;}
.sticky .showhide i{ height: 80px; line-height: 80px;}
.sticky .home-hero { position: relative; top: 82px; }



/* transiciones 
----------------------------------------------- */

.menuprincipal a,
.menuprincipal,
.header,
.custom-logo,
a.boton,
.wp-block-button a,
.showhide,
.showhide i,
.logo-round,
.wp-block-image a,
main#main,
.blog-card__link,
.wp-block-gallery img,
.grupo .bloque
{-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
-ms-transition: all 0.3s ease; }




/* Acss AA 
----------------------------------------------- */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #000;
  color: #fff;
  padding: 8px 12px;
  z-index: 9999;
}
.skip-link:focus {
  top: 0;
}



.noencontrada{ margin: 200px 0;}



/* portada
----------------------------------------------- 

.alignfull {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
*/

.home-hero { width: 100%; position: relative; top: 112px; }
.home-hero__slider { width: 100%; }
.home-hero__slider .swiper-wrapper,
.home-hero__slider .swiper-slide { width: 100%; }

.home-hero__content {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6rem 2rem;
}

.home-hero__nav {
  opacity: 0;
  transition: opacity .25s ease;
}

.home-hero:hover .home-hero__nav {
  opacity: 1;
}

/* Ajustes opcionales */
.home-hero__nav {
  color: #fff;
}

.swiper-button-next, .swiper-button-prev{ color: #fff!important; }
.swiper-pagination-bullet-active{background: #fff!important; }


.grupo{ width: calc( 25% - 16px ); float: left; margin: 0 8px; }
.grupo .bloque{ background: #fff;  }

a.bloque-enlace:hover .bloque {transform: scale(1.02); }


#cookie-notice .button.bootstrap{ display: block; margin:10px 0; }

#cookie-notice .cn-button{ display: block; margin:10px 0; width: 90%; }

.opacity img{ 
 -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; 
  filter: alpha(opacity=50); 
  opacity: 0.2;
}


/* contenido
----------------------------------------------- */

.wp-block-nk-awb { padding: 0!important }

article a{ border-bottom: 1px solid #000; }
article a:hover{ border-bottom: 2px solid #000; }
article .wp-block-image a{ border: none; }

h1{ font-size: 46px; padding: 15px 0 35px 0; line-height: 1.2em; }
h2{ font-size: 36px; padding: 20px 0 30px 0; line-height: 1.2em; }
h3{ font-size: 26px; padding: 10px 0 10px 0; text-transform: uppercase; font-weight: 300; line-height: 1.4em; }
h4{ font-size: 18px; padding: 20px 0; line-height: 1.3em; }

#breadcrumbs{ 
  text-transform: uppercase;
  font-size: 12px;
  color: #000;
  margin: 30px 0 0 0;
  font-weight: 800; 
}
#breadcrumbs a{ color: #8c1d24; }
#breadcrumbs a:hover{ border-bottom: 2px solid #8c1d24;  }
#breadcrumbs  span.breadcrumb_last{ color: #000; }

article .left{ width: 45%;}
article .right{ width: 40%;}

.svg-inline--fa{ width: auto!important; }

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  position: static;
  background: none;
  color: inherit;
  padding: 0;
  opacity: 1;
  backdrop-filter: none;
  text-shadow:none;
  margin: 20px 0;
  text-transform: uppercase;
  font-size: 13px;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
backdrop-filter: none;
content: "";
height: 100%;
-webkit-mask-image: none;
mask-image: none;
max-height: 40%;
pointer-events: none;
}

.has-small-font-size{ text-transform: uppercase; font-size: 14px!important; margin: 20px 0;}

.wpcf7-form{ padding: 20px 0; margin: 20px 0; border-top: 1px solid #222; }

.wpcf7-form textarea{ max-width: 90%;}

.wpcf7-form legend, p.more label { font-size: 21px;
  margin: 0 0 20px 0;
  line-height: 1.5em;
  font-weight: bold;
  display: block;
  padding: 20px 0 0 0;}
.wpcf7-form p{ font-size: 18px;margin: 0 0 10px 0;
  line-height: 1.5em;}
.wpcf7-form p.obligatorio{ font-size: 16px;}

input.wpcf7-form-control { width: 90%; padding: 8px; margin: 0px 0 5px 0; border: 1px solid #333; font-size: 18px; color: #333; }

.wpcf7-list-item { display: inline-block; margin: 0; width: 100%; }

.wpcf7-list-item .wpcf7-list-item-label{ text-transform: none; }

p.clausula .wpcf7-list-item-label{ text-transform: none; }

input.wpcf7-submit{ width: auto; margin: 30px 0; padding: 10px 30px; }

.wp-block-contact-form-7-contact-form-selector br{ display: none }

p.subchecks{ margin: 10px 0 10px 0; }
p.sep{ margin: 0;}
p.last{ margin: 10px 0 10px 0; }
p.more{ margin: 20px 0 10px 0; }

p.subchecks .wpcf7-list-item .wpcf7-list-item-label{ font-size: 16px; }

p.last .wpcf7-form-control-wrap{ margin: 0 0 10px 0; display: block; }


/* Checkbox base */
.wpcf7-checkbox input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    width: 22px;
    height: 22px;
    min-width: 22px;
    min-height: 22px;

    border: 1px solid #333;
    border-radius: 4px;
    background-color: #fff;

    cursor: pointer;
    position: relative;
    vertical-align: middle;
    
    margin: 0;
}

p.subchecks .wpcf7-checkbox input { 
margin: 0 0 0 36px;
width: 16px;
height: 16px;
min-width: 16px;
min-height: 16px;
padding: 10px;
}
.wpcf7 label{ margin: 0 0 10px 0;}
.wpcf7-list-item label{ margin: 0; }


/* Checkbox marcado */
.wpcf7-checkbox input:checked {
    background-color: #005fcc;
    border-color: #005fcc;
}

.wpcf7-checkbox .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;   /* CENTRA verticalmente el check */
    gap: 8px;              /* separación input–texto */
    line-height: 2;
}

/* Tick accesible */
.wpcf7-checkbox input:checked::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 12px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Foco visible (teclado) – obligatorio AA */
.wpcf7-checkbox input:focus-visible {
    outline: 3px solid #ffbf47;
    outline-offset: 2px;
}

/* Hover (no obligatorio, pero mejora UX) */
.wpcf7-checkbox input:hover {
    border-color: #005fcc;
}

/* Separación con el texto */
.wpcf7-checkbox .wpcf7-list-item-label {
    margin-left: 1px;
    cursor: pointer;
}

.politica a{ text-decoration: underline; }
.politica a:hover{ text-decoration: underline; font-weight: bold; }
.politica .wpcf7-form-control{ display: inline; margin: 0;}
.politica input{ margin: 5px 5px 5px 0; }
.politica .wpcf7-list-item { margin: 0 0 0 0; }
.enviar input {font-size: 24px;
  background: #eee;
  border: 1px solid #333;
  width: 40%;}
select { padding: 10px 20px;
  background: #eee;
  border: 1px solid #333;
  width: 100%;}

.wpcf7-submit{
  display: inline-block;
  margin-top: 30px;
  width: 130px;
  color: #000;
  background-color: #fff;
  border-radius: 9999px;
  box-shadow: none;
  text-decoration: none;
  padding: calc(.667em + 2px) calc(1.333em + 2px);
  font-size: 1.125em;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  background: transparent none;
  border-color: currentColor;
  border-width: 2px;
  border-style: solid;
  color: currentColor;
  padding-top: 0.667em;
  padding-right: 1.33em;
  padding-bottom: 0.667em;
  padding-left: 1.33em;
  cursor: pointer;
}

.wpcf7-submit:hover{ transform: scale(1.05); }
  


/* blog
----------------------------------------------- */

  .blog-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:16px;
  }
  
  .blog-card{
    height:100%;
  }
  
  .blog-card__link{
    display:block;
    text-decoration:none;
  }
  
  .blog-card__link:focus-visible{
    outline:3px solid currentColor;
    outline-offset:3px;
  }
  
  .blog-card__media img{
    width:100%;
    height:auto;
    display:block;
  }
  
  .blog-card__placeholder{
    width:100%;
    aspect-ratio:16/9;
    background:#e9e9e9;
  }
  
  .blog-card__title{
    margin: 12px 0 0;
    font-size: 1.2rem;
    line-height: 1.3;
    font-weight: 300;
    text-transform: uppercase;
  }
  
  .blog-card__media{
    aspect-ratio: 16 / 9;
    overflow: hidden;
  }
  
  .blog-card__media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }



  
  

/* footer
----------------------------------------------- */

.footer, .footer p{ color: #fff;}

.footer a{ color: #fff; border-bottom: 1px solid #fff; }
.footer a:hover{ color: #eee; border-bottom: 1px solid #eee; }

.copyright{ width: 100%; margin: 50px 0; text-align: center; }

.copyright .right {
    display: flex;
    align-items: center; /* centra verticalmente icono y botón */
    gap: 16px;
}

.copyright .right a.instagram, .copyright .right a.trabaja {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 31px;
    line-height: 1;

    padding: 0;
    margin: 0;
    border: none;
}

.copyright .right a.instagram{ border: none; font-size: 32px;   }

.copyright .right a.trabaja{ border: none; background: #8c1d24; font-size: 16px; padding: 6px 16px; border-radius: 12px;   }

.logos{ width: 100%; background: #fff; padding: 100px 0; text-align: center; }


/* Media queries
*********************************/

@media screen and (min-width: 1600px) {	


}


	
@media screen and (max-width: 1250px) {
  
}




@media screen and (max-width: 1100px) {
.columna{ width: 10%; }
.derecha{ width: 90%; }
.custom-logo{ width: 140px; height: auto; margin: 25px 0 0 0; }
.logo-round{ width: 70px; height: auto;}
.header{ position: fixed; top: 0; z-index: 10; height: 80px;}
main#main{ margin-top: 0; }
.showhide{ height: 80px; line-height: 80px;}
.showhide i{ height: 80px; line-height: 80px;}
#breadcrumbs{ margin: 0;}
:root{ --header-h: 80px; }
.home-hero{ top: 82px; }
.grupo{ width: calc( 50% - 16px ); float: left; margin: 8px 8px; }


}



@media screen and (max-width: 780px) {
.columna{ width: 100px; }
.logo-round{ width: 70px; height: auto;}
.derecha{ width: calc( 100% - 100px); }
article .left{ width: 100%;}
article .right{ width: 100%;}
.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width: calc(23% - var(--wp--style--unstable-gallery-gap, 16px)/4);
}
nav.menuprincipal{
  display: none;

  position: fixed;
  top: var(--header-h);
  right: 0px;
  height: calc(100dvh - var(--header-h));
  background: rgb(255, 255, 255);
  z-index: 9990;
  overflow-y: auto;
  width: 100%;
  margin-top: 0px;
  border-radius: 0px;
  box-shadow: none;

  /* scroll interno */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}



}


@media screen and (max-width: 480px) {

.columna{ width: 0px; }
.derecha{ width: 100%; }
.header .columna{ width: 100px; }
.header .derecha{ width: calc( 100% - 100px); }
.custom-logo, .sticky .custom-logo{ width: 120px; }
.content{ margin: 0 auto; }
.nk-awb-fullheight{ min-height: 50vh;}
h1{ font-size: 32px;}
h2{ font-size: 30px; margin: 20px 0;}
h3{ font-size: 24px;}

  .home-hero__nav { display: none; }

.nk-awb { min-height: 70vh!important;}

.wp-block-spacer{ height: 20px!important;}

.grupo{ width: 100%; float: left; margin: 8px 0; }

.cmedio{ display: none; }

.footer .wp-block-image{ text-align: center; margin: 20px 0; }
.footer p{ text-align: center; }

.logos .wp-block-image{ width: 90%; margin: 0 auto; }
.footer .left{ width: 100%;}
.footer .right{ width: 100%; display: block; }
.copyright .right a.instagram, .copyright .right a.trabaja{ display: block; margin: 20px auto; }
}

@media screen and (max-width: 370px) {
  
.wp-block-spacer { max-height: 30px; }



}









