/*
Theme Name: Vibra Contigo
Description: Tema editorial de bienestar cotidiano. Portada propia y plantillas de contenido.
Author: Santiago
Version: 0.2.0
Text Domain: vibracontigo
*/
@font-face{font-family:Cabinet;src:url('assets/cabinet-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Cabinet;src:url('assets/cabinet-extrabold.woff2') format('woff2');font-weight:800;font-display:swap}
:root{--green:#214f3e;--accent:#e9b7a0;--paper:#fbfaf6;--ink:#202d25;--muted:#59635c;--line:#dedfd5;--color-primario:var(--green);--color-acento:#934a2d;--color-texto:var(--ink);--color-texto-suave:var(--muted)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--green);text-underline-offset:4px}
a:hover{color:#934a2d}
img{max-width:100%;height:auto;vertical-align:middle}
h1,h2,h3,h4,.footer-brand{font-family:Cabinet,Arial,sans-serif;font-weight:800;line-height:1.08;letter-spacing:-.035em}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid #9b4d2e;outline-offset:5px}
.contenedor{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;top:12px;left:12px;padding:12px 20px;background:#fff;color:var(--green);z-index:100000}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:110px;padding-block:10px}
.custom-logo{width:auto;height:88px;max-width:180px;object-fit:contain}
.custom-logo-link{display:inline-block;line-height:1}
.site-title{font:800 28px Cabinet,Arial,sans-serif;letter-spacing:-1px}
.site-title-link{text-decoration:none}
.header-right{display:flex;align-items:center;gap:44px}
.header-note{font-size:12px;color:var(--muted)}
.main-nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;align-items:center}
.main-nav a{font-size:14px;font-weight:600;text-decoration:none;padding-block:12px;display:inline-block}
.main-nav .current-menu-item>a{text-decoration:underline;text-decoration-thickness:2px}
.main-nav .sub-menu{display:flex;flex-direction:column;gap:0;align-items:flex-start;padding-left:15px}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:74px 78px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;line-height:1.6;margin-bottom:20px}
.hero .eyebrow{display:flex;align-items:center;gap:9px}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex:none}
.hero h1{font-size:clamp(46px,5.4vw,76px);max-width:570px;margin:0 0 23px;color:var(--green)}
.hero-description{max-width:430px;color:var(--muted);font-size:16px;line-height:1.8;margin-bottom:28px}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--green);color:#fff;padding:15px 23px;text-decoration:none;border-radius:5px;font-size:13px;font-weight:700;min-height:48px}
.boton:hover{background:#153c2d;color:#fff}
.boton span{font-size:20px;font-weight:400}
.hero-footnote{font-size:11px;color:var(--muted);margin:15px 0 0}
.hero-visual{position:relative;padding-bottom:22px}
.hero-photo{display:block;width:100%;height:440px;object-fit:cover;border-radius:170px 170px 12px 12px}
.photo-caption{position:absolute;bottom:0;left:-22px;background:#f1d9c4;display:flex;align-items:center;gap:12px;padding:15px 22px;font-size:13px;border-radius:4px;transform:rotate(-4deg)}
.photo-caption span{font-size:28px;line-height:1}
.topics-section{padding-block:56px 70px;border-top:1px solid var(--line)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}
.section-heading .eyebrow{margin-bottom:12px}
h2{font-size:clamp(30px,3vw,42px);margin:0}
.section-heading>p{max-width:270px;font-size:13px;color:var(--muted);margin:0;line-height:1.7}
.topics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.topic-card{padding:27px 23px 24px;border-radius:6px;display:flex;flex-direction:column;align-items:flex-start}
.lavender{background:#edeaf2}.peach{background:#f5e4d8}.sage{background:#e5ece2}.yellow{background:#f2edce}
.topic-card svg{margin-bottom:30px}
.topic-card h3{font-size:23px;letter-spacing:-.025em;margin:0 0 16px}
.topic-card .topic-tagline{font-size:13px;font-weight:700;color:var(--ink);margin:0 0 7px}
.topic-card>p:not(.topic-tagline){font-size:12px;color:#4e594f;line-height:1.8;margin:0 0 24px}
.text-link{display:inline-flex;align-items:center;gap:20px;font-size:12px;font-weight:700;text-decoration:none}
.text-link:hover{text-decoration:underline}
.text-link span[aria-hidden]{font-size:21px;font-weight:400}
.topic-soon{font-size:10px;color:#4e594f;border-top:1px solid #202d2526;padding-top:12px;width:100%;margin-top:auto}
.topic-card .text-link{margin-top:auto}
.latest-section{padding-block:30px 70px}
.latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post-card h3{font-size:25px;margin:13px 0}
.post-card h3 a{color:var(--ink);text-decoration:none}
.post-card h3 a:hover{text-decoration:underline}
.post-image{display:block;aspect-ratio:3/2;overflow:hidden;margin-bottom:18px;border-radius:5px}
.post-image img{width:100%;height:100%;object-fit:cover}
.post-card-meta{display:flex;flex-wrap:wrap;gap:8px 15px;font-size:10px;color:var(--muted)}
.post-card-meta a{font-weight:700;text-decoration:none}
.post-excerpt{font-size:13px;color:var(--muted)}
.empty-editorial{display:flex;gap:30px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:30px}
.empty-mark{font:700 56px Cabinet,Arial,sans-serif;letter-spacing:-3px;color:#758777}
.empty-editorial h3{font-size:25px;margin:0 0 8px}
.empty-editorial p{font-size:13px;color:var(--muted);margin:0}
.about-section{background:var(--green);color:#f8f8ed;border-radius:7px;padding:48px 58px;display:grid;grid-template-columns:140px 1fr;gap:50px;align-items:center;margin-bottom:70px}
.about-mark{font:800 132px Cabinet,Arial,sans-serif;line-height:1;letter-spacing:-10px;color:#dce6bc}
.about-copy .eyebrow{color:#dce6bc;margin-bottom:14px}
.about-copy h2{font-size:34px;margin-bottom:17px}
.about-copy>p:last-child{font-size:14px;line-height:1.8;color:#e0e7df;max-width:710px;margin:0}
.site-footer{background:#fff;border-top:1px solid var(--line);padding-block:38px 20px}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-bottom:35px}
.footer-brand{font-size:30px;text-decoration:none}
.footer-brand span{color:#ac5b3f}
.footer-top p{font-size:12px;color:var(--muted);margin:10px 0 0}
.footer-nav ul{display:flex;gap:20px;flex-wrap:wrap;list-style:none;padding:0;margin:10px 0}
.footer-nav a{font-size:12px;text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px}
.footer-bottom p{font-size:10px;color:var(--muted);margin:0}
.site-main{padding:64px 0 80px;min-height:55vh}
.site-main>.contenedor{max-width:900px}
.entry-title{font-size:clamp(30px,4vw,48px);margin:0 0 20px;overflow-wrap:anywhere}
.entry-title a{text-decoration:none}
.entry-meta{font-size:12px;color:var(--muted);margin-bottom:25px}
.entry-content{font-size:17px;line-height:1.85;overflow-wrap:anywhere}
.entry-content h2{font-size:32px;margin:1.5em 0 .6em}
.entry-content h3{font-size:26px;margin:1.4em 0 .6em}
.entry-content li{margin-bottom:.5em}
.entry-content blockquote{border-left:3px solid var(--green);padding-left:24px;margin-left:0}
.entry-content table{border-collapse:collapse;width:100%}
.entry-content td,.entry-content th{border:1px solid var(--line);padding:10px;text-align:left}
.entry-content pre{overflow:auto;max-width:100%;padding:20px;background:#edece6}
.entry-content figure{max-width:100%;margin-inline:0}
.site-main hr{border:0;border-top:1px solid var(--line);margin-block:32px}
.entry-miniatura{margin-bottom:30px}
.comment-list{padding-left:22px}
.comment-form textarea{width:100%;border:1px solid var(--line);background:#fff;padding:12px}
.comment-form input:not([type=checkbox]):not([type=submit]){max-width:100%;padding:9px;border:1px solid var(--line)}
.comment-form label{display:block}
.comment-form .comment-form-cookies-consent label{display:inline}
.comment-form input[type=submit]{background:var(--green);border:0;color:#fff;padding:12px 18px;cursor:pointer}
.page-numbers{display:inline-block;padding:5px 10px}
@media(min-width:761px){.main-nav .menu-item-has-children{position:relative}.main-nav .sub-menu{position:absolute;top:100%;right:0;min-width:190px;background:#fff;padding:8px 16px;border:1px solid var(--line);visibility:hidden;opacity:0;z-index:20}.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{visibility:visible;opacity:1}}
@media(max-width:1050px){.hero{gap:38px}.hero-photo{height:395px}.header-note{display:none}.topics-grid{grid-template-columns:repeat(2,1fr)}.topic-card{min-height:265px}.about-section{gap:30px}}
@media(max-width:760px){
 .contenedor{width:calc(100% - 40px)}
 .header-inner{min-height:90px;padding-block:8px;gap:20px;position:relative}
 .custom-logo{height:72px;max-width:140px}
 .site-title{font-size:24px}
 .header-right{display:block}
 .menu-toggle{display:none;align-items:center;gap:9px;background:transparent;color:var(--green);border:1px solid var(--line);padding:9px 12px;border-radius:4px;font-size:12px;min-height:44px;cursor:pointer}
 .vibra-js .menu-toggle{display:flex}
 .main-nav{padding-block:10px}
 .main-nav ul{gap:7px;flex-wrap:wrap}
 .vibra-js .main-nav{display:none;position:absolute;top:100%;left:-20px;right:-20px;padding:12px 20px 20px;background:#fff;z-index:30;border-bottom:1px solid var(--line)}
 .vibra-js .menu-toggle[aria-expanded=true]+.main-nav{display:block}
 .vibra-js .main-nav ul{display:block}
 .main-nav a{padding:8px 10px}
 .hero{grid-template-columns:1fr;gap:30px;padding-block:35px 45px}
 .hero .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:19px}
 .hero h1{font-size:52px;max-width:450px;margin-bottom:20px}
 .hero-description{font-size:14px;line-height:1.8;margin-bottom:23px}
 .hero-footnote{font-size:10px}
 .hero-photo{height:auto;aspect-ratio:1.15;object-fit:cover;border-radius:120px 120px 8px 8px}
 .photo-caption{left:8px;font-size:12px;padding:11px 17px}
 .topics-section{padding-block:35px 40px}
 .section-heading{display:block;margin-bottom:25px}
 .section-heading>p{max-width:330px;margin-top:14px;font-size:13px}
 .section-heading>.text-link{margin-top:15px}
 .section-heading .eyebrow{font-size:9px;letter-spacing:1.3px}
 h2{font-size:32px}
 .topics-grid{gap:12px}
 .topic-card{padding:20px 15px;min-height:290px}
 .topic-card svg{margin-bottom:22px;width:27px;height:27px}
 .topic-card h3{font-size:22px}
 .topic-card .topic-tagline{font-size:12px}
 .topic-card>p:not(.topic-tagline){font-size:11px;line-height:1.75}
 .latest-section{padding-block:10px 40px}
 .latest-grid{grid-template-columns:1fr;gap:32px}
 .empty-editorial{gap:18px;align-items:flex-start;padding-block:23px}
 .empty-mark{font-size:42px}
 .empty-editorial h3{font-size:23px}
 .empty-editorial p{font-size:12px}
 .about-section{padding:30px 25px;grid-template-columns:1fr;gap:15px;margin-bottom:40px}
 .about-mark{font-size:65px;letter-spacing:-4px}
 .about-copy h2{font-size:30px}
 .about-copy>p:last-child{font-size:13px}
 .footer-top,.footer-bottom{display:block}
 .footer-nav ul{gap:14px;margin-top:22px}
 .footer-bottom p+p{margin-top:8px}
 .site-main{padding-block:36px 55px}
 .entry-content{font-size:16px}
}
@media(max-width:350px){.hero h1{font-size:44px}.topics-grid{grid-template-columns:1fr}.topic-card{min-height:0}.topic-soon{margin-top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
