/* ═══════════════════════════════════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Topbar ── */
.topbar{
  background:var(--color-primary-dark);color:rgba(255,255,255,.92);
  font-size:13px;padding:8px 0;line-height:1.4;
}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6)}
.topbar a{color:rgba(255,255,255,.92);white-space:nowrap}
.topbar a:hover{color:#fff}
.topbar-contact{display:flex;gap:var(--space-5);align-items:center}
.topbar-contact a:last-child{
  border:1px solid rgba(255,255,255,.35);
  border-radius:var(--radius-full);
  padding:4px 14px;
}
.topbar-contact a:last-child:hover{background:rgba(255,255,255,.12)}
@media(max-width:1024px){.topbar{display:none}}

/* ── Cabecera principal ── */
.site-header{
  background:#fff;
  border-bottom:1px solid var(--color-border);
  padding:0;
  position:sticky;top:0;z-index:100;
}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-8);
  min-height:78px;
}

/* ── Marca ── */
.site-branding{flex-shrink:0}
.site-branding img{
  max-height:52px;width:auto;display:block;
}
.site-name-logo{display:block;line-height:1.15;text-decoration:none}
.site-name{
  display:block;
  font-size:22px;font-weight:var(--weight-bold);
  color:var(--color-primary);letter-spacing:-.02em;
  white-space:nowrap;
}
/* Respaldo: si el tema aun imprime el nombre largo del sitio, se ajusta
   para no romper la cabecera. Lo ideal es subir el logo en Personalizar. */
.site-name-logo .site-name:only-child{
  font-size:17px;line-height:1.25;white-space:normal;
  max-width:210px;display:block;
}
.site-tagline{
  display:block;
  font-size:11px;font-weight:var(--weight-medium);
  color:var(--color-text-muted);
  letter-spacing:.04em;text-transform:uppercase;
  white-space:nowrap;margin-top:2px;
}

/* ── Navegacion ── */
.primary-nav{flex:1;display:flex;justify-content:center;min-width:0}
.primary-nav .nav-list{
  display:flex;align-items:center;
  gap:2px;list-style:none;margin:0;padding:0;
}
.nav-link{
  display:flex;align-items:center;gap:4px;
  padding:10px 13px;
  font-size:14.5px;font-weight:var(--weight-semibold);
  color:var(--color-text);
  border-radius:var(--radius-md);
  white-space:nowrap;
  transition:background var(--transition-fast),color var(--transition-fast);
}
.nav-link:hover{background:var(--color-primary-light);color:var(--color-primary)}
.dropdown-arrow{font-size:10px;opacity:.5;margin-left:1px}

/* Item activo */
.nav-list .current-menu-item > .nav-link,
.nav-list .current_page_item > .nav-link,
.nav-list .current-scope > .nav-link{
  color:var(--color-primary);background:var(--color-primary-light);
}

/* ── Submenus ── */
.has-dropdown{position:relative}
.sub-menu{
  position:absolute;top:calc(100% + 6px);left:0;
  min-width:250px;background:#fff;
  border:1px solid var(--color-border);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  list-style:none;padding:var(--space-2);margin:0;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);
  z-index:200;
}
.has-dropdown:hover .sub-menu,
.has-dropdown:focus-within .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.sub-menu a{
  display:block;padding:9px 12px;
  font-size:14px;font-weight:var(--weight-normal);
  color:var(--color-text-light);border-radius:var(--radius-sm);
  white-space:nowrap;
}
.sub-menu a:hover{background:var(--color-bg-alt);color:var(--color-primary)}

/* ── Acciones de la derecha ── */
.header-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}
.cart-link{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 14px;
  border:1px solid var(--color-border);border-radius:var(--radius-md);
  font-size:14px;font-weight:var(--weight-semibold);color:var(--color-text);
  transition:border-color var(--transition-fast);
}
.cart-link:hover{border-color:var(--color-primary);color:var(--color-primary)}
.cart-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;padding:0 6px;
  background:var(--color-primary);color:#fff;
  border-radius:var(--radius-full);
  font-size:11px;font-weight:var(--weight-bold);
}
.header-cta{padding:11px 22px;font-size:14px}

/* ── Adaptaciones por ancho ── */
@media(max-width:1240px){
  .nav-link{padding:10px 10px;font-size:14px}
  .header-inner{gap:var(--space-5)}
}
@media(max-width:1100px){
  .site-tagline{display:none}
  .nav-link{padding:10px 8px;font-size:13.5px}
}
@media(max-width:1000px){
  .primary-nav{display:none}
  .header-cta{display:none}
}
@media(max-width:900px){
  .header-inner{min-height:64px}
  .site-name{font-size:19px}
  .site-branding img{max-height:42px}
}

