/* Cómo Hacer — main stylesheet.
   Above-the-fold tokens + header + hero live in critical.css (inlined). */

:root{
	--wrap:1140px;--content:720px;--gap:clamp(1rem,3vw,2rem);
	--fg:#17201c;--bg:#fbfaf7;--surface:#fff;--muted:#57605a;
	--brand:#0c5c46;--brand-ink:#0a4a38;--brand-tint:#e7f1ec;
	--line:#e4e6e1;--radius:14px;--header-h:66px;
	--shadow-sm:0 1px 2px rgba(20,30,25,.05),0 6px 16px -10px rgba(20,30,25,.18);
	--shadow-lg:0 24px 60px -28px rgba(20,30,25,.4);
	--ease:cubic-bezier(.22,1,.36,1);
	--z-nav:50;--z-sticky:60;--z-panel:70;--z-modal:90;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
	--fg:#e8ebe6;--bg:#12150f;--surface:#191d16;--muted:#a1a99f;
	--brand:#3fb08d;--brand-ink:#63c6a6;--brand-tint:#17251f;--line:#2b3128;
	--shadow-sm:0 1px 2px rgba(0,0,0,.4),0 6px 16px -10px rgba(0,0,0,.5);
	--shadow-lg:0 24px 60px -28px rgba(0,0,0,.7);
}}
:root[data-theme="dark"]{
	--fg:#e8ebe6;--bg:#12150f;--surface:#191d16;--muted:#a1a99f;
	--brand:#3fb08d;--brand-ink:#63c6a6;--brand-tint:#17251f;--line:#2b3128;
	--shadow-sm:0 1px 2px rgba(0,0,0,.4),0 6px 16px -10px rgba(0,0,0,.5);
	--shadow-lg:0 24px 60px -28px rgba(0,0,0,.7);
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
	font:400 1.05rem/1.68 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{line-height:1.18;font-weight:800;letter-spacing:-.02em;text-wrap:balance;color:var(--fg)}
h1{font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 .7rem}
h2{font-size:clamp(1.4rem,3vw,1.85rem);margin:2.6rem 0 .8rem}
h3{font-size:1.22rem;margin:1.8rem 0 .5rem;letter-spacing:-.01em}
p,ul,ol,blockquote,figure,table,pre{margin:0 0 1.2rem}
.entry-content p{text-wrap:pretty}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand-ink);text-underline-offset:.16em}
a:hover{color:var(--brand)}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}
hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
strong{font-weight:700}
code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
pre{background:var(--surface);border:1px solid var(--line);padding:1rem 1.15rem;border-radius:12px;overflow:auto}
:not(pre)>code{background:var(--brand-tint);padding:.12em .4em;border-radius:5px}
blockquote{padding:.4rem 0 .4rem 1.2rem;border-left:3px solid var(--brand);color:var(--muted);font-style:italic}
table{border-collapse:collapse;width:100%;font-size:.96rem}
th,td{border:1px solid var(--line);padding:.55rem .75rem;text-align:left}
thead th{background:var(--brand-tint)}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gap)}

/* ---------- buttons ---------- */
.button,.search-submit{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
	padding:.7rem 1.2rem;border:1px solid var(--brand);border-radius:10px;background:var(--brand);color:#fff;
	font:inherit;font-weight:700;line-height:1;cursor:pointer;text-decoration:none;transition:background .18s,transform .18s var(--ease)}
.button:hover,.search-submit:hover{background:var(--brand-ink);color:#fff;transform:translateY(-1px)}
.button--ghost{background:transparent;color:var(--brand-ink)}
.button--ghost:hover{background:var(--brand-tint);color:var(--brand-ink);transform:translateY(-1px)}

/* ---------- search form ---------- */
.search-form{display:flex;gap:.5rem;width:100%}
.hero .search-form{max-width:440px}
.search-field{flex:1 1 0;min-width:0;padding:.75rem .95rem;border:1px solid var(--line);border-radius:10px;
	background:var(--surface);color:var(--fg);font:inherit;font-size:1rem}
.search-field::placeholder{color:var(--muted)}
.search-field:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-tint)}
.search-submit{flex-shrink:0}

