/*
Theme Name: Contrataciones Públicas Perú (Hijo de Unibiz)
Theme URI: https://contratacionespublicas.org
Description: Tema hijo de Unibiz para Contrataciones Públicas Perú. Conserva estilos y personalizaciones al actualizar el tema padre.
Author: Contrataciones Públicas Perú
Template: unibiz
Version: 1.0.1
Requires at least: 6.5
Text Domain: cpp-child
*/

:root{
  --cpp-navy:#0D182A;
  --cpp-gold:#C9A43A;
  --cpp-gold-dark:#B08A26;
  --cpp-gold-light:#D4AF37;
  --cpp-cream:#F2EDE4;
  --cpp-slate:#485563;
  --cpp-line:#E5E7EB;
}

/* ---------- Header fijo ---------- */
header.wp-block-template-part{
  position:sticky; top:0; z-index:1000; background:#fff;
  transition:box-shadow .25s ease;
}
body.admin-bar header.wp-block-template-part{ top:32px; }
@media (max-width:782px){ body.admin-bar header.wp-block-template-part{ top:46px; } }
@media (max-width:600px){ body.admin-bar header.wp-block-template-part{ top:0; } }
header.wp-block-template-part.cpp-scrolled{ box-shadow:0 6px 24px rgba(13,24,42,.08); }

/* Logo más grande y nítido */
header.wp-block-template-part .guten-image img{ width:250px; max-width:100%; height:auto; }
@media (max-width:1024px){ header.wp-block-template-part .guten-image img{ width:200px; } }
@media (max-width:600px){ header.wp-block-template-part .guten-image img{ width:170px; } }

/* ---------- Footer: tamaños uniformes ---------- */
footer.wp-block-template-part .guten-icon-list .list-text,
footer.wp-block-template-part .guten-icon-list a{ font-size:14px !important; line-height:1.7; }
footer.wp-block-template-part h4{ font-size:16px !important; letter-spacing:.02em; }

/* ---------- Tarjetas de igual altura ---------- */
.guten-container:has(> .guten-column .guten-icon-box){ align-items:stretch; }
.guten-column:has(.guten-icon-box) > .guten-column-wrapper{ height:100%; display:flex; flex-direction:column; }
.guten-column-wrapper > .guten-icon-box{ flex:1 1 auto; }
.guten-icon-box > .guten-icon-box-wrapper{ height:100%; display:flex; flex-direction:column; box-sizing:border-box; }
.guten-icon-box .icon-box-body{ flex:1 1 auto; display:flex; flex-direction:column; }
.guten-icon-box .icon-box-body > .guten-button-wrapper{ margin-top:auto; }

