/*
Theme Name: Javier Ripoll Editorial
Author: Javier Ripoll
Description: Tema editorial ligero para un blog de ciberseguridad.
Version: 1.1.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: jre
License: GPL-2.0-or-later
*/
:root{--ink:#102b34;--muted:#586d72;--accent:#087e80;--accent-dark:#075c60;--paper:#f5f7f4;--surface:#fff;--line:#dce5e2;--radius:18px;--content:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--accent-dark);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent)}img{max-width:100%;height:auto}button,input{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 40px),var(--content));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:10px;background:white;padding:10px;z-index:99}.skip-link:focus{left:10px}.site-header{background:var(--surface);border-bottom:1px solid var(--line);position:relative;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:88px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:800;font-size:1.25rem;letter-spacing:-.04em;line-height:1.15}.brand-mark{display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:12px;width:43px;height:43px;font-size:1rem;letter-spacing:-.06em}.brand img{max-height:62px;width:auto}.brand small{display:block;color:var(--muted);font-size:.69rem;font-weight:500;letter-spacing:0;margin-top:3px}.primary-nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}.primary-nav a{text-decoration:none;color:var(--ink);font-size:.9rem;font-weight:650}.primary-nav a:hover,.primary-nav .current-menu-item>a{color:var(--accent)}.menu-toggle{display:none;border:1px solid var(--line);background:white;color:var(--ink);padding:9px 13px;border-radius:9px}.hero{padding:74px 0 55px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:var(--accent-dark)}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:54px;align-items:center}.hero h1{font-size:clamp(2.7rem,5.7vw,5.4rem);line-height:1.06;letter-spacing:-.065em;margin:16px 0 23px}.hero p{max-width:610px;color:var(--muted);font-size:1.1rem;margin:0 0 30px}.button{display:inline-block;text-decoration:none;background:var(--accent-dark);color:#fff;padding:12px 21px;border-radius:9px;font-size:.9rem;font-weight:750}.button:hover{color:#fff;background:var(--ink)}.hero-art{min-height:315px;border-radius:var(--radius);background:radial-gradient(circle at 76% 27%,#42c7b46c,transparent 28%),linear-gradient(135deg,#102b34,#16484d 70%,#087e80);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#d4f5ed}.hero-art:before,.hero-art:after{content:"";position:absolute;border:1px solid #8ae4d346;border-radius:50%;width:310px;height:310px}.hero-art:after{width:215px;height:215px}.hero-art span{font-size:clamp(3rem,7vw,6rem);font-weight:800;letter-spacing:-.12em;z-index:1}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:32px 0 22px}.section-heading h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2;letter-spacing:-.045em;margin:6px 0 0}.section-heading a{font-size:.88rem;font-weight:700}.featured{display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:48px}.featured-media,.card-media{background:#dbe9e5;display:block;overflow:hidden}.featured-media{min-height:350px}.featured-media img,.card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.featured-media:hover img,.card-media:hover img{transform:scale(1.04)}.featured-body{padding:clamp(24px,4vw,52px);align-self:center}.meta{color:var(--accent-dark);font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.featured h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.17;letter-spacing:-.045em;margin:15px 0}.featured h2 a,.card h3 a{color:var(--ink);text-decoration:none}.featured h2 a:hover,.card h3 a:hover{color:var(--accent-dark)}.featured p,.card p{color:var(--muted);margin:0 0 18px}.read-more{font-weight:750;font-size:.9rem}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:58px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}.card-media{aspect-ratio:1.65}.image-placeholder{height:100%;min-height:170px;display:grid;place-items:center;background:linear-gradient(135deg,#d9eae4,#b4d5cc);color:#19525a;font-weight:800;font-size:2.5rem;letter-spacing:-.1em}.card-body{padding:23px}.card h3{line-height:1.25;letter-spacing:-.03em;font-size:1.3rem;margin:11px 0}.card p{font-size:.9rem;line-height:1.6}.archive-intro{padding:56px 0 18px}.archive-intro h1,.article-header h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.1;letter-spacing:-.055em;margin:10px 0 18px}.archive-intro p{color:var(--muted);max-width:700px}.article-wrap{max-width:780px;margin:0 auto;padding:65px 20px 90px}.article-header{text-align:center;margin-bottom:35px}.article-header .byline{color:var(--muted);font-size:.9rem}.article-image{margin:0 0 38px}.article-image img{border-radius:var(--radius);width:100%}.article-content{overflow-wrap:anywhere}.article-content>:first-child{margin-top:0}.article-content p{margin:0 0 1.4em}.article-content h2,.article-content h3{line-height:1.2;letter-spacing:-.035em;margin:1.7em 0 .6em}.article-content h2{font-size:1.75rem}.article-content h3{font-size:1.35rem}.article-content blockquote{border-left:4px solid var(--accent);margin:2em 0;padding:.3em 1.3em;background:#eaf3f0}.article-content pre,.article-content .wp-block-code{overflow-x:auto}.article-content table{display:block;overflow-x:auto}.article-content img{border-radius:10px}.article-content a{overflow-wrap:anywhere}.post-tags{margin-top:35px;font-size:.85rem}.post-nav,.pagination{display:flex;justify-content:space-between;gap:16px;margin:35px 0;flex-wrap:wrap}.pagination .page-numbers{padding:6px 11px}.pagination .current{background:var(--ink);color:white;border-radius:6px}.comments-area{border-top:1px solid var(--line);padding-top:22px}.comments-area input:not([type=checkbox]),.comments-area textarea,.search-form input{max-width:100%;width:100%;border:1px solid #b8c9c5;border-radius:7px;padding:10px;background:white}.comments-area textarea{min-height:120px}.comments-area input[type=submit],.search-form button{border:0;background:var(--accent-dark);color:white;border-radius:7px;padding:10px 17px}.search-form{display:flex;gap:8px;max-width:500px}.search-form label{flex:1}.site-footer{background:var(--ink);color:#d9e8e5;padding:48px 0 26px;margin-top:35px}.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.site-footer a{color:#d9e8e5}.site-footer p{max-width:440px;font-size:.9rem}.footer-bottom{border-top:1px solid #ffffff2b;margin-top:36px;padding-top:18px;font-size:.8rem;color:#b3cac6}.footer-nav ul{list-style:none;padding:0;margin:0;display:flex;gap:18px;flex-wrap:wrap}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}*:focus-visible{outline:3px solid #de9c35;outline-offset:3px}@media(max-width:850px){.hero-grid,.featured{grid-template-columns:1fr}.hero-art{min-height:230px}.featured-media{min-height:260px}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 12px 20px #102b3420;padding:14px 20px}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav li{padding:8px 0}}@media(max-width:580px){body{font-size:16px}.container{width:min(calc(100% - 30px),var(--content))}.header-inner{min-height:72px}.hero{padding:48px 0 20px}.hero-grid{gap:30px}.post-grid{grid-template-columns:1fr}.section-heading{align-items:start}.featured-media{min-height:210px}.article-wrap{padding-top:42px}.footer-grid{display:block}}
