/*
Theme Name: Sin Moldes
Theme URI: https://sinmoldes.com
Author: Sin Moldes Corporación
Author URI: https://sinmoldes.com
Description: Tema oficial de Sin Moldes — Corporación Audiovisual y Terapéutica.
Version: 2.0.0
Requires at least: 6.0
Text Domain: sinmoldes
*/

:root{--rojo:#e02e3b;--turquesa:#44c1d1;--amarillo:#fbcf09;--negro:#0a0a0a;--blanco:#ffffff;--gris:#f7f7f7;--gris-b:#e8e8e8;--texto:#1a1a1a;--suave:#666;--fh:'newake','Quicksand',sans-serif;--fb:'Quicksand',sans-serif;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--fb);background:var(--blanco);color:var(--texto);overflow-x:hidden;}

/* ── NAVBAR ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,10,10,0.96);backdrop-filter:blur(14px);border-bottom:2.5px solid var(--rojo);padding:0 5%;height:70px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;text-decoration:none;}
.nav-logo img{height:48px;width:auto;display:block;}
.nav-links{display:flex;gap:4px;list-style:none;}
.nav-links a{color:rgba(255,255,255,0.78);text-decoration:none;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:7px 14px;border-radius:6px;transition:.2s;}
.nav-links a:hover{color:var(--turquesa);background:rgba(68,193,209,0.1);}
.nav-cta{background:var(--rojo) !important;color:#fff !important;border-radius:7px !important;}
.nav-cta:hover{background:#c0242f !important;}

/* ── HERO ── */
.hero{min-height:100vh;background:var(--negro);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.hero-orb{position:absolute;pointer-events:none;}
.hero-orb-1{top:-120px;right:-100px;width:520px;height:520px;background:radial-gradient(circle,rgba(224,46,59,.22) 0%,transparent 70%);border-radius:50%;animation:pulse 5s ease-in-out infinite;}
.hero-orb-2{bottom:-160px;left:-80px;width:580px;height:580px;background:radial-gradient(circle,rgba(68,193,209,.18) 0%,transparent 70%);border-radius:50%;animation:pulse 6s ease-in-out infinite reverse;}
.hero-ring{position:absolute;top:50%;left:50%;width:820px;height:820px;border:1px solid rgba(251,207,9,.07);border-radius:50%;transform:translate(-50%,-50%);animation:spin 25s linear infinite;}
@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.1);}}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg);}}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1180px;width:100%;padding:100px 5% 60px;position:relative;z-index:1;}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(68,193,209,.13);border:1px solid var(--turquesa);color:var(--turquesa);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;padding:5px 16px;border-radius:20px;margin-bottom:22px;}
.hero-logo-big{display:block;height:90px;width:auto;max-width:55vw;margin-bottom:20px;animation:heroLogoFade .8s ease-out;}
@keyframes heroLogoFade{from{opacity:0;transform:translateY(-12px);}to{opacity:1;transform:translateY(0);}}
.hero-h1{font-family:var(--fh);font-size:clamp(42px,5.5vw,72px);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;line-height:1.06;color:#fff;margin-bottom:22px;}
.hero-h1 .r{color:var(--rojo);}
.hero-h1 .t{color:var(--turquesa);}
.hero-sub{font-size:16px;font-weight:400;color:rgba(255,255,255,.65);line-height:1.75;margin-bottom:36px;max-width:470px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:10px;font-family:var(--fb);font-size:13.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;text-decoration:none;transition:.25s;cursor:pointer;border:none;}
.btn-r{background:var(--rojo);color:#fff;box-shadow:0 4px 20px rgba(224,46,59,.4);}
.btn-r:hover{background:#c0242f;transform:translateY(-2px);box-shadow:0 8px 28px rgba(224,46,59,.5);}
.btn-t{background:transparent;color:var(--turquesa);border:2px solid var(--turquesa);}
.btn-t:hover{background:var(--turquesa);color:var(--negro);transform:translateY(-2px);}
.hero-visual{position:relative;}
.hero-card-frame{position:relative;max-width:460px;margin:0 auto;}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;}
.stat-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 10px;text-align:center;}
.stat-num{font-size:28px;font-weight:700;color:var(--turquesa);line-height:1;}
.stat-lab{font-size:10px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;}
.hero-badge{position:absolute;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:7px 14px;border-radius:8px;z-index:10;}
.hb1{top:-14px;right:12px;background:var(--amarillo);color:var(--negro);transform:rotate(3deg);}
.hb2{bottom:-14px;left:12px;background:var(--turquesa);color:var(--negro);transform:rotate(-2deg);}

/* ── IG CARD ── */
.ig-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,0.25),0 4px 14px rgba(0,0,0,0.1);max-width:460px;margin:0 auto;border:1px solid rgba(255,255,255,0.1);}
.ig-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #f0f0f0;}
.ig-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(220,39,67,.3);}
.ig-user{font-family:'Quicksand',sans-serif;font-weight:700;font-size:15px;color:#1a1a1a;line-height:1.1;}
.ig-loc{font-size:12px;color:#888;margin-top:2px;}
.ig-feed{background:#fafafa;height:480px;overflow:hidden;position:relative;}
.ig-feed iframe{display:block;width:100% !important;height:580px !important;border:none;margin-top:-10px;}
.ig-btn{display:block;text-align:center;background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);color:#fff;font-family:'Quicksand',sans-serif;font-weight:700;font-size:14px;padding:14px;text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:opacity .2s;}
.ig-btn:hover{opacity:.9;}

/* ── MARQUEE ALIADOS ── */
.marquee-wrap{background:var(--negro);overflow:hidden;border-top:1px solid rgba(255,255,255,.07);border-bottom:3px solid var(--rojo);padding:18px 0;position:relative;}
.marquee-pill{position:absolute;left:0;top:0;bottom:0;z-index:10;background:var(--rojo);display:flex;align-items:center;padding:0 22px;font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:2px;white-space:nowrap;}
.marquee-track-box{overflow:hidden;padding-left:185px;}
.marquee-track{display:flex;gap:0;animation:mscroll 32s linear infinite;width:max-content;}
.marquee-track:hover{animation-play-state:paused;}
@keyframes mscroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.mitem{display:flex;align-items:center;gap:10px;padding:0 36px;border-right:1px solid rgba(255,255,255,.09);white-space:nowrap;}
.mdot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.mname{font-size:14px;font-weight:600;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:1px;}

/* ── GLOBAL SECTION TYPOGRAPHY ── */
.sec-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--turquesa);margin-bottom:14px;}
.sec-tag::before{content:'';width:22px;height:2px;background:var(--turquesa);display:inline-block;}
.sec-h2{font-family:var(--fh);font-size:clamp(28px,3.5vw,46px);font-weight:700;text-transform:uppercase;letter-spacing:1px;line-height:1.1;margin-bottom:18px;}
.sec-p{font-size:16px;color:var(--suave);line-height:1.75;margin-bottom:24px;}

/* ── QUIÉNES SOMOS — Diseño creativo ── */
.quienes{background:#fff;padding:0;overflow:hidden;}
.quienes-inner{max-width:100%;margin:0;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.qs-logo{display:block;width:150px;max-width:40vw;height:auto;margin-bottom:24px;}

/* Columna izquierda oscura */
.qs-left{
  background:var(--negro);
  padding:90px 6% 90px 8%;
  position:relative;
  overflow:hidden;
}
.qs-left::before{
  content:'';
  position:absolute;
  top:-200px;right:-100px;
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(224,46,59,.15) 0%,transparent 70%);
  border-radius:50%;
  pointer-events:none;
}
.qs-left::after{
  content:'';
  position:absolute;
  bottom:-150px;left:-80px;
  width:350px;height:350px;
  background:radial-gradient(circle,rgba(68,193,209,.1) 0%,transparent 70%);
  border-radius:50%;
  pointer-events:none;
}
.qs-left .sec-tag{color:var(--turquesa);position:relative;z-index:1;}
.qs-left .sec-tag::before{background:var(--turquesa);}
.qs-left .sec-h2{color:#fff;font-size:clamp(32px,4vw,54px);position:relative;z-index:1;}
.qs-left .sec-h2 span{color:var(--rojo);}
.qs-left .sec-p{color:rgba(255,255,255,.65);position:relative;z-index:1;font-size:15px;}

/* Quote motivación en dark */
.qs-quote-dark{
  position:relative;z-index:1;
  margin:28px 0;
  padding:20px 24px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--rojo);
  border-radius:0 10px 10px 0;
}
.qs-quote-dark .qs-q-label{font-family:var(--fh);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--rojo);margin-bottom:8px;}
.qs-quote-dark p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.75);margin:0;}

