/* ============================================================
   BIOSANITAS · encastre con WordPress
   Lo que el sitio original no necesitaba y WordPress sí: menús
   como listas, enlaces donde había botones, bloques del núcleo con
   los estilos del sitio, texto corrido, blog y ficha como página.
   Theme hecho artesanalmente por Ideas con Arte · jveron@ereerea.com
   ============================================================ */

/* ---------- accesibilidad ---------- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;
  overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.bs-saltar{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--papel);color:var(--tinta);
  padding:10px 16px;border-radius:2px;font-family:var(--mono);font-size:12px}
.bs-saltar:focus{left:8px}
.bs-trampa{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- header con menú de WordPress ---------- */
.top__marca{display:flex;align-items:center;flex:none}
.top__menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.top__menu li{margin:0}
a.nav__b{display:inline-block;white-space:nowrap}
body.admin-bar .top{top:32px}
@media (max-width:782px){ body.admin-bar .top{top:46px} }
@media (max-width:900px){ .top__menu{flex-wrap:nowrap} }

/* ---------- enlaces que antes eran botones ---------- */
a.prod,a.ln{color:inherit}
a.ln{display:block}
.prod[hidden]{display:none}
a.prod:hover{color:inherit}

/* ---------- pie ---------- */
.pie__menu{list-style:none;margin:0;padding:0}
a.pie__l{display:block}
.pie a{text-decoration:none}

/* ---------- grillas con cantidad variable ---------- */
@media (min-width:901px){
  .cifras__grid{grid-template-columns:repeat(var(--n,3),1fr)}
}
@media (min-width:1081px){
  .svc__grid[style*="--cols"]{grid-template-columns:repeat(var(--cols),1fr)}
}
.cat__grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
@media (max-width:760px){ .cat__grid{grid-template-columns:1fr} }
.svc__detalle .svcx:last-child{margin-bottom:0}
.svcx__d p{margin:0 0 .8em}
.svcx__d p:last-child{margin-bottom:0}
.svc__d p{margin:0}

/* ---------- secciones armadas con bloques ---------- */
.sec--centro{text-align:center}
.sec--centro .ojo,.sec--centro .is-style-ojo{justify-content:center}
.sec--centro .lead,.sec--centro .is-style-lead{margin-left:auto;margin-right:auto}
.sec--centro .wp-block-buttons{justify-content:center}
.sec--azul .ojo,.sec--azul .is-style-ojo{color:var(--brote)}
.sec--azul .is-style-lead{color:#B4CBDA}
.sec--azul .wp-block-heading{color:#fff}
.sec > .wrap > :first-child{margin-top:0}
.sec > .wrap > :last-child{margin-bottom:0}

/* Párrafos y títulos del núcleo con el lenguaje del sitio */
.is-style-ojo{
  font-family:var(--mono);font-size:12px;font-weight:500;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--teal-txt);margin:0 0 18px;
  display:flex;align-items:center;gap:10px;
}
.is-style-ojo::before{content:"";width:26px;height:2px;background:currentColor;flex:none}
.is-style-lead{font-size:clamp(16px,1.35vw,19px);color:var(--gris);max-width:62ch;margin:0}
.wp-block-heading + .is-style-lead,.d2 + .is-style-lead{margin-top:24px}
.sec--centro .wp-block-heading + .is-style-lead{margin:22px auto 32px}
.is-style-verbos{font-family:var(--mono);font-size:clamp(13px,1.6vw,17px);
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--azul-txt);margin:0;line-height:1.9;text-wrap:balance}
.is-style-dato{font-family:var(--mono);font-size:13px;letter-spacing:0.02em;color:var(--gris)}
.wp-block-heading.is-style-d1,.wp-block-heading.is-style-d2,.wp-block-heading.is-style-d3{
  font-family:var(--sans);font-variation-settings:'wdth' 118,'wght' 800;
  text-transform:uppercase;letter-spacing:-0.015em;line-height:0.96;margin:0;text-wrap:balance}
.wp-block-heading.is-style-d1{font-size:clamp(36px,4.8vw,66px)}
.wp-block-heading.is-style-d2{font-size:clamp(30px,3.8vw,50px)}
.wp-block-heading.is-style-d3{font-size:clamp(22px,2.4vw,30px)}

