/*
Theme Name: Renova BioLab
Theme URI: https://renovabiolab.com/
Author: Renova BioLab
Description: Tema WordPress ligero y accesible para Renova BioLab, preparado para Elementor gratuito.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: renova-biolab
*/

:root { --rb-red:#d71920; --rb-red-dark:#b91016; --rb-black:#0b0d0f; --rb-ink:#16191c; --rb-muted:#6b7075; --rb-line:#e6e7e8; --rb-bg:#fff; --rb-soft:#f5f5f3; --rb-max:1280px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--rb-bg); color:var(--rb-ink); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.6; }
img { max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
a:hover, a:focus-visible { color:var(--rb-red); }
button, input, textarea { font:inherit; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { clip:auto; width:auto; height:auto; margin:0; left:8px; top:8px; z-index:1000; padding:10px 14px; background:#fff; color:#000; }
.rb-container { width:min(100% - 48px,var(--rb-max)); margin-inline:auto; }

/* Cabecera */
.rb-header { position:relative; z-index:100; background:#fff; border-bottom:1px solid rgba(0,0,0,.06); }
.rb-header-inner { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.rb-brand, .custom-logo-link { display:inline-flex; align-items:center; flex:0 0 auto; color:#111; }
.custom-logo-link { line-height:0; }
.custom-logo { max-height:48px; width:auto; }
.rb-logo { display:block; font-size:27px; line-height:1; letter-spacing:.26em; font-weight:300; }
.rb-logo small { display:block; text-align:center; margin-top:7px; font-size:9px; letter-spacing:.48em; font-weight:500; }
.rb-nav { margin-left:auto; }
.rb-menu { display:flex; align-items:center; justify-content:flex-end; gap:30px; padding:0; margin:0; list-style:none; font-size:13px; }
.rb-menu a { white-space:nowrap; }
.rb-menu .current-menu-item > a, .rb-menu .current_page_item > a { color:var(--rb-red); }
.rb-header-actions { display:flex; align-items:center; gap:18px; }
.rb-search { width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; }
.rb-search svg { width:19px; height:19px; }
.rb-pill { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 24px; border-radius:999px; background:var(--rb-red); color:#fff!important; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.rb-pill:hover, .rb-pill:focus-visible { background:var(--rb-red-dark); color:#fff!important; }
.rb-mobile-toggle { display:none; border:0; background:none; padding:8px; color:var(--rb-ink); cursor:pointer; }
.rb-mobile-menu { display:none; padding:15px 0 25px; border-top:1px solid var(--rb-line); }
.rb-mobile-menu.is-open { display:block; }
.rb-mobile-menu .rb-menu { display:block; }
.rb-mobile-menu .rb-menu a { display:block; padding:10px 0; font-size:15px; }

/* Contenido de WordPress y Elementor */
.rb-main { min-height:60vh; }
.rb-page-content { padding:0; }
.rb-page-content > .elementor { margin:0; }
.rb-post-list, .rb-entry { width:min(100% - 48px,900px); margin:70px auto; }
.rb-post-card { padding-bottom:42px; margin-bottom:42px; border-bottom:1px solid var(--rb-line); }
.rb-post-card h2 { margin:0 0 12px; font-size:34px; line-height:1.15; }
.rb-post-meta, .rb-entry-meta { color:var(--rb-muted); font-size:13px; margin-bottom:18px; }
.rb-entry h1 { font-size:clamp(38px,5vw,52px); line-height:1.08; margin:0 0 18px; }
.rb-entry-meta { margin-bottom:35px; }
.rb-entry-content h2 { font-size:32px; line-height:1.2; margin-top:48px; }
.rb-entry-content h3 { font-size:24px; line-height:1.25; margin-top:36px; }
.rb-entry-content a { color:var(--rb-red); text-decoration:underline; text-underline-offset:3px; }

/* Pie */
.rb-footer { background:#fff; border-top:1px solid var(--rb-line); padding:38px 0 28px; }
.rb-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.rb-footer-tagline { font-size:14px; color:#303438; }
.rb-footer .rb-menu { gap:24px; font-size:13px; }
.rb-footer-copy { margin-top:24px; color:var(--rb-muted); font-size:12px; }

@media (max-width:900px) { .rb-nav { display:none; } .rb-header-inner { min-height:68px; } .rb-mobile-toggle { display:block; } .rb-header-actions .rb-pill { display:none; } .rb-container { width:min(100% - 32px,var(--rb-max)); } .rb-footer-inner { align-items:flex-start; flex-direction:column; } .rb-footer .rb-menu { flex-wrap:wrap; justify-content:flex-start; } }
@media (max-width:600px) { .rb-logo { font-size:22px; } .rb-post-card h2 { font-size:28px; } }