/* El bloque de contacto del menu solo existe en movil */
.mobile-menu-contact{display:none}
@media(max-width:900px){
  .primary-nav.is-open .mobile-menu-contact{
    display:flex;flex-direction:column;gap:var(--space-3);
    margin-top:var(--space-8);padding-top:var(--space-6);
    border-top:1px solid var(--color-border);
  }
  .primary-nav.is-open .mobile-menu-contact .btn{width:100%;font-size:15px;padding:14px}
}

/* Banner de llamada: solo movil */
.mobile-call-banner{display:none}
@media(max-width:900px){
  .mobile-call-banner{
    display:block;background:var(--color-primary);color:#fff;
    text-align:center;padding:10px var(--space-4);
    font-size:14px;text-decoration:none;line-height:1.3;
  }
  .mobile-call-banner strong{font-size:16px}
}

/* ═══ HERO ═══ */
.hero{
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(255,255,255,.10) 0%, transparent 55%),
    linear-gradient(135deg, var(--color-primary) 0%, #012f5c 100%);
  color:#fff;
  padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,3.5rem);
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-12);align-items:center;margin-bottom:var(--space-10)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:var(--space-8)}}
.hero h1{
  color:#fff;
  font-size:clamp(2rem,4.6vw,3.4rem);
  line-height:1.08;
  letter-spacing:-.025em;
  max-width:15ch;
  margin-bottom:var(--space-5);
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:var(--space-2);
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  padding:7px 16px;border-radius:var(--radius-full);
  font-size:11.5px;font-weight:var(--weight-bold);
  text-transform:uppercase;letter-spacing:.1em;
  margin-bottom:var(--space-5);
}
.hero-lead{
  font-size:clamp(1rem,1.4vw,1.15rem);
  line-height:1.65;
  color:rgba(255,255,255,.82);
  max-width:46ch;
  margin-bottom:var(--space-8);
}
.hero-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}
.hero-actions .btn{padding:15px 30px;font-size:15px}
.hero-actions .btn-white{box-shadow:0 4px 14px rgba(0,0,0,.14)}
.hero-visual{position:relative}
.hero-visual img{border-radius:var(--radius-xl);width:100%}
.iso-badge{position:absolute;bottom:var(--space-5);left:var(--space-5);background:#fff;color:var(--color-text);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-sm)}
.iso-badge strong{display:block;color:var(--color-primary)}
.iso-badge span{font-size:var(--text-xs);color:var(--color-text-muted)}

/* Barra de datos */
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.18);
  padding-top:var(--space-8);
  margin-top:var(--space-10);
  gap:var(--space-8);
}
@media(max-width:700px){.hero-stats{grid-template-columns:repeat(2,1fr);gap:var(--space-5)}}
.hero-stat strong{
  display:block;color:#fff;font-weight:var(--weight-bold);
  font-size:clamp(1.35rem,2.2vw,1.75rem);
  letter-spacing:-.02em;line-height:1.1;
}
.hero-stat span{
  display:block;
  font-size:12.5px;color:rgba(255,255,255,.62);
  line-height:1.45;margin-top:6px;
}
@media(min-width:768px){
  .hero-stat{padding-left:var(--space-6);border-left:1px solid rgba(255,255,255,.14)}
  .hero-stat:first-child{padding-left:0;border-left:none}
}

/* ═══ BREADCRUMBS ═══ */
.breadcrumbs{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);background:var(--color-bg-alt)}
.breadcrumb-list{display:flex;gap:var(--space-2);list-style:none;padding:0;margin:0;font-size:var(--text-sm);flex-wrap:wrap;color:var(--color-text-muted)}
.breadcrumb-list li:not(:last-child)::after{content:"/";margin-left:var(--space-2);color:var(--color-border)}
.breadcrumb-list .current{color:var(--color-text-light)}

/* ═══ SECCIONES HOME ═══ */
.process-step{padding:var(--space-2) 0}
.process-number{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-md);font-weight:var(--weight-bold);margin-bottom:var(--space-4)}
.process-step h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}
.process-step p{color:var(--color-text-light);font-size:var(--text-sm)}

