/* ==========================================================================
   BASE · Estructura y tipografía general de BIMMAX
   Reproduce exactamente cómo se veía la web con Genesis, pero escrito
   desde cero para GeneratePress. Los valores se han medido sobre la web
   real (noviembre de 2026).
   ========================================================================== */

/* ---------- Variables ---------- */
:root{
  --bm-texto:#333;
  --bm-negro:#000;
  --bm-blanco:#fff;
  --bm-pie-fondo:#383838;
  --bm-borde:#ddd;
  --bm-boton:#333;
  --bm-boton-hover:#0073e5;
  --bm-ancho-web:1240px;      /* ancho máximo de la zona de contenido */
  --bm-margen-lateral:30px;
  --bm-cabecera-alto:78.77px; /* hueco que deja la cabecera fija (igual que Genesis en todos los tamaños) */
}

/* ---------- Base de texto (heredada de Genesis) ---------- */
html{font-size:62.5%;line-height:1.15;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
body{background:#fff;color:var(--bm-texto);font-family:"Source Sans Pro",sans-serif;font-size:1.8rem;font-weight:400;line-height:1.625;margin:0}
body > div{font-size:1.8rem}
a{background-color:transparent;color:inherit;text-decoration:underline;transition:color .2s ease-in-out,background-color .2s ease-in-out}
a:focus,a:hover{color:var(--bm-texto);text-decoration:none}
p{margin:0 0 30px;padding:0}
ol,ul{margin:0;padding:0;list-style:revert}
li{list-style-type:none}
.entry-content ol>li{list-style-type:decimal}
/* Respetar el tipo de numeración indicado en el HTML (por ejemplo <ol type="a">) */
ol[type="a"]{list-style-type:lower-alpha}
ol[type="i"]{list-style-type:lower-roman}
em,i{font-style:italic}
h1,h2,h3,h4,h5,h6{font-family:"Source Sans Pro",sans-serif;font-weight:400;line-height:1.2;margin:0 0 20px}
img{border-style:none;height:auto;max-width:100%;vertical-align:top}
iframe,video{max-width:100%}
sup{font-size:75%;line-height:0;position:relative;top:-.5em;vertical-align:baseline}
details{display:block}
table{border:0;border-collapse:collapse;border-spacing:0;line-height:2;margin-bottom:40px;width:100%;word-break:break-all}
tbody{border-bottom:1px solid #eee}
td,th{border-width:1px 0 0;border-style:solid;border-color:#eee;padding:6px;text-align:left}
td:first-child{padding-left:0}
:focus{color:var(--bm-texto);outline:#ccc solid 1px}
.aligncenter{display:block;margin:0 auto 30px;text-align:center}
.screen-reader-text,.screen-reader-text span{border:0;clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important}

/* ---------- Widgets (bloques de SiteOrigin) ---------- */
.widget p:last-child,.widget ul>li:last-of-type{margin-bottom:0}
.widget ul>li{margin-bottom:10px}
.widget ul>li:last-of-type{padding-bottom:0}
.widget li li{border:0}

/* ---------- Formularios y botones (base) ---------- */
button,input,select,textarea{font-family:inherit;line-height:1.15;margin:0}
input,select,textarea,
input[type="text"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"]{background-color:#fff;border:1px solid var(--bm-borde);border-radius:0;color:var(--bm-texto);font-size:1.8rem;font-weight:400;padding:15px;width:100%}
input:focus,textarea:focus{border:1px solid #999;outline:none}
input[type="checkbox"],input[type="radio"],input[type="image"],input[type="submit"]{width:auto}
::placeholder{color:var(--bm-texto);opacity:1}
button,input[type="button"],input[type="submit"],.button{background-color:var(--bm-boton);border:0;border-radius:0;color:#fff;cursor:pointer;font-size:1.6rem;font-weight:600;padding:15px 30px;text-decoration:none;white-space:normal;width:auto;transition:all .2s ease-in-out}
button:focus,button:hover,input[type="button"]:focus,input[type="button"]:hover,input[type="submit"]:focus,input[type="submit"]:hover,.button:focus,.button:hover{background-color:var(--bm-boton-hover);color:#fff}
.button{display:inline-block}
button:disabled,input:disabled{background-color:#eee;border-width:0;color:#777;cursor:not-allowed}

/* ---------- Estructura de página ---------- */
/* GeneratePress → misma caja que Genesis: 1240px con 30px de margen interior */
.site.grid-container{max-width:var(--bm-ancho-web);padding:30px var(--bm-margen-lateral) 0;margin:0 auto;background:transparent}
.site-content{display:block}
.content-area,.site-main{width:100%;margin:0;padding:0}
.one-container .site-content,.one-container .inside-article,.inside-article{padding:0;background:transparent}
.one-container .container{background:transparent}
.site-main > article,.one-container .site-main > article:last-child{margin-bottom:60px}
.entry-content:not(:first-child),.entry-summary:not(:first-child){margin-top:0}
.page .entry-header,.page .page-header-image,.featured-image.page-header-image{display:none}
.entry-content ol,.entry-content ul{margin-bottom:30px}
.entry-content ul ul{margin-bottom:0}
.entry-content .wp-video{margin:0 0 30px}

/* ---------- Cabecera fija (logo + menú) ---------- */
body:not(.page-template-page_landing){padding-top:var(--bm-cabecera-alto)}
.bm-cabecera{position:fixed;top:0;left:0;right:0;z-index:9999;background:#fff;padding:5px var(--bm-margen-lateral) 0;font-size:18px}
.admin-bar .bm-cabecera{top:32px}
.bm-cabecera .bm-cabecera-dentro{max-width:850px;margin:0 auto;display:flex;align-items:flex-start;gap:6px}
.bm-cabecera .bm-logo{flex:0 0 250px;max-width:250px;padding:5px 0}
.bm-cabecera .bm-logo img{width:250px;height:auto;display:inline;vertical-align:top}
.bm-menu{padding-top:25px}
.bm-menu ul{display:flex;flex-wrap:wrap;margin:0;padding:0;line-height:1}
.bm-menu li{list-style:none;margin:0}
.bm-menu li + li{margin-left:4px}
.bm-menu a{display:block;padding:12px 15px;color:#000;font-size:14px;font-weight:400;text-decoration:none;text-transform:none;line-height:1}
.bm-menu a:hover,.bm-menu a:focus{color:#0073e5}

/* Botón "Menu" del móvil (como el de Genesis). Oculto en ordenador. */
.bm-cabecera .bm-menu-boton{display:none;margin:10px 0 10px auto;padding:15px 0;background:transparent;border:0;border-radius:0;color:#000;font-family:inherit;font-size:16px;font-weight:600;line-height:20px;cursor:pointer;width:auto}
.bm-cabecera .bm-menu-boton:hover,.bm-cabecera .bm-menu-boton:focus{background:transparent;color:#0073e5}
.bm-menu-boton .bm-icono{display:inline-block;width:20px;height:20px;margin-right:5px;vertical-align:top;position:relative;top:0}
.bm-menu-boton .bm-icono svg{display:block}

/* ---------- Pie ---------- */
.bm-pie{background:var(--bm-pie-fondo);padding:30px var(--bm-margen-lateral) 20px;font-size:15px;line-height:1.5;text-align:center;color:var(--bm-texto)}
.bm-pie p{margin:0;font-size:14px;font-weight:300;color:#fff;text-align:left}
.bm-pie a{color:#fff;font-weight:300;text-decoration:none}
.bm-pie ul{margin:10px 0 0;padding:0;line-height:1.5}
.bm-pie li{display:inline-block;list-style:none}
.bm-pie li a{display:block;margin:0 10px;padding:0;font-size:15px}

/* ---------- Lista del blog (página Blog, categorías, búsquedas) ---------- */
/* Sin miniaturas, sin fecha y con letra más contenida para ver más entradas por pantalla */
.blog .post-image,.archive .post-image,.search .post-image,
.blog .entry-meta,.archive .entry-meta,.search .entry-meta{display:none}
.blog .entry-title,.archive .entry-title,.search .entry-title{font-size:24px;line-height:1.25;margin:0 0 6px}
.blog .entry-summary,.archive .entry-summary,.search .entry-summary{margin-top:10px}
.blog .entry-summary p,.archive .entry-summary p,.search .entry-summary p{font-size:18px;font-weight:300;line-height:1.5;margin:0 0 6px}
.bm-titulo-blog{font-size:32px;font-weight:400;line-height:1.2;color:#000;margin:0 0 40px}
.bm-leer-mas a{font-size:16px;font-weight:400;color:#d72859;text-decoration:none}
.bm-leer-mas a:hover{text-decoration:underline}
.one-container.blog .site-main > article.post:not(:last-child),.one-container.archive .site-main > article.post:not(:last-child),.one-container.search .site-main > article:not(:last-child){margin-bottom:36px;padding-bottom:0;border-bottom:0}

/* ---------- Tablet (hasta 1024px) ---------- */
@media only screen and (max-width:1024px){
  .bm-cabecera{padding-top:4%}
  /* Hueco bajo la cabecera fija = su alto real (Genesis lo calculaba así) */
  body:not(.page-template-page_landing){padding-top:calc(4vw + 74px)}
  .bm-pie{padding-top:20px}
}
/* ---------- Menú oculto por debajo de 960px (como en Genesis) ---------- */
@media only screen and (max-width:959px){
  .bm-cabecera .bm-cabecera-dentro{flex-wrap:wrap;gap:0}
  .bm-cabecera .bm-menu-boton{display:block}
  .bm-menu{display:none;flex:0 0 100%;padding-top:10px;margin-bottom:20px}
  .bm-cabecera.bm-abierto .bm-menu{display:block}
  .bm-menu ul{display:block}
  .bm-menu li + li{margin-left:0}
  .bm-menu a{padding:12px 0}
  .site-main > article,.one-container .site-main > article:last-child{margin-bottom:40px}
}
/* ---------- Móvil (hasta 768px) ---------- */
@media only screen and (max-width:768px){
  .bm-cabecera{padding:12% 30px 0 6%}
  body:not(.page-template-page_landing){padding-top:calc(12vw + 70px)}
  .bm-cabecera .bm-logo{flex-basis:220px;max-width:220px}
  .bm-cabecera .bm-logo img{width:220px}
}