/* ---------- layout ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,5vw,3rem);padding-block:clamp(1.75rem,5vw,3.25rem)}
.content-area{min-width:0}
@media (min-width:1001px){
	.layout:has(.sidebar){grid-template-columns:minmax(0,1fr) 288px;gap:3.25rem}
}

/* ---------- breadcrumbs ---------- */
.breadcrumbs,.rank-math-breadcrumb{font-size:.86rem;color:var(--muted);margin-bottom:1.4rem;letter-spacing:.01em}
.breadcrumbs a,.rank-math-breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumbs a:hover,.rank-math-breadcrumb a:hover{color:var(--brand);text-decoration:underline}
.breadcrumbs .separator,.rank-math-breadcrumb .separator{margin:0 .4rem;opacity:.5}

/* ---------- home: featured guide ---------- */
.home{padding-block:clamp(2rem,5vw,3.5rem)}
.feature{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
	overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);
	transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.feature__media{display:block;overflow:hidden;background:var(--brand);aspect-ratio:16/9}
.feature__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.feature:hover .feature__media img{transform:scale(1.02)}
.feature__body{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;
	padding:clamp(1.4rem,3.5vw,2.2rem) clamp(1.4rem,3.5vw,2.2rem) clamp(1.6rem,4vw,2.4rem)}
.feature__tag{font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--brand-ink);
	background:var(--brand-tint);padding:.32rem .65rem;border-radius:999px}
.feature__title{font-size:clamp(1.4rem,2.8vw,2.1rem);font-weight:800;line-height:1.14;letter-spacing:-.025em;color:var(--fg);text-wrap:balance}
.feature:hover .feature__title{color:var(--brand-ink)}
.feature__excerpt{color:var(--muted);font-size:clamp(.98rem,3.5vw,1.02rem);max-width:62ch}
.feature__meta{padding-top:.35rem;color:var(--muted);font-size:.82rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.feature__meta>*+*::before{content:"·";margin-right:.5rem;opacity:.55}
@media (min-width:860px){
	.feature{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch}
	.feature__media{aspect-ratio:auto;height:100%}
	.feature__body{justify-content:center}
}

/* ---------- cards ---------- */
.section-title{font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
	font-weight:700;margin:clamp(2rem,5vw,2.8rem) 0 1.2rem;display:flex;align-items:center;gap:.8rem}
.section-title::after{content:"";flex:1;height:1px;background:var(--line)}
.card-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.1rem,3vw,1.7rem)}
@media (min-width:560px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
@media (min-width:900px){.home-guides .card-grid{grid-template-columns:1fr 1fr}}
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);
	border-radius:var(--radius);overflow:hidden;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:transparent}
