/* =========================================================
   CAMPUS LISTO · Guías (blog) y páginas de contenido largo
   ========================================================= */

/* ---------- Listado ---------- */
.g-cats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 34px}
.g-cats a{padding:.55em 1.1em;border-radius:999px;border:1.5px solid var(--c-border);font-weight:700;font-size:.95rem;color:var(--c-carbon);text-decoration:none;background:#fff;transition:border-color .15s,background .15s}
.g-cats a:hover{border-color:var(--c-green)}
.g-cats a.is-on{background:var(--c-carbon);border-color:var(--c-carbon);color:#fff}
.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.g-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(51,48,48,.45)}
.g-card.is-first{grid-column:span 2;flex-direction:row}
.g-card.is-first .g-card-cover{flex:0 0 44%;aspect-ratio:auto;min-height:280px}
.g-card.is-first h2{font-size:clamp(1.4rem,2.2vw,1.8rem)}
.g-card-cover{display:grid;place-items:center;aspect-ratio:16/8;position:relative;overflow:hidden;text-decoration:none;
  background:radial-gradient(120% 120% at 0% 0%,#E6F9F4 0%,#C9F1E8 45%,#9FE3D6 100%)}
.g-card-cover img{width:100%;height:100%;object-fit:cover}
.g-card-cover span{position:relative;z-index:1;font-weight:800;font-size:1.05rem;color:var(--c-carbon);background:rgba(255,255,255,.85);padding:.45em .9em;border-radius:999px;backdrop-filter:blur(4px)}
.g-card-cover::before,.g-card-cover::after{content:"";position:absolute;border-radius:50%}
.g-card-cover::before{width:180px;height:180px;right:-50px;top:-60px;background:rgba(255,255,255,.35)}
.g-card-cover::after{width:90px;height:90px;left:12%;bottom:-30px;border:14px solid rgba(62,196,171,.35)}
.g-cat-precios{background:radial-gradient(120% 120% at 0% 0%,#FFF6E5 0%,#FFE3B0 55%,#FFCF7A 100%)}
.g-cat-plataformas{background:radial-gradient(120% 120% at 0% 0%,#EAF2FF 0%,#C9DCFF 55%,#A3C2FA 100%)}
.g-cat-oposiciones{background:radial-gradient(120% 120% at 0% 0%,#F1ECFF 0%,#DAD0FB 55%,#BFAEF5 100%)}
.g-cat-vender{background:radial-gradient(120% 120% at 0% 0%,#FFEDEE 0%,#FFD1D4 55%,#FBADB3 100%)}
.g-cat-gestion{background:radial-gradient(120% 120% at 0% 0%,#ECF6FB 0%,#CFE9F5 55%,#A8D6EC 100%)}
.g-card-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.g-card-body h2,.g-card-body h3{font-size:1.25rem;line-height:1.3;margin:0}
.g-card-body h2 a,.g-card-body h3 a{color:var(--c-carbon);text-decoration:none}
.g-card-body h2 a:hover,.g-card-body h3 a:hover{color:var(--c-green-text)}
.g-card-body p{margin:0;color:var(--c-muted)}
.g-meta{font-size:.88rem;font-weight:600}
.g-meta span{color:var(--c-green-text);font-weight:800}
.g-more{margin-top:auto;padding-top:8px;font-weight:800;color:var(--c-green-text);text-decoration:none}
.g-more:hover{text-decoration:underline}
.g-grid-3 .g-card-cover{aspect-ratio:16/7}

/* ---------- Guía ---------- */
.g-head{background:linear-gradient(180deg,#EAFBF6 0%,#fff 100%);padding:44px 0 34px}
.g-head h1{font-size:clamp(2rem,4.4vw,3rem);line-height:1.12;margin:.25em 0 .5em}
.g-byline{display:flex;align-items:center;gap:14px;font-size:.98rem;color:var(--c-carbon)}
.g-byline a{color:inherit}
.g-byline small{color:var(--c-muted)}
.g-avatar{flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--c-carbon);color:#fff;font-weight:800;letter-spacing:.02em;box-shadow:inset 0 -4px 0 var(--c-green)}
.g-avatar-lg{width:64px;height:64px;font-size:1.2rem}
.g-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:56px;padding-top:20px;padding-bottom:70px;max-width:1160px}
.g-side{position:relative}
.g-toc,.g-side-cta{position:sticky;top:100px}
.g-toc{border-left:3px solid var(--c-border);padding:4px 0 4px 18px;margin-bottom:24px}
.g-toc-t{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--c-muted);margin:0 0 10px}
.g-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:t}
.g-toc li{counter-increment:t;font-size:.93rem;line-height:1.35}
.g-toc a{color:var(--c-carbon);text-decoration:none;display:block}
.g-toc a:hover,.g-toc a.is-on{color:var(--c-green-text)}
.g-toc a.is-on{font-weight:800}
.g-side-cta{top:auto;position:relative;background:var(--c-carbon);color:#fff;border-radius:18px;padding:20px}
.g-side-cta p{margin:0 0 14px;font-size:.95rem;color:rgba(255,255,255,.85)}
.g-side-cta b{display:block;color:#fff;font-size:1.05rem;margin-bottom:4px}
.btn-block{display:block;width:100%;text-align:center}

.g-content{font-size:1.1rem;line-height:1.75;color:#3a3737}
.g-content > *:first-child{margin-top:0}
.g-content h2{font-size:clamp(1.5rem,2.8vw,1.95rem);line-height:1.22;margin:2em 0 .6em;scroll-margin-top:100px;color:var(--c-carbon)}
.g-content h3{font-size:1.28rem;margin:1.6em 0 .5em;color:var(--c-carbon)}
.g-content p{margin:0 0 1.1em}
.g-content ul,.g-content ol{margin:0 0 1.3em;padding-left:1.3em}
.g-content li{margin:.45em 0}
.g-content li::marker{color:var(--c-green-text);font-weight:800}
.g-content a{color:var(--c-green-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.g-content strong{color:var(--c-carbon)}
.g-content blockquote{margin:1.6em 0;padding:.4em 0 .4em 1.2em;border-left:4px solid var(--c-green);font-size:1.15rem;color:var(--c-carbon);font-weight:600}
.g-content table{width:100%;border-collapse:collapse;margin:1.4em 0 1.8em;font-size:.97rem;line-height:1.5;display:block;overflow-x:auto}
.g-content thead th{background:var(--c-carbon);color:#fff;text-align:left;padding:.75em 1em;font-weight:700}
.g-content thead th:first-child{border-radius:12px 0 0 0}.g-content thead th:last-child{border-radius:0 12px 0 0}
.g-content td{padding:.75em 1em;border-bottom:1px solid var(--c-border);vertical-align:top}
.g-content tbody tr:nth-child(even) td{background:#F7FBFA}
.g-content td:first-child{font-weight:700;color:var(--c-carbon)}
.g-content img{max-width:100%;height:auto;border-radius:14px}
.g-content hr{border:0;border-top:1px solid var(--c-border);margin:2.4em 0}

/* Bloques especiales */
.g-key{background:var(--c-green-soft);border:1px solid #c9eee6;border-radius:16px;padding:1.1em 1.3em;font-size:1.08rem}
.g-box{background:#F6F8F8;border-radius:16px;padding:1em 1.3em;margin:1.4em 0}
.g-box p:last-child{margin:0}
.g-tip{background:#EEF8FF;border-left:5px solid #4F9CF0}
.g-warn{background:#FFF6E8;border-left:5px solid #F2A541}
.g-cta{background:linear-gradient(115deg,#3EC4AB 0%,#7FDDE6 100%);border-radius:20px;padding:1.4em 1.6em;margin:2.4em 0 1em;color:var(--c-carbon)}
.g-cta p{margin:0 0 .6em}
.g-cta p:last-child{margin:0}
.g-cta a{display:inline-block;background:var(--c-carbon);color:#fff !important;text-decoration:none !important;padding:.75em 1.4em;border-radius:999px;font-weight:800;transition:transform .15s}
.g-cta a:hover{transform:translateY(-2px)}

.g-faq{margin-top:3em}
.g-faq h2{font-size:1.7rem;margin-bottom:.8em}
.g-author{display:flex;gap:18px;align-items:flex-start;margin-top:3em;padding:1.4em;border:1px solid var(--c-border);border-radius:20px;background:#fff}
.g-author p{margin:0 0 .5em;color:var(--c-muted)}
.g-author-n{font-weight:800;color:var(--c-carbon) !important;font-size:1.1rem}
.g-author a{color:var(--c-green-text);font-weight:700}

/* ---------- Páginas de servicio (contenido largo) ---------- */
.lp-prose{font-size:1.08rem;line-height:1.75}
.lp-prose h2{margin-top:1.6em}
.lp-prose p,.lp-prose li{color:#3a3737}
.lp-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lp-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius);padding:26px 24px}
.lp-card h3{margin:.4em 0 .4em;font-size:1.2rem}
.lp-card p{margin:0;color:var(--c-muted)}
.lp-card.is-us{border:2px solid var(--c-green);box-shadow:0 22px 44px -28px rgba(47,174,151,.6)}
.lp-card .lp-badge{display:inline-block;font-size:.78rem;font-weight:800;background:var(--c-green);color:#fff;padding:.3em .8em;border-radius:999px}
.lp-card ul{margin:.8em 0 0;padding-left:1.1em;color:var(--c-muted)}
.lp-card li{margin:.3em 0}
.lp-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0}
.lp-facts div{background:#fff;border:1px solid var(--c-border);border-radius:18px;padding:18px 20px}
.lp-facts dt{font-size:.85rem;font-weight:700;color:var(--c-muted);margin-bottom:4px}
.lp-facts dd{margin:0;font-weight:800;font-size:1.15rem;color:var(--c-carbon)}
.lp-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lp-links a{display:block;padding:16px 18px;border:1px solid var(--c-border);border-radius:16px;background:#fff;color:var(--c-carbon);font-weight:700;text-decoration:none;transition:border-color .15s,transform .15s}
.lp-links a:hover{border-color:var(--c-green);transform:translateY(-2px)}
.lp-links small{display:block;font-weight:500;color:var(--c-muted);margin-top:3px}
.lp-table{width:100%;border-collapse:collapse;font-size:1rem;background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--c-border)}
.lp-table th,.lp-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--c-border);vertical-align:top}
.lp-table thead th{background:var(--c-carbon);color:#fff}
.lp-table thead th.is-us{background:var(--c-green)}
.lp-table td.is-us{background:#F1FBF8;font-weight:700}
.lp-table-wrap{overflow-x:auto}

@media (max-width:1000px){
  .g-grid{grid-template-columns:repeat(2,1fr)}
  .g-layout{grid-template-columns:1fr;gap:10px}
  .g-side-cta{display:none}
  .g-toc{position:static}
  .lp-cols,.lp-links{grid-template-columns:1fr 1fr}
  .lp-facts{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .g-grid,.lp-cols,.lp-links{grid-template-columns:1fr}
  .g-card.is-first{grid-column:auto;flex-direction:column}
  .g-card.is-first .g-card-cover{min-height:0;aspect-ratio:16/8}
  .g-content{font-size:1.04rem}
  .g-author{flex-direction:column}
}
.g-content ul,.lp-prose ul{list-style:disc}
.g-content ol,.lp-prose ol{list-style:decimal}
.g-content ul,.g-content ol,.lp-prose ul,.lp-prose ol{padding-left:1.4em}
.lp-prose li{margin:.45em 0}
.lp-prose li::marker{color:var(--c-green-text);font-weight:800}
.lp-prose a{color:var(--c-green-text);font-weight:600}
.lp-card ul{list-style:disc}.lp-card li::marker{color:var(--c-green-text)}
.g-card .g-card-cover span{color:var(--c-carbon)!important;background:rgba(255,255,255,.88)!important;font-size:1.02rem}