/* ---------- Contenido del blog ---------- */
.single-post .entry-content, .single-post .wp-block-post-content{ font-size:17px; line-height:1.8; }
.wp-block-post-content h2{ scroll-margin-top:120px; }
.wp-block-post-content h3{ scroll-margin-top:120px; }
.cpp-toc{ background:var(--cpp-cream); border-left:4px solid var(--cpp-gold); border-radius:10px; padding:22px 26px; margin:32px 0; }
.cpp-toc strong{ display:block; font-size:15px; letter-spacing:.06em; text-transform:uppercase; color:var(--cpp-navy); margin-bottom:10px; }
.cpp-toc ol{ margin:0; padding-left:20px; }
.cpp-toc li{ margin:6px 0; }
.cpp-toc a{ color:var(--cpp-navy); text-decoration:none; border-bottom:1px dashed rgba(13,24,42,.25); }
.cpp-toc a:hover{ color:var(--cpp-gold-dark); }
.cpp-cta{ background:var(--cpp-navy); color:#fff; border-radius:14px; padding:28px 30px; margin:36px 0; display:flex; gap:20px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.cpp-cta p{ margin:0; color:#fff; max-width:560px; }
.cpp-cta p strong{ color:var(--cpp-gold-light); display:block; font-size:20px; margin-bottom:4px; }
.cpp-cta a.cpp-btn{ background:var(--cpp-gold); color:var(--cpp-navy) !important; font-weight:600; padding:13px 22px; border-radius:8px; text-decoration:none; white-space:nowrap; }
.cpp-cta a.cpp-btn:hover{ background:var(--cpp-gold-light); }
.cpp-note{ background:#fff; border:1px solid var(--cpp-line); border-left:4px solid var(--cpp-navy); border-radius:10px; padding:18px 22px; margin:24px 0; }
.cpp-table{ width:100%; border-collapse:collapse; margin:24px 0; font-size:15px; }
.cpp-table th{ background:var(--cpp-navy); color:#fff; text-align:left; padding:12px; }
.cpp-table td{ border-bottom:1px solid var(--cpp-line); padding:12px; vertical-align:top; }
.cpp-table tr:nth-child(even) td{ background:#FAF8F4; }

/* ---------- Página 404 ---------- */
.cpp-404{ padding:100px 20px 110px; background:#F7F8FA; }
.cpp-404-wrap{ max-width:1170px; margin:0 auto; }
.cpp-404-head{ text-align:center; max-width:720px; margin:0 auto 50px; }
.cpp-404-chip{ display:inline-block; font-family:var(--cpp-h,"Poppins",sans-serif); font-size:13px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--cpp-gold-dark); background:#fff; border:1px solid var(--cpp-line); border-radius:999px; padding:7px 16px; }
.cpp-404 h1{ font-size:36px; line-height:1.25; color:var(--cpp-navy); margin:20px 0 12px; }
.cpp-404-lead{ color:var(--cpp-slate); font-size:17px; margin:0; }
.cpp-404-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.cpp-404-card{ background:#fff; border:1px solid var(--cpp-line); border-radius:10px; padding:40px 30px; box-shadow:0 10px 30px rgba(13,24,42,.07); transition:transform .2s, box-shadow .2s; text-decoration:none !important; color:inherit; display:flex; flex-direction:column; gap:12px; }
.cpp-404-card:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(13,24,42,.12); }
.cpp-404-card .ico{ width:56px; height:56px; border-radius:10px; background:var(--cpp-cream); display:flex; align-items:center; justify-content:center; }
.cpp-404-card .ico svg{ width:28px; height:28px; fill:none; stroke:var(--cpp-gold-dark); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.cpp-404-card h2{ margin:8px 0 0; font-size:20px; line-height:1.3; color:var(--cpp-navy); }
.cpp-404-card p{ margin:0; color:var(--cpp-slate); font-size:15px; line-height:1.65; }
.cpp-404-card .go{ margin-top:auto; padding-top:8px; color:var(--cpp-gold-dark); font-weight:600; font-size:15px; }
.cpp-404-card.primary{ background:var(--cpp-navy); border-color:var(--cpp-navy); }
.cpp-404-card.primary .ico{ background:rgba(255,255,255,.08); }
.cpp-404-card.primary .ico svg{ stroke:var(--cpp-gold-light); }
.cpp-404-card.primary h2{ color:#fff; } .cpp-404-card.primary p{ color:rgba(255,255,255,.78); } .cpp-404-card.primary .go{ color:var(--cpp-gold-light); }
.cpp-404-bottom{ margin-top:60px; text-align:center; }
.cpp-404-search{ display:flex; max-width:560px; margin:0 auto 22px; }
.cpp-404-search input{ flex:1; min-width:0; border:1px solid var(--cpp-line); border-right:0; border-radius:8px 0 0 8px; padding:14px 16px; font-size:15px; background:#fff; }
.cpp-404-search button{ background:var(--cpp-navy); color:#fff; border:0; border-radius:0 8px 8px 0; padding:0 26px; font-weight:600; cursor:pointer; }
.cpp-404-search button:hover{ background:var(--cpp-gold-dark); }
.cpp-404-links{ color:var(--cpp-slate); font-size:15px; margin:0; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 10px; }
.cpp-404-links a{ color:var(--cpp-navy); background:#fff; border:1px solid var(--cpp-line); border-radius:999px; padding:6px 14px; text-decoration:none; font-size:14px; }
.cpp-404-links a:hover{ border-color:var(--cpp-gold); color:var(--cpp-gold-dark); }
.cpp-404 .screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media (max-width:1024px){ .cpp-404-cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .cpp-404{ padding:60px 16px 70px; } .cpp-404-cards{ grid-template-columns:1fr; gap:20px; } .cpp-404 h1{ font-size:26px; } .cpp-404-card{ padding:30px 24px; } }
/* ---------- Tipografía de artículos del blog ---------- */
.single-post .guten-post-content{font-size:17px;line-height:1.8;color:#2A3441}
.single-post .guten-post-content > p{margin:0 0 1.1em}
.single-post .guten-post-content .cpp-lead{font-size:19px;line-height:1.7;color:var(--cpp-navy)}
.single-post .guten-post-content h2{font-size:30px !important;line-height:1.25 !important;margin:1.8em 0 .6em !important;color:var(--cpp-navy)}
.single-post .guten-post-content h3{font-size:21px !important;line-height:1.35 !important;margin:1.4em 0 .4em !important;color:var(--cpp-navy)}
.single-post .guten-post-content ul{list-style:disc;padding-left:1.4em;margin:0 0 1.2em}
.single-post .guten-post-content ol{list-style:decimal;padding-left:1.4em;margin:0 0 1.2em}
.single-post .guten-post-content li{margin:.45em 0}
.single-post .guten-post-content a{color:var(--cpp-gold-dark);text-decoration:underline;text-underline-offset:3px}
.single-post .guten-post-content .cpp-btn{text-decoration:none}
.single-post .guten-post-content .cpp-toc a{color:var(--cpp-navy);text-decoration:none}
@media(max-width:600px){.single-post .guten-post-content h2{font-size:24px !important}.cpp-table{font-size:14px}.cpp-table th,.cpp-table td{padding:9px}}
