/*
Theme Name: Paraguay Virtual Noticias 2026
Theme URI: https://paraguayvirtual.com
Author: Paraguay Virtual
Description: Tema de noticias moderno (estilo editorial New Yorker / CNN) para Paraguay Virtual Noticias. Diseño responsive con TailwindCSS, menú vertical en móvil, modo oscuro, botón flotante de WhatsApp, aviso de cookies y buscador. Mantiene la identidad de marca (azul marino, rojo y amarillo).
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: paraguay-virtual
*/

/* Tailwind se carga por CDN (ver functions.php). Aquí van los estilos propios
   que no conviene resolver con clases utilitarias. */

:root{ --pvn-navy:#021A56; --pvn-red:#FF0013; --pvn-yellow:#FFF200; }

/* ---- animaciones ---- */
@keyframes pvn-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pvn-marquee{animation:pvn-scroll 36s linear infinite}
.pvn-marquee:hover{animation-play-state:paused}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* ---- menú principal (escritorio) ---- */
.pvn-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:1.5rem;overflow-x:auto}
.pvn-nav a{display:block;color:#fff;font-size:13.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:14px 0;white-space:nowrap;transition:color .2s}
.pvn-nav a:hover,.pvn-nav .current-menu-item>a,.pvn-nav .current_page_item>a,.pvn-nav .current-cat>a{color:#FFF200}

/* ---- menú móvil (drawer) ---- */
.pvn-drawer-nav ul{list-style:none;margin:0;padding:0}
.pvn-drawer-nav a{display:block;padding:.75rem 0;font-size:1.125rem;font-weight:500;border-bottom:1px solid rgba(0,0,0,.1)}
.dark .pvn-drawer-nav a{border-color:rgba(255,255,255,.1)}
.pvn-drawer-nav a:hover{color:#FF0013}

/* ---- cuerpo de artículos y páginas ---- */
.article-body{font-family:'Source Serif 4',Georgia,serif;font-size:19px;line-height:1.8;color:#2a2a26}
.dark .article-body{color:rgba(255,255,255,.82)}
.article-body h2{font-family:'Fraunces',serif;font-weight:700;font-size:1.7rem;line-height:1.2;margin:2.2rem 0 .8rem;color:#021A56}
.dark .article-body h2{color:#fff}
.article-body h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.3rem;margin:1.6rem 0 .5rem;color:#021A56}
.dark .article-body h3{color:#fff}
.article-body p{margin:0 0 1.15rem}
.article-body ul,.article-body ol{margin:0 0 1.15rem 1.3rem}
.article-body ul{list-style:disc}.article-body ol{list-style:decimal}
.article-body li{margin-bottom:.55rem}
.article-body a{color:#021A56;text-decoration:underline;text-underline-offset:2px}
.dark .article-body a{color:#9db4ff}
.article-body blockquote{border-left:4px solid #FF0013;padding:.2rem 0 .2rem 1.1rem;font-style:italic;color:#021A56;margin:1.6rem 0}
.dark .article-body blockquote{color:#cdd6f5}
.article-body b,.article-body strong{color:#021A56;font-weight:600}
.dark .article-body b,.dark .article-body strong{color:#fff}
.article-body img{border-radius:12px;margin:1rem 0}
.article-body figcaption,.wp-caption-text{font-family:Inter,sans-serif;font-size:.8rem;color:#8b8b84;margin-top:.4rem}

/* ---- widgets básicos ---- */
.pvn-widget-title{font-family:'Fraunces',serif;font-weight:700;font-size:1.05rem;color:#021A56;border-left:5px solid #FF0013;padding-left:.75rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.02em}
.dark .pvn-widget-title{color:#fff}

/* ---- paginación ---- */
.pvn-pagination{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin:2.5rem 0}
.pvn-pagination .page-numbers{display:inline-block;padding:.5rem .9rem;border:1px solid rgba(2,26,86,.2);border-radius:8px;font-weight:600;color:#021A56;text-decoration:none}
.dark .pvn-pagination .page-numbers{color:#fff;border-color:rgba(255,255,255,.25)}
.pvn-pagination .page-numbers.current{background:#021A56;color:#fff;border-color:#021A56}

/* ---- comentarios ---- */
.comment-list{list-style:none;padding:0}
.comment-body{border-bottom:1px solid rgba(0,0,0,.1);padding:1rem 0}
.dark .comment-body{border-color:rgba(255,255,255,.1)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form textarea{width:100%;border:1px solid rgba(0,0,0,.15);border-radius:10px;padding:.7rem .9rem;margin-bottom:.75rem;font-family:Inter,sans-serif;background:#fff}
.dark .comment-form input,.dark .comment-form textarea{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2);color:#fff}
.comment-form .submit{background:#FF0013;color:#fff;border:0;border-radius:9999px;padding:.7rem 1.6rem;font-weight:700;cursor:pointer}

.screen-reader-text{position:absolute;left:-9999px}

/* ============================================================
   FULL-WIDTH + GUTENBERG (bloques del editor)
   ============================================================ */

/* Ancho del contenido de páginas: texto cómodo (820px),
   "Ancho amplio" = 1280px, "Ancho completo" = pantalla completa. */
.entry-content{max-width:820px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.entry-content > *{max-width:100%}
.entry-content > .alignwide,.article-body > .alignwide{max-width:1280px;width:auto;margin-left:auto;margin-right:auto}
.entry-content > .alignfull,.article-body > .alignfull{max-width:100vw;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:0;padding-right:0}
.entry-content > .alignfull > img,.entry-content .alignfull > .wp-block-cover{border-radius:0}
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.alignleft{float:left;margin:.4rem 1.4rem 1rem 0}
.alignright{float:right;margin:.4rem 0 1rem 1.4rem}

/* Botones de Gutenberg (rojo → azul al pasar, redondeados) */
.wp-block-button__link{background:#FF0013;color:#fff;border-radius:9999px;font-family:Inter,sans-serif;font-weight:700;padding:.7rem 1.7rem;text-decoration:none}
.wp-block-button__link:hover{background:#021A56;color:#fff}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:#021A56;box-shadow:inset 0 0 0 2px #021A56}
.dark .wp-block-button.is-style-outline .wp-block-button__link{color:#fff;box-shadow:inset 0 0 0 2px #fff}

/* Cover / grupos / columnas */
.wp-block-cover{border-radius:18px;overflow:hidden;min-height:340px}
.entry-content .wp-block-cover.alignfull{border-radius:0}
.wp-block-columns{gap:2rem}
.wp-block-group.has-background{padding:clamp(1.5rem,4vw,3rem);border-radius:18px}

/* Tablas, separadores, imágenes, citas destacadas */
.wp-block-table table{width:100%;border-collapse:collapse;font-family:Inter,sans-serif;font-size:15px}
.wp-block-table td,.wp-block-table th{border:1px solid rgba(2,26,86,.15);padding:.6rem .8rem}
.wp-block-table th{background:#021A56;color:#fff}
.wp-block-separator{border-color:#FF0013;opacity:.5;max-width:80px}
.wp-block-image img{border-radius:12px}
.wp-block-pullquote{border-top:3px solid #FF0013;border-bottom:3px solid #FF0013;color:#021A56}
.dark .wp-block-pullquote{color:#fff}

/* ============================================================
   CONTENEDOR CENTRADO
   El sitio es full-width por defecto (el <div id="content"> no
   limita el ancho). Cada plantilla centra su contenido con esta
   clase, dejando un ancho cómodo de 1280px. Así los bloques de
   Gutenberg con "Ancho completo" pueden llegar al borde real.
   ============================================================ */
.pvn-container{max-width:1280px;margin-inline:auto;padding-inline:20px}

/* ============================================================
   PORTADA (HOMEPAGE) — layout con CSS Grid + Flexbox
   ------------------------------------------------------------
   Estructura pedida:
   ┌───────────────────────────┬───────────────┐
   │ COLUMNA PRINCIPAL (izq)    │ COLUMNA (der) │
   │  · Destacada grande        │  ┌─────────┐  │
   │  · Recientes (2 columnas)  │  │ Sección1│  │
   │                            │  ├─────────┤  │
   │                            │  │ Sección2│  │
   │                            │  └─────────┘  │
   └───────────────────────────┴───────────────┘
   ============================================================ */

/* Split principal: en escritorio 2fr (izquierda) / 1fr (derecha). */
.pvn-home__grid{display:grid;grid-template-columns:1fr;gap:2.75rem}
@media (min-width:1024px){ .pvn-home__grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)} }

/* --- Columna principal (izquierda) --- */
.pvn-home__main{min-width:0}

/* Noticia destacada grande */
.pvn-featured__figure{display:block;overflow:hidden;border-radius:1rem}
.pvn-featured__figure img{width:100%;height:clamp(260px,38vw,460px);object-fit:cover;transition:transform .9s ease}
.pvn-featured:hover .pvn-featured__figure img{transform:scale(1.03)}
.pvn-featured__title{font-family:'Fraunces',serif;font-weight:900;letter-spacing:-.01em;line-height:1.04;font-size:clamp(1.9rem,3.4vw,3rem);margin:.6rem 0}
.pvn-featured__excerpt{font-family:'Source Serif 4',Georgia,serif;font-size:1.125rem;color:rgba(0,0,0,.7);max-width:60ch}
.dark .pvn-featured__excerpt{color:rgba(255,255,255,.72)}

/* Lista de recientes en 2 columnas */
.pvn-recent{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,.1)}
.dark .pvn-recent{border-color:rgba(255,255,255,.1)}
@media (min-width:640px){ .pvn-recent{grid-template-columns:1fr 1fr} }

/* --- Columna derecha (aside), dos secciones apiladas --- */
.pvn-home__aside{display:flex;flex-direction:column;gap:2.5rem}
@media (min-width:1024px){ .pvn-home__aside{border-left:1px solid rgba(0,0,0,.1);padding-left:2.5rem} .dark .pvn-home__aside{border-color:rgba(255,255,255,.1)} }

.pvn-box__title{display:flex;align-items:center;gap:.5rem;font-family:'Fraunces',serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:#021A56;border-bottom:2px solid #021A56;padding-bottom:.5rem;margin-bottom:.25rem}
.dark .pvn-box__title{color:#fff;border-color:rgba(255,255,255,.4)}
.pvn-box__title::before{content:"";width:.5rem;height:.5rem;border-radius:9999px;background:#FF0013}

/* Ítems de lista (Lo último / Más leídas) */
.pvn-list__item{display:flex;gap:.9rem;padding:.9rem 0;border-bottom:1px solid rgba(0,0,0,.1)}
.dark .pvn-list__item{border-color:rgba(255,255,255,.1)}
.pvn-list__item:last-child{border-bottom:0}
.pvn-list__num{flex:0 0 auto;font-family:'Fraunces',serif;font-weight:900;font-size:1.5rem;line-height:1;color:#FF0013;min-width:1.4rem}
.pvn-list__time{flex:0 0 auto;width:3rem;font-size:.72rem;font-weight:700;color:#FF0013;font-variant-numeric:tabular-nums}
.pvn-list__title{font-family:'Source Serif 4',Georgia,serif;font-size:.95rem;line-height:1.25}
.pvn-list__item a:hover .pvn-list__title{color:#021A56}
.dark .pvn-list__item a:hover .pvn-list__title{color:#fff}

/* Encabezado de sección (barra roja + "ver todo") */
.pvn-sec-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid #021A56;padding-bottom:.5rem;margin-bottom:1.5rem}
.dark .pvn-sec-head{border-color:rgba(255,255,255,.4)}
.pvn-sec-head h2{display:flex;align-items:center;gap:.75rem;font-family:'Fraunces',serif;font-weight:900;font-size:1.5rem;color:#021A56}
.dark .pvn-sec-head h2{color:#fff}
.pvn-sec-head h2::before{content:"";display:inline-block;width:.375rem;height:1.5rem;border-radius:2px;background:#FF0013}
.pvn-sec-head .more{font-size:.85rem;font-weight:700;color:#FF0013}
.pvn-sec-head .more:hover{text-decoration:underline}

/* Grilla estándar de tarjetas por sección */
.pvn-cards{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width:640px){ .pvn-cards{grid-template-columns:1fr 1fr} }
@media (min-width:1024px){ .pvn-cards{grid-template-columns:1fr 1fr 1fr} }

/* ============================================================
   WIDGETS DEL PIE DE PÁGINA (Apariencia → Widgets)
   Estilo para que cualquier widget (menú, lista, HTML) se vea
   bien sobre el fondo azul oscuro del pie.
   ============================================================ */
.pvn-footer-col .pvn-fwidget{margin-bottom:1.5rem}
.pvn-footer-col .pvn-fwidget:last-child{margin-bottom:0}
.pvn-fwidget-title,.pvn-footer-col .widget-title,.pvn-footer-col .widgettitle{
	color:#fff;font-family:'Fraunces',serif;font-weight:600;font-size:.875rem;
	text-transform:uppercase;letter-spacing:.06em;margin:0 0 1rem
}
.pvn-footer-col ul{list-style:none;margin:0;padding:0}
.pvn-footer-col li{margin-bottom:.6rem;font-size:.9rem}
.pvn-footer-col a{color:rgba(255,255,255,.7);transition:color .2s}
.pvn-footer-col a:hover{color:#fff}
.pvn-footer-col p{color:rgba(255,255,255,.6);font-size:.9rem}