/* Herramientas en dark */
.qs-herr-dark{position:relative;z-index:1;margin-top:28px;}
.qs-herr-dark .qs-herr-title{font-family:var(--fh);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.35);margin-bottom:12px;}
.qs-herr-dark-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.qs-herr-dark-item{
  display:flex;align-items:center;gap:9px;
  padding:10px 13px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-radius:8px;
  font-size:12.5px;font-weight:600;
  color:rgba(255,255,255,.75);
  transition:.2s;
}
.qs-herr-dark-item:hover{background:rgba(68,193,209,.08);border-color:rgba(68,193,209,.3);}
.qs-herr-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}

/* Contacto mini */
.qs-contact-bar{
  position:relative;z-index:1;
  margin-top:28px;
  display:flex;gap:14px;flex-wrap:wrap;
}
.qs-contact-bar a{
  display:inline-flex;align-items:center;gap:7px;
  font-size:13px;font-weight:700;
  color:rgba(255,255,255,.7);
  text-decoration:none;
  padding:8px 14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  transition:.2s;
}
.qs-contact-bar a:hover{color:var(--turquesa);border-color:var(--turquesa);}

/* Columna derecha — fondo gris claro */
.qs-right{
  background:var(--gris);
  padding:90px 6% 90px 6%;
  display:flex;
  flex-direction:column;
  gap:24px;
  justify-content:flex-start;
}

/* Profile card rediseñada */
.qs-profile-card{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--gris-b);
  box-shadow:0 4px 24px rgba(0,0,0,.06);
}
.qs-profile-header{
  height:10px;
  display:flex;
}
.qs-profile-header span{flex:1;}
.qs-profile-body{padding:24px 24px 26px;}
.qs-avatar-row{display:flex;align-items:center;gap:16px;margin-bottom:16px;}
.qs-avatar-circle{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,#44c1d1,#2a9db0);
  display:flex;align-items:center;justify-content:center;
  font-size:28px;flex-shrink:0;
  box-shadow:0 4px 14px rgba(68,193,209,.3);
}
.qs-profile-nombre{font-family:var(--fh);font-size:18px;font-weight:700;color:var(--texto);}
.qs-profile-rol{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--rojo);margin-top:2px;}
.qs-profile-bio{font-size:13px;line-height:1.7;color:var(--suave);margin-bottom:14px;}
.qs-profile-tags{display:flex;flex-wrap:wrap;gap:6px;}
.qs-profile-tags span{font-size:11px;background:var(--gris);color:var(--suave);padding:4px 10px;border-radius:100px;font-weight:600;}

/* Timeline logros */
.qs-timeline-card{
  background:var(--negro);
  border-radius:20px;
  padding:24px 26px;
  border:1px solid rgba(255,255,255,.05);
  flex:1;
}
.qs-timeline-label{font-family:var(--fh);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.3);margin-bottom:18px;}

/* Stats row inside timeline */
.qs-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.07);}
.qs-stat{text-align:center;padding:10px 6px;background:rgba(255,255,255,.04);border-radius:10px;border:1px solid rgba(255,255,255,.06);}
.qs-stat-num{font-family:var(--fh);font-size:22px;font-weight:700;color:var(--turquesa);line-height:1;}
.qs-stat-lab{font-size:9px;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;}
.qs-tl-item{display:grid;grid-template-columns:42px 12px 1fr;gap:0 12px;align-items:start;padding:9px 0;position:relative;}
.qs-tl-item:not(:last-child)::after{content:'';position:absolute;left:54px;top:21px;bottom:-9px;width:1px;background:rgba(255,255,255,.07);}
.qs-tl-year{font-family:var(--fh);font-size:10px;font-weight:700;color:rgba(255,255,255,.25);text-align:right;padding-top:2px;letter-spacing:.5px;}
.qs-tl-dot{width:12px;height:12px;border-radius:50%;margin-top:2px;flex-shrink:0;}
.qs-tl-text{font-size:12.5px;color:rgba(255,255,255,.65);line-height:1.5;font-weight:500;}