/* Botones del núcleo = botones del sitio */
.wp-block-buttons{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:0}
* + .wp-block-buttons{margin-top:34px}
.wp-block-button{margin:0}
.wp-block-button .wp-block-button__link{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:12.5px;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;line-height:1.6;
  padding:15px 28px;border-radius:999px;border:0;
  position:relative;overflow:hidden;text-decoration:none;
  background:var(--verde);color:#fff;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.wp-block-button.is-style-verde .wp-block-button__link{background:var(--verde);color:#fff;box-shadow:0 8px 18px -8px rgba(46,125,68,.55)}
.wp-block-button.is-style-verde .wp-block-button__link:hover{background:#256F31;color:#fff;transform:translateY(-2px) scale(1.03);box-shadow:0 14px 26px -10px rgba(46,125,68,.65)}
.wp-block-button.is-style-azul .wp-block-button__link{background:var(--btn-azul);color:#fff}
.wp-block-button.is-style-azul .wp-block-button__link:hover{background:var(--btn-azul-hov);transform:translateY(-2px) scale(1.03)}
.wp-block-button.is-style-linea .wp-block-button__link{background:transparent;border:1.5px solid var(--borde-fuerte);color:var(--tinta)}
.wp-block-button.is-style-linea .wp-block-button__link:hover{border-color:var(--teal-txt);color:var(--teal-txt);transform:translateY(-2px) scale(1.03);box-shadow:0 10px 20px -10px rgba(14,124,134,.35)}
.wp-block-button.is-style-fantasma .wp-block-button__link{background:transparent;border:1.5px solid rgba(255,255,255,.5);color:#fff}
.wp-block-button.is-style-fantasma .wp-block-button__link:hover{border-color:var(--brote);color:var(--brote);background:rgba(168,212,106,.08);transform:translateY(-2px) scale(1.03)}

/* Columnas del núcleo con las grillas del sitio (.inst, .mapa, .cto…) */
.wp-block-columns.inst,.wp-block-columns.mapa,.wp-block-columns.cto{margin:0}
.wp-block-columns.inst > .wp-block-column,.wp-block-columns.mapa > .wp-block-column{min-width:0}
.wp-block-columns:not(.inst):not(.mapa):not(.cto){display:flex;gap:40px;margin:0 0 1.75em}
@media (max-width:781px){ .wp-block-columns:not(.inst):not(.mapa):not(.cto){flex-direction:column} }
.wp-block-column{flex:1 1 0;min-width:0}

/* Lista con viñetas verdes (como la de servicios) */
.wp-block-list.is-style-vinetas{list-style:none;padding:0;display:grid;gap:12px}
.wp-block-list.is-style-vinetas li{position:relative;padding-left:22px}
.wp-block-list.is-style-vinetas li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;
  border-radius:50%;border:2px solid var(--verde-txt)}

/* Galería del núcleo en mosaico (la de la planta) */
.wp-block-gallery.is-style-mosaico{display:grid!important;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:215px;gap:14px!important;grid-auto-flow:dense;margin:0}
.wp-block-gallery.is-style-mosaico > figure.wp-block-image{width:auto!important;margin:0!important;
  border-radius:10px;overflow:hidden;position:relative;box-shadow:0 8px 20px var(--sombra);display:block}
.wp-block-gallery.is-style-mosaico > figure.wp-block-image img{width:100%!important;height:100%!important;
  object-fit:cover;display:block;transition:transform .55s ease}
.wp-block-gallery.is-style-mosaico > figure.wp-block-image:hover img{transform:scale(1.06)}
.wp-block-gallery.is-style-mosaico > figure:nth-child(9n+1){grid-column:span 4;grid-row:span 2}
.wp-block-gallery.is-style-mosaico > figure:nth-child(9n+2){grid-column:span 2;grid-row:span 2}
.wp-block-gallery.is-style-mosaico > figure:nth-child(9n+3),
.wp-block-gallery.is-style-mosaico > figure:nth-child(9n+4),
.wp-block-gallery.is-style-mosaico > figure:nth-child(9n+5),
.wp-block-gallery.is-style-mosaico > figure:nth-child(9n+7),
.wp-block-gallery.is-style-mosaico > figure:nth-child(9n+9){grid-column:span 2}
.wp-block-gallery.is-style-mosaico > figure.wp-block-image figcaption.wp-element-caption{position:absolute;left:0;right:0;bottom:0;margin:0;
  padding:10px 14px;font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;
  color:#fff;text-align:left!important;background:linear-gradient(transparent,rgba(7,42,66,.78));max-height:none;overflow:visible;text-shadow:none}
@media (max-width:760px){
  .wp-block-gallery.is-style-mosaico{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px!important}
  .wp-block-gallery.is-style-mosaico > figure:nth-child(n){grid-column:span 1;grid-row:span 1}
  .wp-block-gallery.is-style-mosaico > figure:nth-child(9n+1),
  .wp-block-gallery.is-style-mosaico > figure:nth-child(9n+2){grid-column:span 2}
  .wp-block-gallery.is-style-mosaico > figure:nth-child(9n+2){grid-row:span 2}
}

/* ---------- formularios ---------- */
.bs-form__msg{margin:0;color:var(--verde-txt)}
.bs-form__msg.is-error{color:var(--rojo-txt)}
.svcx__form .bs-form__msg{color:var(--brote);font-size:14px}
.svcx__form .bs-form__msg.is-error{color:#FFB3B6}
.bs-form button[disabled]{opacity:.6;cursor:wait}

/* ---------- ficha como página propia ---------- */
.migas{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.migas a{color:var(--teal-txt)}
.ficha--pagina{max-height:none;max-width:none;border:1px solid var(--borde);border-top:5px solid var(--c)}
.ficha__media{display:flex;flex-direction:column;min-width:0}
.ficha__media .ficha__foto{flex:1}
.ficha--pagina .ficha__foto{min-height:420px}
.ficha__galeria{list-style:none;margin:0;padding:12px;display:flex;flex-wrap:wrap;gap:8px;
  border-top:1px solid var(--borde);background:var(--papel)}
.ficha__galeria button{display:block;width:68px;height:68px;padding:3px;background:var(--foto);
  border:2px solid transparent;border-radius:2px;cursor:pointer;transition:border-color .15s}
.ficha__galeria button:hover{border-color:var(--borde)}
.ficha__galeria button.is-on{border-color:var(--c)}
.ficha__galeria img{width:100%;height:100%;object-fit:contain;display:block}
.ficha--pagina .ficha__cuerpo{padding:clamp(28px,3.6vw,48px);overflow:visible}
.ficha--pagina .ficha__d p{margin:0 0 1em}
@media (max-width:900px){ .ficha--pagina .ficha__foto{min-height:280px} }
@media (max-width:760px){ .ficha.ficha--pagina{min-height:0;max-height:none} }
.ficha__aviso a{color:inherit;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* ---------- texto corrido (páginas simples, editor clásico, blog) ---------- */
.prosa{max-width:760px;font-size:17px;line-height:1.7}
.prosa > *:first-child{margin-top:0}
.prosa h2,.prosa h3,.prosa h4{font-family:var(--sans);font-variation-settings:'wdth' 108,'wght' 700;
  line-height:1.2;margin:1.8em 0 .6em}
.prosa h2{font-size:clamp(24px,2.4vw,30px)}
.prosa h3{font-size:21px}
.prosa p,.prosa ul,.prosa ol{margin:0 0 1.1em}
.prosa a{text-decoration:underline;text-underline-offset:3px}
.prosa img{height:auto;border-radius:6px}
.prosa blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid var(--brote);color:var(--gris);font-size:19px}
.prosa table{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 1.4em}
.prosa th,.prosa td{border:1px solid var(--borde);padding:10px 12px;text-align:left}
.prosa th{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--papel)}
.prosa .btn{text-decoration:none}
.prosa__destacada{margin:0 0 32px;border-radius:10px;width:100%;height:auto}
.alignleft{float:left;margin:.3em 1.6em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.6em}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption-text,.wp-element-caption{font-family:var(--mono);font-size:11.5px;color:var(--gris);margin-top:8px}

/* ---------- blog ---------- */
.bs-entradas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.bs-entrada{background:var(--papel);border:1px solid var(--borde);display:flex;flex-direction:column}
.bs-entrada__img img{width:100%;aspect-ratio:16/10;object-fit:cover;height:auto}
.bs-entrada__cuerpo{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.bs-entrada__cuerpo .dato{margin:0 0 8px}
.bs-entrada__t{font-size:20px;line-height:1.25;margin:0 0 10px;font-variation-settings:'wdth' 108,'wght' 700}
.bs-entrada__t a{color:var(--tinta)}
.bs-entrada__d{color:var(--gris);font-size:14.5px;flex:1}
.bs-entrada__d p{margin:0}
.bs-paginas{margin-top:40px}
.bs-paginas .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.bs-paginas .page-numbers{font-family:var(--mono);font-size:13px;padding:8px 14px;border:1.5px solid var(--borde-fuerte);border-radius:999px;color:var(--tinta)}
.bs-paginas .page-numbers.current{background:var(--teal-txt);border-color:var(--teal-txt);color:#fff}

/* ---------- avisos para quien administra ---------- */
.bs-aviso{border:1.5px dashed var(--borde-fuerte);padding:22px 24px;border-radius:6px;
  font-family:var(--mono);font-size:12.5px;color:var(--gris);background:var(--papel)}