.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}
.cat-card{display:flex;flex-direction:column;gap:var(--space-1);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);position:relative;transition:all var(--transition-fast);min-height:96px}
.cat-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.cat-name{font-weight:var(--weight-semibold);color:var(--color-text)}
.cat-count{font-size:var(--text-sm);color:var(--color-text-muted)}
.cat-arrow{position:absolute;right:var(--space-5);bottom:var(--space-5);color:var(--color-primary);font-weight:var(--weight-bold)}

.island-card{display:flex;flex-direction:column;gap:var(--space-3)}
.island-card h3{font-size:var(--text-xl)}
.island-card p{color:var(--color-text-light);font-size:var(--text-sm);flex:1}
.island-link{font-weight:var(--weight-semibold);font-size:var(--text-sm)}

.value-card{display:flex;flex-direction:column;gap:var(--space-2)}
.value-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-md);font-weight:var(--weight-bold);font-size:var(--text-lg);margin-bottom:var(--space-2)}
.value-card h3{font-size:var(--text-lg)}
.value-card p{color:var(--color-text-light);font-size:var(--text-sm)}

.fungibles-banner{background:var(--color-bg-alt)}
.fungibles-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
@media(max-width:900px){.fungibles-grid{grid-template-columns:1fr}.fungibles-image{order:-1}}
.fungibles-image img{border-radius:var(--radius-lg);width:100%}

.cta-section-dark{background:var(--color-bg-dark);color:#fff}
.cert-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:var(--space-6)}
.cert-badge{display:inline-block;background:#fff;color:var(--color-bg-dark);font-weight:var(--weight-bold);font-size:var(--text-sm);padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);margin-bottom:var(--space-3)}
.cert-card p{color:rgba(255,255,255,.75);font-size:var(--text-sm);margin:0}
.cta-actions{display:flex;gap:var(--space-4);flex-wrap:wrap}

/* ═══ BLOG ═══ */
.post-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.post-card-image img{aspect-ratio:16/9;object-fit:cover;width:100%}
.post-card-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);flex:1}
.post-card-date{font-size:var(--text-xs);color:var(--color-text-muted)}
.post-card-title{font-size:var(--text-lg)}
.post-card-title a{color:var(--color-heading)}
.post-card-title a:hover{color:var(--color-primary)}
.post-card-excerpt{font-size:var(--text-sm);color:var(--color-text-light);flex:1}
.post-card-link{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-top:auto}

.single-layout{display:grid;grid-template-columns:1fr 300px;gap:var(--space-12)}
@media(max-width:900px){.single-layout{grid-template-columns:1fr}}
.entry-meta{display:flex;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-3)}
.entry-content{font-size:var(--text-lg);line-height:1.75}
.entry-content h2{margin:var(--space-10) 0 var(--space-4)}
.entry-content h3{margin:var(--space-8) 0 var(--space-3)}
.entry-content img{border-radius:var(--radius-lg);margin:var(--space-6) 0}

/* ═══ FOOTER ═══ */
.site-footer{background:var(--color-bg-dark);color:rgba(255,255,255,.75);padding:var(--space-16) 0 var(--space-6);margin-top:var(--space-12)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-10)}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}}
.footer-brand img{max-height:48px;width:auto;margin-bottom:var(--space-4);background:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}
.footer-brand p{font-size:var(--text-sm);margin-bottom:var(--space-4)}
.footer-certs{display:flex;gap:var(--space-2);flex-wrap:wrap}
.site-footer h4{color:#fff;font-size:var(--text-base);margin-bottom:var(--space-4)}
.site-footer ul{list-style:none;padding:0;font-size:var(--text-sm)}
.site-footer li{margin-bottom:var(--space-3)}
.site-footer a{color:rgba(255,255,255,.75)}
.site-footer a:hover{color:#fff}
.site-footer address{font-style:normal;font-size:var(--text-sm);line-height:1.7}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--space-6);font-size:var(--text-xs);text-align:center;color:rgba(255,255,255,.5)}

/* ═══ FORMULARIO DE BUSQUEDA ═══ */
.search-form{display:flex;gap:var(--space-2)}
.search-form input{flex:1;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.search-form button{padding:0 var(--space-4);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer}

/* ═══ PAGINACION ═══ */
.pagination,.woocommerce-pagination{margin-top:var(--space-12)}
.pagination .nav-links,.woocommerce-pagination ul{display:flex;gap:var(--space-2);justify-content:center;list-style:none;padding:0;border:none!important}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:var(--weight-medium);background:#fff}
.page-numbers.current{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