/* Responsive quienes */
@media(max-width:920px){
  .quienes-inner{grid-template-columns:1fr;}
  .qs-left,.qs-right{padding:60px 5%;}
  .qs-herr-dark-grid{grid-template-columns:1fr;}
}

/* ── TABS ── */
.tabs-bar{background:#fff;border-bottom:3px solid var(--gris-b);position:sticky;top:70px;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.05);}
.tabs-inner{max-width:1180px;margin:0 auto;padding:0 5%;display:flex;gap:0;overflow-x:auto;scrollbar-width:none;}
.tabs-inner::-webkit-scrollbar{display:none;}
.tabbtn{display:flex;align-items:center;gap:9px;padding:18px 26px;font-family:var(--fb);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--suave);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:.2s;white-space:nowrap;position:relative;bottom:-3px;}
.tabbtn:hover{color:var(--turquesa);}
.tabbtn.on{color:var(--rojo);border-bottom-color:var(--rojo);}
.tabico{font-size:17px;}
.tabpanel{display:none;}
.tabpanel.on{display:block;}

/* ── ASESORÍA ── */
.asesoria-bg{background:var(--negro);position:relative;overflow:hidden;}
.asesoria-bg::before{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:linear-gradient(135deg,transparent,rgba(68,193,209,.05));}
.asesoria-inner{max-width:1180px;margin:0 auto;padding:80px 5%;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;position:relative;z-index:1;}
.srv-list{display:flex;flex-direction:column;gap:18px;}
.srv-item{display:flex;align-items:flex-start;gap:18px;padding:22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:16px;transition:.3s;}
.srv-item:hover{background:rgba(68,193,209,.08);border-color:rgba(68,193,209,.3);transform:translateX(8px);}
.srv-ico{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.srv-h4{color:#fff;font-size:15px;font-weight:700;margin-bottom:5px;}
.srv-p{color:rgba(255,255,255,.55);font-size:13.5px;line-height:1.6;}
.srv-price{color:var(--amarillo);font-size:12px;font-weight:700;margin-top:6px;}

/* ── TALLERES ── */
.talleres-inner{max-width:1180px;margin:0 auto;padding:80px 5%;}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:56px;}
.tcard{background:#fff;border-radius:20px;overflow:hidden;border:2px solid var(--gris-b);transition:.3s;}
.tcard:hover{border-color:var(--turquesa);transform:translateY(-8px);box-shadow:0 20px 50px rgba(68,193,209,.14);}
.tcard-head{height:150px;display:flex;align-items:center;justify-content:center;font-size:50px;}
.tcard-body{padding:22px;}
.tcard-tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;padding:3px 11px;border-radius:20px;margin-bottom:10px;}
.tcard-body h3{font-family:var(--fh);font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;}
.tcard-body p{font-size:13.5px;color:var(--suave);line-height:1.6;margin-bottom:14px;}
.tcard-price{font-size:18px;font-weight:700;color:var(--rojo);margin-bottom:14px;}
.tcard-meta{font-size:12px;color:var(--suave);margin-bottom:16px;}

/* ── SERVICIOS PERSONA ── */
.servicios-persona{background:var(--gris);padding:80px 5%;}
.sp-inner{max-width:1180px;margin:0 auto;}
.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
.sp-card{background:#fff;border-radius:18px;padding:28px 22px;border:2px solid var(--gris-b);transition:.3s;position:relative;overflow:hidden;}
.sp-card:hover{border-color:var(--rojo);box-shadow:0 14px 40px rgba(224,46,59,.1);}
.sp-card-num{font-family:var(--fh);font-size:40px;font-weight:700;color:rgba(224,46,59,.08);position:absolute;top:12px;right:18px;}
.sp-ico{font-size:36px;margin-bottom:14px;}
.sp-h3{font-family:var(--fh);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;}
.sp-p{font-size:13px;color:var(--suave);line-height:1.6;margin-bottom:16px;}
.sp-price{background:linear-gradient(135deg,#fff9e6,#fffbf0);border:1px solid #fce68a;border-radius:10px;padding:12px 14px;font-size:13px;}
.sp-price-label{font-weight:700;color:#7a5f00;font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
.sp-price-val{color:var(--texto);font-size:14px;}

/* ── APP CONTABLE ── */
.app-bg{background:linear-gradient(160deg,#0a0a0a 0%,#0f0f1a 60%,#081220 100%);position:relative;overflow:hidden;}
.app-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(68,193,209,.09) 0%,transparent 60%);}
.app-inner{max-width:1180px;margin:0 auto;padding:80px 5%;position:relative;z-index:1;}
.app-hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:70px;}
.app-feats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:36px;}
.feat{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.8);font-size:14px;font-weight:500;}
.feat-dot{width:7px;height:7px;background:var(--turquesa);border-radius:50%;flex-shrink:0;}
.phone-wrap{max-width:280px;margin:0 auto;background:rgba(255,255,255,.05);border:2px solid rgba(68,193,209,.3);border-radius:38px;padding:14px;}
.phone-screen{background:#12122a;border-radius:28px;overflow:hidden;aspect-ratio:9/19;display:flex;flex-direction:column;}
.ph{background:linear-gradient(135deg,#44c1d1,#2a9db0);padding:14px;text-align:center;}
.ph h4{color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;}
.ph-kpis{display:flex;gap:6px;padding:10px;}
.ph-kpi{flex:1;background:rgba(255,255,255,.07);border-radius:10px;padding:9px 6px;text-align:center;}
.ph-val{color:var(--turquesa);font-size:15px;font-weight:700;}
.ph-lab{color:rgba(255,255,255,.5);font-size:8px;text-transform:uppercase;}
.ph-body{padding:10px;flex:1;}
.ph-row{background:rgba(255,255,255,.05);border-radius:9px;padding:9px 11px;margin-bottom:7px;display:flex;justify-content:space-between;align-items:center;}
.ph-rn{color:rgba(255,255,255,.8);font-size:11px;font-weight:600;}
.ph-rv{color:var(--turquesa);font-size:11px;font-weight:700;}
.precios{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.precio-c{background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.09);border-radius:20px;padding:30px 22px;text-align:center;transition:.3s;position:relative;overflow:hidden;}
.precio-c:hover{border-color:var(--turquesa);background:rgba(68,193,209,.07);transform:translateY(-6px);}
.precio-c.star{border-color:var(--rojo);background:rgba(224,46,59,.07);}
.precio-c.star::before{content:'MÁS POPULAR';position:absolute;top:14px;right:-28px;background:var(--rojo);color:#fff;font-size:9px;font-weight:700;letter-spacing:1.5px;padding:5px 38px;transform:rotate(45deg);}
.p-plan{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--turquesa);margin-bottom:14px;}
.p-monto{font-family:var(--fh);font-size:34px;font-weight:700;color:#fff;line-height:1;}
.p-mon{font-size:15px;font-weight:600;vertical-align:top;margin-top:5px;display:inline-block;}
.p-per{font-size:12px;color:rgba(255,255,255,.45);margin-top:5px;margin-bottom:20px;}
.p-ahorro{background:var(--amarillo);color:var(--negro);font-size:10px;font-weight:700;padding:4px 11px;border-radius:20px;margin-bottom:18px;display:inline-block;}
.p-list{list-style:none;text-align:left;margin-bottom:24px;}
.p-list li{font-size:13px;color:rgba(255,255,255,.7);padding:5px 0;display:flex;align-items:center;gap:8px;}
.p-list li::before{content:'✓';color:var(--turquesa);font-weight:700;flex-shrink:0;}

/* ── CURSOS ── */
.cursos-inner,.cursos-tab-inner{max-width:1180px;margin:0 auto;padding:80px 5%;}
.proceso{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:48px 0;}
.paso{text-align:center;position:relative;}
.paso:not(:last-child)::after{content:'→';position:absolute;top:22px;right:-10px;color:var(--gris-b);font-size:22px;}
.paso-n{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px;margin:0 auto 14px;font-weight:700;}
.paso-t{font-family:var(--fh);font-size:13.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;}
.paso-d{font-size:12.5px;color:var(--suave);line-height:1.5;}
.cursos-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:16px;}
.cc{background:#fff;border-radius:20px;overflow:hidden;border:2px solid var(--gris-b);transition:.3s;}
.cc:hover{border-color:var(--amarillo);transform:translateY(-6px);box-shadow:0 16px 40px rgba(251,207,9,.18);}
.cc-thumb{height:170px;display:flex;align-items:center;justify-content:center;font-size:54px;position:relative;}
.cc-est{position:absolute;top:12px;right:12px;background:var(--turquesa);color:var(--negro);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:4px 10px;border-radius:20px;}
.cc-body{padding:22px;}
.cc-body h3{font-family:var(--fh);font-size:16px;font-weight:700;text-transform:uppercase;margin-bottom:7px;}
.cc-body p{font-size:13px;color:var(--suave);line-height:1.6;margin-bottom:14px;}
.cc-meta{font-size:12px;color:var(--suave);font-weight:600;}

/* ── CTA ── */
.cta{background:var(--rojo);padding:90px 5%;text-align:center;position:relative;overflow:hidden;}
.cta::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");}
.cta h2{font-family:var(--fh);font-size:clamp(32px,5vw,60px);font-weight:700;text-transform:uppercase;color:#fff;letter-spacing:2px;margin-bottom:16px;position:relative;z-index:1;}
.cta-logo{display:block;width:180px;max-width:50vw;height:auto;margin:0 auto 28px;position:relative;z-index:1;opacity:.95;filter:drop-shadow(0 6px 18px rgba(0,0,0,.3));}
.cta p{font-size:17px;color:rgba(255,255,255,.82);margin-bottom:38px;position:relative;z-index:1;}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1;}

/* ── FOOTER ── */
footer{background:var(--negro);padding:60px 5% 36px;border-top:3px solid var(--rojo);}
.ft-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;margin-bottom:44px;}
.ft-col h4{color:var(--turquesa);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:18px;}
.ft-col p{color:rgba(255,255,255,.48);font-size:13.5px;line-height:1.7;}
.ft-col ul{list-style:none;}
.ft-col ul li{margin-bottom:10px;}
.ft-col ul a{color:rgba(255,255,255,.48);text-decoration:none;font-size:13.5px;transition:.2s;}
.ft-col ul a:hover{color:var(--turquesa);}
.ft-logo{margin-bottom:20px;}
.ft-logo img{height:60px;width:auto;opacity:.9;}
.ft-bot{max-width:1180px;margin:0 auto;padding-top:28px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;align-items:center;}
.ft-bot p{color:rgba(255,255,255,.28);font-size:12.5px;}
.socials{display:flex;gap:10px;}
.soc{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:15px;transition:.2s;cursor:pointer;color:rgba(255,255,255,.48);text-decoration:none;}
.soc:hover{background:var(--rojo);border-color:var(--rojo);color:#fff;}

/* ── WP NOTE ── */
.wp-note{background:linear-gradient(135deg,#fff9e6,#fffbf0);border:2px dashed var(--amarillo);border-radius:14px;padding:18px 20px;margin:28px 0;font-size:13px;color:#7a6000;display:flex;gap:12px;align-items:flex-start;}
code{background:#f1f5f9;border-radius:4px;padding:1px 6px;font-family:monospace;font-size:12px;}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ── WP EXTRA SECTIONS ── */
.nav-hamburger{display:none;}
.wp-content{max-width:1100px;margin:0 auto;padding:50px 5%;}
.wp-content h1,.wp-content h2,.wp-content h3{font-family:var(--fh);}
.alignleft{float:left;margin-right:20px;}
.alignright{float:right;margin-left:20px;}
.aligncenter{display:block;margin:20px auto;}
.tutor-btn-primary{background:var(--rojo) !important;}

/* Galería */
.galeria{background:#fff;}
.galeria-inner{max-width:1200px;margin:0 auto;padding:80px 5%;}
.galeria-head{text-align:center;margin-bottom:50px;}
.galeria-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.galeria-item{aspect-ratio:1;border-radius:10px;overflow:hidden;cursor:pointer;transition:.25s;position:relative;}
.galeria-item:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.15);}
.galeria-item img{width:100%;height:100%;object-fit:cover;display:block;}
.galeria-item-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:42px;}
.galeria-item-placeholder.c1{background:linear-gradient(135deg,var(--rojo),#c0242f);}
.galeria-item-placeholder.c2{background:linear-gradient(135deg,var(--turquesa),#2a9db0);}
.galeria-item-placeholder.c3{background:linear-gradient(135deg,var(--amarillo),#d97706);color:#1a1a1a;}
.galeria-item-placeholder.c4{background:linear-gradient(135deg,#1a1a1a,#444);}
.galeria-item-placeholder.c5{background:linear-gradient(135deg,#7c3aed,#5b21b6);}
.galeria-item-placeholder.c6{background:linear-gradient(135deg,var(--rojo),var(--amarillo));}
.galeria-cta{text-align:center;margin-top:32px;}

/* Testimonios */
.testimonios{background:var(--gris);}
.testimonios-inner{max-width:1200px;margin:0 auto;padding:80px 5%;}
.testimonios-head{text-align:center;margin-bottom:50px;}
.testimonios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.testimonio-card{background:#fff;border-radius:14px;padding:24px;border:1px solid var(--gris-b);position:relative;}
.testimonio-quote{font-size:42px;line-height:1;font-family:serif;margin-bottom:8px;font-weight:700;}
.testimonio-quote.c1{color:var(--turquesa);}
.testimonio-quote.c2{color:var(--amarillo);}
.testimonio-quote.c3{color:var(--rojo);}
.testimonio-text{font-size:14px;line-height:1.7;color:var(--texto);margin:0 0 18px;font-style:italic;}
.testimonio-pie{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid #f0f0f0;}
.testimonio-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0;}
.testimonio-avatar.c1{background:linear-gradient(135deg,var(--rojo),#ff6b7a);}
.testimonio-avatar.c2{background:linear-gradient(135deg,var(--turquesa),#2a9db0);}
.testimonio-avatar.c3{background:linear-gradient(135deg,var(--amarillo),#d97706);}
.testimonio-nombre{font-weight:700;font-size:14px;color:var(--texto);}
.testimonio-rol{font-size:11px;color:var(--suave);margin-top:2px;}

/* Blog */
.blog{background:#fff;}
.blog-inner{max-width:1200px;margin:0 auto;padding:80px 5%;}
.blog-head{text-align:center;margin-bottom:50px;}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;}
.blog-card{background:#fff;border:1px solid var(--gris-b);border-radius:14px;overflow:hidden;transition:.2s;display:block;color:inherit;text-decoration:none;}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08);}
.blog-card-img{width:100%;height:200px;background:linear-gradient(135deg,var(--rojo),var(--turquesa));display:flex;align-items:center;justify-content:center;color:#fff;font-size:56px;overflow:hidden;}
.blog-card-img img{width:100%;height:100%;object-fit:cover;}
.blog-card-body{padding:22px;}
.blog-card-fecha{font-size:11px;color:var(--rojo);text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:8px;}
.blog-card-titulo{font-weight:700;font-size:17px;color:var(--texto);margin:0 0 10px;line-height:1.4;}
.blog-card-excerpt{font-size:13px;color:var(--suave);line-height:1.6;margin:0 0 14px;}
.blog-card-leer{font-size:12px;color:var(--rojo);font-weight:700;text-transform:uppercase;letter-spacing:1px;}
.blog-vacio{text-align:center;padding:50px 20px;background:var(--gris);border-radius:14px;}

/* Contacto */
.contacto{background:var(--gris);}
.contacto-inner{max-width:1100px;margin:0 auto;padding:80px 5%;display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center;}
.contacto-data{display:flex;flex-direction:column;gap:12px;margin-top:24px;}
.contacto-item{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#fff;border-radius:10px;border:1px solid var(--gris-b);text-decoration:none;color:var(--texto);font-weight:600;font-size:14px;transition:.2s;}
.contacto-item:hover{border-color:var(--turquesa);transform:translateX(4px);}
.contacto-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.contacto-icon.wa{background:#25d366;color:white;}
.contacto-icon.em{background:var(--turquesa);color:white;}
.contacto-icon.ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:white;}
.contacto-form{background:#fff;padding:30px;border-radius:14px;border:1px solid var(--gris-b);}
.cf-field{margin-bottom:16px;}
.cf-field label{display:block;font-size:11px;font-weight:700;color:var(--suave);margin-bottom:6px;text-transform:uppercase;letter-spacing:.8px;}
.cf-field input,.cf-field textarea{width:100%;padding:11px 14px;border:1.5px solid var(--gris-b);border-radius:8px;font-size:14px;font-family:inherit;transition:.2s;box-sizing:border-box;}
.cf-field input:focus,.cf-field textarea:focus{outline:none;border-color:var(--turquesa);}
.cf-field textarea{min-height:100px;resize:vertical;}
.cf-submit{width:100%;padding:14px;background:var(--rojo);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;transition:.2s;font-family:inherit;}
.cf-submit:hover{background:#c0242f;transform:translateY(-2px);}
.cf-msg-ok,.cf-msg-err{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:13px;display:none;}
.cf-msg-ok{background:#dcfce7;color:#166534;border:1px solid #86efac;}
.cf-msg-err{background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5;}

/* WhatsApp flotante */
.wa-floating{position:fixed;bottom:24px;right:24px;width:60px;height:60px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.4);cursor:pointer;z-index:999;transition:.25s;text-decoration:none;animation:waPulse 2s infinite;}
.wa-floating:hover{transform:scale(1.1);}
.wa-floating svg{width:32px;height:32px;fill:#fff;}
@keyframes waPulse{0%,100%{box-shadow:0 6px 24px rgba(37,211,102,.4);}50%{box-shadow:0 6px 24px rgba(37,211,102,.4),0 0 0 12px rgba(37,211,102,.15);}}
.wa-tooltip{position:absolute;right:70px;background:#1a1a1a;color:#fff;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;transition:.25s;pointer-events:none;}
.wa-floating:hover .wa-tooltip{opacity:1;right:75px;}

/* Aliados sección (carrusel logos) */
.aliados{background:#fff;padding:80px 0;overflow:hidden;border-top:1px solid var(--gris-b);border-bottom:1px solid var(--gris-b);}
.aliados-inner{max-width:1200px;margin:0 auto;padding:0 5%;}
.aliados-head{text-align:center;margin-bottom:52px;}
.aliados-sub{font-size:15px;color:var(--suave);max-width:520px;margin:0 auto;line-height:1.7;}
.aliados-track-wrap{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 12%,black 88%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 12%,black 88%,transparent 100%);}
.aliados-track{display:flex;gap:0;width:max-content;animation:aliados-scroll 28s linear infinite;}
.aliados-track:hover{animation-play-state:paused;}
@keyframes aliados-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.aliado-item{padding:0 16px;flex-shrink:0;}
.aliado-item a{text-decoration:none;}
.aliado-card{width:160px;height:110px;background:#fff;border:1.5px solid var(--gris-b);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px 12px;transition:.25s;cursor:default;}
.aliado-item a .aliado-card{cursor:pointer;}
.aliado-card:hover{border-color:var(--turquesa);box-shadow:0 6px 22px rgba(68,193,209,.15);transform:translateY(-3px);}
.aliado-logo{max-width:110px;max-height:52px;width:auto;height:auto;object-fit:contain;filter:grayscale(100%);opacity:.65;transition:.25s;}
.aliado-card:hover .aliado-logo{filter:grayscale(0%);opacity:1;}
.aliado-placeholder{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--rojo),var(--turquesa));display:flex;align-items:center;justify-content:center;}
.aliado-initials{color:#fff;font-weight:700;font-size:18px;font-family:var(--fh);}
.aliado-nombre{font-size:11px;font-weight:700;color:var(--suave);text-align:center;text-transform:uppercase;letter-spacing:.5px;line-height:1.3;}

/* ── RESPONSIVE ── */
@media(max-width:920px){
  .hero-inner,.asesoria-inner,.app-hero,.quienes-inner{grid-template-columns:1fr;gap:40px;}
  .cards3,.sp-grid,.precios,.cursos-cards{grid-template-columns:1fr;}
  .proceso{grid-template-columns:1fr 1fr;}
  .paso:not(:last-child)::after{display:none;}
  .team-grid{grid-template-columns:1fr;}
  .ft-grid{grid-template-columns:1fr 1fr;}
  .contacto-inner{grid-template-columns:1fr;gap:30px;}
  .aliados{padding:60px 0;}
  .marquee-pill{padding:0 14px;font-size:9px;}
  .marquee-track-box{padding-left:130px;}
  .nav-hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;transition:background .2s;}
  .nav-hamburger:hover{background:rgba(255,255,255,.1);}
  .nav-hamburger span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:.25s;transform-origin:center;}
  .nav-open .nav-hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-open .nav-hamburger span:nth-child(2){opacity:0;transform:scaleX(0);}
  .nav-open .nav-hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .nav-links{display:flex !important;flex-direction:column;position:absolute;top:70px;left:0;right:0;background:rgba(10,10,10,.97);backdrop-filter:blur(16px);border-top:2px solid var(--rojo);padding:12px 5% 20px;gap:2px;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .35s ease,opacity .25s ease;}
  .nav-open .nav-links{max-height:500px;opacity:1;pointer-events:auto;}
  .nav-links a{font-size:14px !important;padding:11px 14px !important;border-radius:8px;}
  .nav-links .nav-cta{margin-top:8px;text-align:center;}
}
@media(max-width:600px){
  .sp-grid,.cursos-cards{grid-template-columns:1fr;}
  footer{padding:40px 5% 24px;}
  .ft-grid{grid-template-columns:1fr;}
  .wa-floating{width:54px;height:54px;bottom:18px;right:18px;}
  .wa-floating svg{width:28px;height:28px;}
  .hb1,.hb2{display:none;}
}

/* ════════════════════════════════════════════════════════════
   SINGLE POST — Artículo individual profesional
════════════════════════════════════════════════════════════ */

/* ── Hero del artículo ── */
.sp-hero { position: relative; min-height: 480px; display: flex; align-items: flex-end; overflow: hidden; margin-top: 70px; }
.sp-hero-img { position: absolute; inset: 0; }
.sp-hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sp-hero-placeholder { background: linear-gradient(135deg, var(--negro), #1a1a2e); }
.sp-hero-placeholder-inner { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 80px; opacity: .3; }
.sp-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.4) 50%, rgba(0,0,0,.15) 100%); }
.sp-hero-content { position: relative; z-index: 2; max-width: 900px; margin: 0 auto; padding: 60px 5% 50px; width: 100%; }
.sp-breadcrumb { font-size: 12px; color: rgba(255,255,255,.5); margin-bottom: 16px; display: flex; gap: 8px; flex-wrap: wrap; }
.sp-breadcrumb a { color: rgba(255,255,255,.6); text-decoration: none; transition: .2s; }
.sp-breadcrumb a:hover { color: var(--turquesa); }
.sp-cats { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.sp-cat-tag { background: var(--rojo); color: #fff; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; padding: 4px 12px; border-radius: 20px; text-decoration: none; transition: .2s; }
.sp-cat-tag:hover { background: #c0242f; }
.sp-title { font-family: var(--fh); font-size: clamp(26px, 4.5vw, 52px); font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: 1px; line-height: 1.1; margin: 0 0 24px; }
.sp-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.sp-meta-author { display: flex; align-items: center; gap: 12px; }
.sp-meta-avatar { width: 38px; height: 38px; border-radius: 50%; overflow: hidden; flex-shrink: 0; border: 2px solid rgba(255,255,255,.2); }
.sp-avatar-img, .sp-meta-avatar img { width: 38px !important; height: 38px !important; border-radius: 50%; object-fit: cover; }
.sp-meta-name { font-size: 14px; font-weight: 700; color: #fff; }
.sp-meta-date { font-size: 12px; color: rgba(255,255,255,.5); margin-top: 2px; }
.sp-meta-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.sp-share-btn { display: inline-flex; align-items: center; gap: 7px; padding: 8px 16px; border-radius: 8px; font-size: 12px; font-weight: 700; cursor: pointer; transition: .2s; text-decoration: none; border: none; font-family: inherit; }
.sp-share-wa { background: #25d366; color: #fff; }
.sp-share-wa svg { width: 15px; height: 15px; fill: #fff; }
.sp-share-wa:hover { background: #1da851; }
.sp-share-copy { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.2); }
.sp-share-copy:hover { background: rgba(255,255,255,.2); }

/* ── Layout body ── */
.sp-body { background: var(--gris); padding: 60px 5%; }
.sp-layout { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 340px; gap: 40px; align-items: start; }

/* ── Contenido del artículo ── */
.sp-content { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 4px 24px rgba(0,0,0,.06); }
.sp-entry-content { padding: 48px 52px; font-size: 17px; line-height: 1.8; color: var(--texto); }
.sp-entry-content h2 { font-family: var(--fh); font-size: clamp(20px, 2.5vw, 28px); font-weight: 700; text-transform: uppercase; margin: 40px 0 16px; color: var(--texto); }
.sp-entry-content h3 { font-family: var(--fh); font-size: clamp(17px, 2vw, 22px); font-weight: 700; margin: 32px 0 12px; color: var(--texto); }
.sp-entry-content p { margin-bottom: 22px; }
.sp-entry-content strong { color: var(--texto); }
.sp-entry-content a { color: var(--rojo); text-decoration: underline; text-underline-offset: 3px; }
.sp-entry-content a:hover { color: #c0242f; }
.sp-entry-content img { max-width: 100%; height: auto; border-radius: 12px; margin: 24px 0; display: block; }
.sp-entry-content ul, .sp-entry-content ol { margin: 0 0 22px 22px; }
.sp-entry-content li { margin-bottom: 8px; }
.sp-entry-content blockquote { border-left: 4px solid var(--rojo); padding: 16px 24px; background: rgba(224,46,59,.04); border-radius: 0 10px 10px 0; margin: 28px 0; font-style: italic; color: #444; font-size: 16px; }
.sp-entry-content blockquote p { margin: 0; }
.sp-entry-content figure { margin: 28px 0; }
.sp-entry-content figcaption { font-size: 13px; color: var(--suave); text-align: center; margin-top: 8px; font-style: italic; }
.sp-entry-content pre { background: #1a1a1a; color: #e8e8e8; padding: 20px 24px; border-radius: 10px; overflow-x: auto; font-size: 14px; margin: 24px 0; }
.sp-entry-content code { background: rgba(224,46,59,.08); color: var(--rojo); padding: 2px 7px; border-radius: 4px; font-size: 14px; }
.sp-entry-content pre code { background: none; color: inherit; padding: 0; }
.wp-block-image { margin: 28px 0; }

/* Tags */
.sp-tags { padding: 24px 52px; border-top: 1px solid var(--gris-b); display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.sp-tags-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--suave); margin-right: 4px; }
.sp-tag { font-size: 12px; padding: 4px 12px; background: var(--gris); color: var(--suave); border-radius: 20px; text-decoration: none; font-weight: 600; transition: .2s; }
.sp-tag:hover { background: var(--turquesa); color: #fff; }

/* Navegación entre posts */
.sp-nav-posts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 28px 52px; border-top: 1px solid var(--gris-b); }
.sp-nav-item { padding: 16px 18px; border: 1.5px solid var(--gris-b); border-radius: 12px; text-decoration: none; color: var(--texto); transition: .2s; }
.sp-nav-item:hover { border-color: var(--rojo); background: rgba(224,46,59,.03); }
.sp-nav-next { text-align: right; }
.sp-nav-dir { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--suave); margin-bottom: 5px; }
.sp-nav-ptitle { font-size: 14px; font-weight: 700; color: var(--texto); line-height: 1.4; }

/* Autor box */
.sp-author-box { margin: 0 52px 0; padding: 28px; background: linear-gradient(135deg, rgba(224,46,59,.04), rgba(68,193,209,.04)); border: 1.5px solid var(--gris-b); border-radius: 16px; display: flex; gap: 20px; align-items: flex-start; }
.sp-ab-avatar { flex-shrink: 0; }
.sp-ab-img, .sp-ab-avatar img { width: 80px !important; height: 80px !important; border-radius: 50%; object-fit: cover; border: 3px solid var(--turquesa); }
.sp-ab-name { font-family: var(--fh); font-size: 16px; font-weight: 700; color: var(--texto); margin-bottom: 4px; }
.sp-ab-bio { font-size: 13.5px; color: var(--suave); line-height: 1.65; margin-bottom: 10px; }
.sp-ab-link { font-size: 12px; color: var(--turquesa); font-weight: 700; text-decoration: none; }
.sp-ab-link:hover { color: var(--rojo); }

/* ── COMENTARIOS ── */
.sp-comments { padding: 40px 52px 52px; border-top: 1px solid var(--gris-b); margin-top: 28px; }
.sp-comments-title { font-family: var(--fh); font-size: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 28px; color: var(--texto); }
.sp-comments-empty { text-align: center; padding: 40px 20px; }
.sp-ce-icon { font-size: 44px; margin-bottom: 12px; }
.sp-comments-empty p { color: var(--suave); font-size: 15px; }
.sp-comments-list { display: flex; flex-direction: column; gap: 20px; margin-bottom: 36px; }

/* Comentario individual */
.sp-comment { display: flex; gap: 16px; }
.sp-comment-avatar img { width: 48px !important; height: 48px !important; border-radius: 50%; flex-shrink: 0; }
.sp-comment-body { flex: 1; background: var(--gris); border-radius: 14px; padding: 16px 20px; }
.sp-comment-header { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.sp-comment-author { font-weight: 700; font-size: 14px; color: var(--texto); }
.sp-comment-date { font-size: 11px; color: var(--suave); }
.sp-comment-header a { font-size: 11px; color: var(--turquesa); font-weight: 700; text-decoration: none; margin-left: auto; padding: 3px 10px; border: 1px solid var(--turquesa); border-radius: 6px; }
.sp-comment-text p { font-size: 14px; line-height: 1.65; margin: 0; color: var(--texto); }
.sp-comment-pending-msg { font-size: 12px; color: #7a6000; background: #fffbea; padding: 8px 12px; border-radius: 8px; margin-bottom: 8px; }
.children { padding-left: 48px; }

/* Formulario de comentarios */
.sp-comment-form { background: var(--negro); border-radius: 20px; padding: 36px; margin-top: 36px; }
.sp-cf-title { font-family: var(--fh); font-size: 20px; font-weight: 700; text-transform: uppercase; color: #fff; margin-bottom: 6px; }
.sp-cf-sub { font-size: 13px; color: rgba(255,255,255,.5); margin-bottom: 28px; }
.sp-cf-form { }
.sp-cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sp-cf-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 18px; }
.sp-cf-full { grid-column: 1 / -1; }
.sp-cf-field label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,.5); }
.sp-cf-field label span { color: var(--rojo); }
.sp-cf-field input, .sp-cf-field textarea, .comment-form input[type="text"], .comment-form input[type="email"], .comment-form textarea { width: 100%; padding: 12px 16px; background: rgba(255,255,255,.06); border: 1.5px solid rgba(255,255,255,.1); border-radius: 10px; font-size: 14px; font-family: inherit; color: #fff; transition: .2s; box-sizing: border-box; }
.sp-cf-field input::placeholder, .sp-cf-field textarea::placeholder { color: rgba(255,255,255,.25); }
.sp-cf-field input:focus, .sp-cf-field textarea:focus, .comment-form input:focus, .comment-form textarea:focus { outline: none; border-color: var(--turquesa); background: rgba(255,255,255,.09); }
.sp-cf-field textarea, .comment-form textarea { min-height: 130px; resize: vertical; }
.sp-cf-submit, .comment-form input[type="submit"] { background: var(--rojo); color: #fff; border: none; padding: 14px 32px; border-radius: 10px; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; cursor: pointer; transition: .25s; font-family: inherit; width: 100%; }
.sp-cf-submit:hover, .comment-form input[type="submit"]:hover { background: #c0242f; transform: translateY(-2px); }
.comment-form-comment label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,.5); display: block; margin-bottom: 7px; }
.comments-closed { font-size: 14px; color: var(--suave); text-align: center; padding: 20px; }

/* ── Sidebar ── */
.sp-sidebar { display: flex; flex-direction: column; gap: 24px; position: sticky; top: 90px; }
.sp-sidebar-card { background: #fff; border-radius: 18px; padding: 24px; border: 1px solid var(--gris-b); }
.sp-sb-title { font-family: var(--fh); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--texto); margin-bottom: 18px; }

/* WhatsApp sidebar */
.sp-sidebar-wa { background: linear-gradient(135deg, #0f1f0f, #1a2e1a); border-color: rgba(37,211,102,.2); text-align: center; }
.sp-sw-icon { font-size: 38px; margin-bottom: 10px; }
.sp-sw-title { font-family: var(--fh); font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 8px; }
.sp-sw-text { font-size: 13px; color: rgba(255,255,255,.55); line-height: 1.6; margin-bottom: 18px; }
.sp-sw-btn { display: inline-block; background: #25d366; color: #fff; font-size: 13px; font-weight: 700; padding: 11px 22px; border-radius: 10px; text-decoration: none; transition: .2s; }
.sp-sw-btn:hover { background: #1da851; transform: translateY(-2px); }

/* Artículos relacionados */
.sp-related-list { display: flex; flex-direction: column; gap: 14px; }
.sp-rel-item { display: flex; gap: 12px; align-items: center; text-decoration: none; color: var(--texto); padding: 8px; border-radius: 10px; transition: .2s; }
.sp-rel-item:hover { background: var(--gris); }
.sp-rel-thumb { width: 60px; height: 60px; border-radius: 8px; overflow: hidden; flex-shrink: 0; background: var(--gris); }
.sp-rel-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sp-rel-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 24px; background: linear-gradient(135deg, var(--rojo), var(--turquesa)); }
.sp-rel-title { font-size: 13px; font-weight: 700; color: var(--texto); line-height: 1.4; margin-bottom: 3px; }
.sp-rel-date { font-size: 11px; color: var(--suave); }

/* Servicios sidebar */
.sp-servicios-list { display: flex; flex-direction: column; gap: 10px; }
.sp-servicio-item { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: var(--gris); border-radius: 10px; text-decoration: none; color: var(--texto); transition: .2s; border: 1.5px solid transparent; }
.sp-servicio-item:hover { border-color: var(--turquesa); background: rgba(68,193,209,.06); }
.sp-si-ico { font-size: 22px; flex-shrink: 0; }
.sp-si-name { font-size: 13px; font-weight: 700; color: var(--texto); }
.sp-si-desc { font-size: 11px; color: var(--suave); margin-top: 2px; }

/* ── Responsive single ── */
@media(max-width:900px) {
  .sp-layout { grid-template-columns: 1fr; }
  .sp-sidebar { position: static; }
  .sp-entry-content, .sp-tags, .sp-nav-posts, .sp-author-box, .sp-comments { padding-left: 24px; padding-right: 24px; }
  .sp-author-box { margin: 0 24px 0; flex-direction: column; }
  .sp-cf-row { grid-template-columns: 1fr; }
  .sp-nav-posts { grid-template-columns: 1fr; }
}
@media(max-width:600px) {
  .sp-hero { min-height: 360px; }
  .sp-title { font-size: 26px; }
  .sp-entry-content, .sp-tags, .sp-nav-posts, .sp-author-box, .sp-comments { padding-left: 18px; padding-right: 18px; }
  .sp-meta { flex-direction: column; align-items: flex-start; }
}

/* ── Enlaces legales en footer ── */
.ft-legal {
  max-width: 1180px;
  margin: 0 auto;
  padding: 22px 0 0;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
}
.ft-legal a {
  color: rgba(255,255,255,.55);
  font-size: 12.5px;
  text-decoration: none;
  transition: .2s;
  padding: 4px 10px;
  border-radius: 6px;
}
.ft-legal a:hover {
  color: var(--turquesa);
  background: rgba(68,193,209,.08);
}
.ft-legal-sep {
  color: rgba(255,255,255,.2);
  font-size: 12px;
  user-select: none;
}

/* Aviso admin para páginas legales */
.ft-legal-admin{padding:14px 16px;border-top:1px solid rgba(255,255,255,.07);margin-top:18px;}
.ft-legal-admin-note{display:inline-block;background:rgba(252,199,9,.1);color:#fcd34d;border:1px dashed rgba(252,199,9,.3);padding:10px 16px;border-radius:8px;font-size:12.5px;text-align:left;}
.ft-legal-admin-note a{color:var(--turquesa);text-decoration:underline;font-weight:700;}
.ft-legal-admin-note code{background:rgba(0,0,0,.4);color:#fff;padding:2px 6px;border-radius:4px;font-size:11px;}
