/*
Theme Name: CrediConecta2
Theme URI: https://crediconecta2.com
Author: Alberto
Author URI: https://crediconecta2.com
Description: Tema editorial financiero para CrediConecta2. Portal SEO sobre préstamos, ASNEF, hipotecas, tarjetas y financiación.
Version: 2.1.2
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: crediconecta2
*/

:root{
  --cc2-primary:#1F3C88;
  --cc2-accent:#2F80ED;
  --cc2-ink:#0F172A;
  --cc2-muted:#475569;
  --cc2-border:#E5E7EB;
  --cc2-bg:#FFFFFF;
  --cc2-bg-soft:#F8FAFC;
  --cc2-card:#FFFFFF;
  --cc2-radius:16px;
  --cc2-shadow:0 18px 60px rgba(15,23,42,.10);
  --cc2-shadow-soft:0 10px 30px rgba(15,23,42,.08);
  --cc2-max:1120px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}

body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  color:var(--cc2-ink);
  background:var(--cc2-bg);
  line-height:1.55;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

img{max-width:100%;height:auto}
a{color:var(--cc2-accent);text-decoration:none}
a:hover{text-decoration:underline}
p{margin:0 0 16px}
h1,h2,h3{margin:0 0 12px;line-height:1.15}
h1{font-size:clamp(30px,3.4vw,48px);letter-spacing:-.03em}
h2{font-size:clamp(22px,2.2vw,32px);letter-spacing:-.02em}
h3{font-size:18px}

#page{min-height:100vh;display:flex;flex-direction:column;flex:1 0 auto}
#content{flex:1 0 auto;display:block}

.cc2-container{max-width:var(--cc2-max);margin:0 auto;padding:0 10px}
.cc2-section{padding:72px 0}
.cc2-section--soft{background:var(--cc2-bg-soft)}
.cc2-card{background:var(--cc2-card);border:1px solid var(--cc2-border);border-radius:var(--cc2-radius);box-shadow:var(--cc2-shadow-soft);padding:22px}
.cc2-note{font-size:13px;color:var(--cc2-muted)}
.cc2-small{font-size:12px;color:var(--cc2-muted)}
.cc2-lead{font-size:18px;color:var(--cc2-muted);max-width:72ch}
.cc2-kicker{display:inline-flex;gap:8px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cc2-muted);font-weight:800}
.cc2-kicker:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--cc2-accent);display:inline-block}

/* Header */
.cc2-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--cc2-border);
}

.cc2-header__inner{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:20px;
  padding:8px 0;
}

.cc2-brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:140px;
  max-width:140px;
  min-width:140px;
  flex:0 0 140px;
  line-height:0;
}

.cc2-brand img,
.cc2-brand .custom-logo,
.cc2-brand .cc2-header-logo{
  width:140px !important;
  max-width:none !important;
  height:auto !important;
  max-height:none !important;
  display:block;
}

.cc2-nav{
  display:flex;
  align-items:center;
  gap:22px;
  margin-left:auto;
}

.cc2-nav a{
  color:var(--cc2-ink);
  font-weight:700;
  font-size:14px;
  text-decoration:none;
}

.cc2-nav a:hover{
  color:var(--cc2-primary);
}

.cc2-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:0;
}

.cc2-burger{
  display:none;
  border:1px solid var(--cc2-border);
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  font-weight:800;
  cursor:pointer;
}

[hidden]{
  display:none!important;
}

.cc2-mobile{
  display:none!important;
}

.cc2-btn{appearance:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:12px;font-weight:800;font-size:14px;border:1px solid transparent;background:var(--cc2-accent);color:#fff;box-shadow:var(--cc2-shadow-soft);text-decoration:none;transition:transform .06s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.cc2-btn:hover{background:#2563EB;text-decoration:none}
.cc2-btn:active{transform:translateY(1px)}
.cc2-btn--primary{background:var(--cc2-accent);color:#fff}
.cc2-btn--primary:hover{background:#2563EB}
.cc2-btn--ghost{background:transparent;border-color:var(--cc2-border);color:var(--cc2-ink);box-shadow:none}
.cc2-btn--ghost:hover{background:#fff;box-shadow:var(--cc2-shadow-soft)}

.cc2-hero{padding:86px 0 70px;background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFC 100%)}
.cc2-hero__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}
.cc2-hero__cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.cc2-hero__bullets{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.cc2-hero__bullets li{display:flex;gap:10px;align-items:flex-start;color:var(--cc2-muted);font-weight:650}
.cc2-hero__bullets li:before{content:"✓";color:var(--cc2-accent);font-weight:900;margin-top:1px;flex:0 0 auto}

.cc2-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px}
.cc2-category-card{display:block;color:var(--cc2-ink);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.cc2-category-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--cc2-shadow)}
.cc2-category-card h3{margin-bottom:8px;color:var(--cc2-ink)}
.cc2-category-card p{margin:0;color:var(--cc2-muted);font-size:14px}

.cc2-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.cc2-post-card{display:flex;flex-direction:column;gap:10px;color:var(--cc2-ink);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.cc2-post-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--cc2-shadow)}
.cc2-post-card h3{color:var(--cc2-ink)}
.cc2-post-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--cc2-muted);font-size:12px;font-weight:800}
.cc2-card-thumb img{width:100%;height:auto;border-radius:12px;display:block;margin-bottom:10px}
.cc2-pagination{margin-top:28px}