.card__media{display:block;overflow:hidden;background:var(--brand);aspect-ratio:16/9}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}
.card:hover .card__media img{transform:scale(1.04)}
.card__body{padding:1.1rem 1.15rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.card__title{font-size:1.08rem;font-weight:700;line-height:1.28;letter-spacing:-.01em;margin:0}
.card__title a{color:var(--fg);text-decoration:none}
.card:hover .card__title a{color:var(--brand-ink)}
.card__excerpt{color:var(--muted);font-size:.93rem;margin:0;flex:1}
.card__meta{color:var(--muted);font-size:.8rem;margin:0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.card__meta>*+*::before{content:"·";margin-right:.5rem;opacity:.55}

/* ---------- home: about (soft callout — the saturated green is saved for the footer) ---------- */
.home-about{margin:clamp(3rem,7vw,5rem) 0 1rem;padding:clamp(1.6rem,4vw,2.6rem);
	background:var(--brand-tint);border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);
	border-radius:var(--radius);position:relative;overflow:hidden}
.home-about::before{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;
	background:color-mix(in srgb,var(--brand) 14%,transparent);pointer-events:none}
.home-about>*{position:relative}
.home-about .section-title{color:var(--brand-ink)}
.home-about .section-title::after{background:color-mix(in srgb,var(--brand) 30%,transparent)}
.home-about h2{color:var(--fg)}
.home-about p{color:var(--fg);max-width:52ch}

/* ---------- single entry ---------- */
.entry-header{margin-bottom:1.4rem}
.entry-title{font-size:clamp(1.9rem,4.2vw,2.7rem);line-height:1.12;margin:0 0 .7rem}
.entry-meta{color:var(--muted);font-size:.88rem;display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}
.entry-meta>*+*::before{content:"·";margin-right:.55rem;opacity:.55}
.entry-meta .updated{width:100%;font-size:.82rem}
.entry-meta .updated::before{content:none}
.entry-featured{margin:1.5rem 0 2rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.entry-featured img{width:100%}
.entry-content{max-width:var(--content)}
.entry-content>*{max-width:var(--content)}
.entry-content>.alignwide{max-width:min(960px,100%);margin-inline:auto}
.entry-content h2{padding-top:.3rem}
.entry-content :is(h2,h3)+p{margin-top:0}
.entry-content ul,.entry-content ol{padding-left:1.3rem}
.entry-content li{margin-bottom:.5rem}
.entry-content li::marker{color:var(--brand)}
.entry-content img{border-radius:10px;margin-inline:auto}
.entry-content figure{margin:1.8rem 0}
.entry-tags{margin-top:1.8rem;font-size:.86rem;color:var(--muted)}
.entry-tags a{display:inline-block;margin:.15rem .35rem .15rem 0;padding:.25rem .6rem;background:var(--surface);
	border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--muted)}
.entry-tags a:hover{border-color:var(--brand);color:var(--brand-ink)}

/* Table of Contents Plus */
#toc_container{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem 1.25rem;font-size:.95rem;width:auto!important}
#toc_container .toc_title{font-weight:700;color:var(--fg)}
#toc_container a{color:var(--muted);text-decoration:none}
#toc_container a:hover{color:var(--brand-ink)}

/* author box */
.author-box{display:flex;gap:1.1rem;align-items:flex-start;margin:3rem 0 0;padding:1.4rem;
	background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.author-box__avatar img{border-radius:50%;width:64px;height:64px}
.author-box__name{font-weight:700;margin:0 0 .25rem}
.author-box__bio{margin:0;color:var(--muted);font-size:.94rem}

/* related */
.related{margin-top:3.5rem;padding-top:2.2rem;border-top:1px solid var(--line)}
.related h2{margin-top:0}

/* prev / next */
.post-nav{display:flex;gap:1rem;margin-top:3rem}
.post-nav a{flex:1;display:block;padding:1rem 1.15rem;background:var(--surface);border:1px solid var(--line);
	border-radius:12px;text-decoration:none;color:var(--fg);font-weight:600;font-size:.95rem;transition:border-color .2s,transform .2s var(--ease)}
.post-nav a:hover{border-color:var(--brand);transform:translateY(-2px);color:var(--brand-ink)}
@media (min-width:620px){.post-nav__next{text-align:right}}
@media (max-width:619px){.post-nav{flex-direction:column;gap:.7rem}}

/* ---------- comments ---------- */
.comments-area{margin-top:3.5rem;padding-top:2.2rem;border-top:1px solid var(--line)}
.comments-title{margin-top:0}
.comment-list{list-style:none;margin:0 0 2rem;padding:0}
.comment-list ol{list-style:none;padding-left:1.5rem}
.comment-body{padding:1.1rem 0;border-bottom:1px solid var(--line)}
.comment-author{font-weight:700;font-size:.95rem}
.comment-author .says{display:none}
.comment-metadata{font-size:.8rem;color:var(--muted)}
.comment-metadata a{color:var(--muted);text-decoration:none}
.comment-content{margin-top:.5rem}
.comment-respond{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.2rem,3vw,1.8rem)}
.comment-reply-title{margin-top:0}
.comment-form{display:grid;gap:1rem}
.comment-form>p{margin:0}
.comment-form label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:var(--muted)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
	width:100%;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);font:inherit}
.comment-form textarea{min-height:130px;resize:vertical}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-tint)}
.comment-form .comment-form-cookies-consent{display:flex;gap:.5rem;align-items:flex-start;font-size:.85rem;color:var(--muted)}
.comment-form .comment-form-cookies-consent label{margin:0}
.form-submit{margin:0}
.comment-notes,.logged-in-as{font-size:.85rem;color:var(--muted)}
.no-comments{color:var(--muted);font-style:italic}

/* ---------- pagination ---------- */
.pagination,.comments-pagination{margin-top:3rem}
.pagination .nav-links,.comments-pagination .nav-links{display:flex;flex-wrap:wrap;gap:.4rem}
.pagination a,.pagination span,.comments-pagination a,.comments-pagination span{
	min-width:42px;padding:.5rem .75rem;text-align:center;border:1px solid var(--line);border-radius:9px;
	text-decoration:none;color:var(--fg);font-weight:600}
.pagination a:hover,.comments-pagination a:hover{border-color:var(--brand);color:var(--brand-ink)}
.pagination .current{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ---------- page header (archive / search / 404) ---------- */
.page-header{margin-bottom:1.8rem}
.page-title{font-size:clamp(1.7rem,3.6vw,2.3rem);margin:0 0 .5rem}
.archive-description{color:var(--muted);max-width:60ch}

/* ---------- sidebar / widgets ---------- */
.sidebar{border-top:1px solid var(--line);padding-top:1.75rem}
@media (min-width:1001px){
	.sidebar{position:sticky;top:calc(var(--header-h) + 1.5rem);align-self:start;border-top:0;padding-top:0}
}
.widget{margin-bottom:2rem;font-size:.95rem}
.widget-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .8rem}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:.4rem 0;border-bottom:1px solid var(--line)}
.widget a{text-decoration:none;color:var(--fg)}
.widget a:hover{color:var(--brand-ink)}

/* ---------- no results / 404 ---------- */
.no-results{max-width:var(--content)}
.no-results .search-form{margin:1.2rem 0 2rem;max-width:420px}
.error-404 .card-grid{margin-top:1.5rem}

/* ---------- footer (drenched brand green) ---------- */
.site-footer{--fbg:#0a4a38;--fink:#eaf4ef;--fmut:#9dc4b6;
	position:relative;margin-top:clamp(3.5rem,9vw,7rem);overflow:hidden;
	background:var(--fbg);color:var(--fink);
	background-image:
		radial-gradient(80% 120% at 100% 0,rgba(127,214,192,.14),transparent 55%),
		radial-gradient(70% 90% at 0 100%,rgba(0,0,0,.22),transparent 60%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .site-footer{--fbg:#0c2c22}}
:root[data-theme="dark"] .site-footer{--fbg:#0c2c22}

.site-footer__mark{position:absolute;right:-4%;bottom:-18%;width:min(46vw,440px);color:#fff;opacity:.05;pointer-events:none}
.site-footer__mark svg{width:100%;height:auto}

.site-footer__grid{position:relative;display:grid;grid-template-columns:1fr;gap:2.25rem 2.5rem;
	padding-block:clamp(2.75rem,6vw,4.5rem)}
@media (min-width:640px){.site-footer__grid{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.site-footer__grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}

.site-footer__brand{max-width:34ch}
.site-footer__logo{display:inline-flex;align-items:center;gap:.6rem;color:#fff;font-weight:800;font-size:1.25rem;
	letter-spacing:-.02em;text-decoration:none}
.site-footer__logo-mark{display:inline-flex;color:#fff}
.site-footer__tagline{color:var(--fmut);margin:.85rem 0 0;line-height:1.6}
.site-footer__cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.25rem;padding:.55rem .95rem;
	border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;
	transition:background .2s,border-color .2s,gap .2s var(--ease)}
.site-footer__cta:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5);color:#fff;gap:.65rem}

.site-footer__heading{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
	color:var(--fmut);margin:0 0 .9rem}
.site-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}
.site-footer__col a{color:var(--fink);text-decoration:none;font-size:.92rem;line-height:1.4;
	display:block;transition:color .16s,transform .16s var(--ease)}
.site-footer__col a:hover{color:#fff;transform:translateX(3px)}
.site-footer__col--guides a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.site-footer__base{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
	gap:1rem;padding-block:1.4rem;border-top:1px solid rgba(255,255,255,.12);color:var(--fmut);font-size:.82rem}
.site-footer__base p{margin:0}
.to-top{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border:1px solid rgba(255,255,255,.22);
	border-radius:999px;background:none;color:var(--fink);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;
	transition:background .2s,border-color .2s}
.to-top:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.45)}
.to-top svg{transition:transform .2s var(--ease)}
.to-top:hover svg{transform:translateY(-2px)}

.site-footer .footer-widgets{position:relative;padding-bottom:2rem;color:var(--fmut)}
.site-footer .footer-widgets a{color:var(--fink)}
@media (prefers-reduced-motion:reduce){.site-footer__col a,.site-footer__cta,.to-top svg{transition:none}}

/* ---------- wp core bits ---------- */
figcaption,.wp-caption-text{color:var(--muted);font-size:.85rem;text-align:center;margin-top:.5rem}
.aligncenter{margin-inline:auto}
.page-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem;font-weight:600}
.page-links a{padding:.3rem .6rem;border:1px solid var(--line);border-radius:8px;text-decoration:none}
.sticky-badge{display:none}
.entry-content .wp-block-table,.entry-content>table{overflow-x:auto;display:block;max-width:100%}
@media (min-width:600px){
	.alignleft{float:left;margin:.3rem 1.6rem 1rem 0;max-width:50%}
	.alignright{float:right;margin:.3rem 0 1rem 1.6rem;max-width:50%}
}

/* ---------- motion prefs ---------- */
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
	.card:hover,.feature:hover,.post-nav a:hover{transform:none}
}