.cc2-article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.cc2-article{max-width:780px;width:100%}
.cc2-article-header{margin-bottom:22px}
.cc2-article-content{font-size:18px;line-height:1.78}
.cc2-article-content h2{margin-top:38px;padding-top:8px}
.cc2-article-content h3{margin-top:28px}
.cc2-article-content ul,.cc2-article-content ol{padding-left:24px}
.cc2-article-content li{margin:8px 0}
.cc2-article-content table{width:100%;border-collapse:collapse;margin:22px 0;font-size:15px}
.cc2-article-content th,.cc2-article-content td{border:1px solid var(--cc2-border);padding:12px;text-align:left;vertical-align:top}
.cc2-article-content th{background:var(--cc2-bg-soft)}
.cc2-featured-img{border-radius:18px;box-shadow:var(--cc2-shadow-soft);margin:18px 0 24px;overflow:hidden}
.cc2-featured-img img{display:block;width:100%;height:auto}

.cc2-toc{margin:20px 0;padding:18px;border:1px solid var(--cc2-border);border-radius:var(--cc2-radius);background:var(--cc2-bg-soft)}
.cc2-toc strong{display:block;margin-bottom:8px}
.cc2-toc ol{margin:0;padding-left:22px}
.cc2-toc a{font-weight:700;color:var(--cc2-primary)}
.cc2-ad-slot{border:1px dashed #CBD5E1;border-radius:14px;background:#F8FAFC;color:#64748B;text-align:center;padding:22px;margin:28px 0;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.cc2-disclaimer{border-left:4px solid var(--cc2-accent);background:#F8FAFC;padding:16px 18px;border-radius:14px;margin:20px 0;color:var(--cc2-muted);font-size:14px}
.cc2-sidebar{position:sticky;top:92px}
.cc2-sidebar .cc2-card+.cc2-card{margin-top:16px}
.cc2-list-links{display:grid;gap:10px;margin-top:10px}
.cc2-list-links a{font-weight:800;color:var(--cc2-ink);text-decoration:none}
.cc2-list-links a:hover{color:var(--cc2-primary)}
.cc2-related{margin-top:44px}

.cc2-page-card,.cc2-legal-card{max-width:920px}
.cc2-page-title{margin-top:10px;letter-spacing:-.02em}
.cc2-legal-card{margin-top:18px;padding:28px}
.cc2-legal-card h3{margin:18px 0 10px;font-size:16px}
.cc2-legal-card h3:first-child{margin-top:0}
.cc2-legal-card p{margin:0 0 14px;color:var(--cc2-muted)}
.cc2-legal-card strong{color:var(--cc2-ink)}
.cc2-legal-list{margin:0 0 16px 18px;padding:0;color:var(--cc2-muted)}
.cc2-legal-list li{margin:8px 0;line-height:1.55}

.cc2-footer{margin-top:auto;border-top:1px solid var(--cc2-border);background:#fff;padding:40px 0}
.cc2-footer__grid{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;align-items:start}
.cc2-footer__logo{margin-bottom:10px}
.cc2-footer a{color:var(--cc2-muted);font-weight:800}
.cc2-footer a:hover{color:var(--cc2-primary);text-decoration:none}
.cc2-footer__links a+a::before{content:" · ";margin:0 10px;opacity:.65}

.cc2-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999}
.cc2-cookie__inner{max-width:var(--cc2-max);margin:0 auto;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px;background:rgba(255,255,255,.96);border:1px solid var(--cc2-border);border-radius:16px;box-shadow:0 18px 60px rgba(15,23,42,.16);backdrop-filter:saturate(160%) blur(10px)}
.cc2-cookie__text{flex:1;min-width:220px}
.cc2-cookie__small{margin-top:4px;font-size:12px;line-height:1.4;color:var(--cc2-muted)}
.cc2-cookie__actions{display:flex;gap:10px;flex:0 0 auto}

@media (max-width:1020px){
  .cc2-article-wrap{grid-template-columns:1fr}
  .cc2-sidebar{display:none}
  .cc2-category-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:900px){
  .cc2-container{padding:0 14px}
  .cc2-section{padding:56px 0}
  .cc2-hero{padding:64px 0 56px}
  .cc2-hero__grid{grid-template-columns:1fr}
  .cc2-nav{display:none}
  .cc2-burger{display:inline-flex}
  .cc2-mobile{border-top:1px solid var(--cc2-border);padding:12px 0;background:rgba(255,255,255,.98);backdrop-filter:saturate(160%) blur(10px)}
  .cc2-mobile.is-open{display:block!important}
  .cc2-mobile a{display:block;padding:10px 0;color:var(--cc2-ink);font-weight:800;text-decoration:none}
  .cc2-mobile__extra{border-top:1px solid var(--cc2-border);margin-top:10px;padding-top:10px;display:grid;gap:8px}
  .cc2-mobile__cta{background:var(--cc2-accent);color:#fff!important;padding:12px 14px;border-radius:12px;text-align:center;font-weight:800}
  .cc2-post-grid{grid-template-columns:1fr}
  .cc2-footer__grid{grid-template-columns:1fr}
  .cc2-cookie__inner{flex-direction:column;align-items:stretch}
  .cc2-cookie__actions .cc2-btn{width:100%}
}

@media (max-width:620px){
  .cc2-category-grid{grid-template-columns:1fr}
  .cc2-legal-card{padding:18px}
}