/*
Theme Name: Nutre
Author: Nutre
Description: Tema editorial de nutrición con portada fotográfica, últimas entradas y perfil profesional editable desde el panel de WordPress.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nutre
Tags: blog, food-and-drink, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/
:root {
 --font-sans:'Manrope',sans-serif; --font-display:'DM Serif Display',Georgia,serif;
 --background:oklch(.993 .003 130); --foreground:oklch(.26 .04 155);
 --primary:oklch(.38 .075 155); --primary-foreground:oklch(.99 .005 120);
 --secondary:oklch(.955 .016 145); --muted:oklch(.966 .007 150);
 --muted-foreground:oklch(.52 .015 155); --accent:oklch(.93 .025 145);
 --border:oklch(.88 .014 145); --coral:oklch(.66 .13 35); --hero-shade:oklch(.975 .005 140);
}
* {box-sizing:border-box;}
body {margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;}
h1,h2,h3,p {margin:0;} a {color:inherit;text-decoration:none;} img {max-width:100%;height:auto;display:block;}
button,input,textarea,select {font:inherit;} button,a { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible {outline:2px solid var(--primary);outline-offset:4px;}
.button {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:43px;padding:12px 22px;border:1px solid var(--primary);border-radius:6px;background:var(--primary);color:var(--primary-foreground);font-size:12px;font-weight:600;cursor:pointer;text-align:center;}
.button:hover {filter:brightness(.92);} .button-outline {background:transparent;color:var(--primary);}
.page-width { width: min(1184px, calc(100% - 96px)); margin-inline: auto; }
.site-header { background: var(--background); position: relative; z-index: 10; }
.header-inner { height: 96px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:flex; align-items:center; gap:9px; font-size:34px; font-weight:800; line-height:1; }
.brand svg { width:29px; height:29px; color:var(--primary); }
.brand-dot { color:var(--coral); }
.desktop-nav { display:flex; gap:35px; margin-left:100px; font-size:13px; font-weight:600; height:100%; align-items:center; }
.desktop-nav a { position:relative; padding:12px 0; }
.desktop-nav a[data-active=true]::after { content:''; position:absolute; width:18px; height:2px; background:var(--coral); bottom:3px; left:calc(50% - 9px); }
.header-cta { font-size:12px; height:42px; border-color:var(--primary); background:transparent; box-shadow:none; }
.mobile-menu-button,.mobile-nav { display:none; }
.hero { position:relative; min-height:590px; overflow:hidden; background:var(--hero-shade); display:flex; align-items:center; }
.hero-image { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; object-position:center; }
.hero-content { position:relative; padding-top:32px; padding-bottom:48px; }
.eyebrow { display:flex; align-items:center; gap:10px; text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:0; }
.eyebrow-line { width:25px; height:1px; background:var(--coral); }
.hero h1 { font-family:var(--font-display); font-weight:400; font-size:72px; line-height:1.04; max-width:580px; margin-top:24px; }
.hero h1 em { color:var(--primary); font-weight:400; }
.hero-description { color:var(--muted-foreground); font-size:15px; line-height:1.85; max-width:385px; margin-top:25px; }
.hero-actions { display:flex; align-items:center; gap:20px; margin-top:29px; }
.hero-actions > a { height:48px; font-size:12px; padding-inline:23px; box-shadow:none; }
.hero-actions .profile-link { padding-inline:0; gap:10px; color:var(--foreground); }
.hero-footnote { display:flex; align-items:center; gap:8px; color:var(--muted-foreground); font-size:10px; margin-top:32px; }
.hero-footnote svg { color:var(--primary); }
.values-band { background:var(--secondary); border-bottom:1px solid var(--border); }
.values-inner { display:flex; justify-content:space-between; align-items:center; padding-block:22px; gap:20px; }
.value-item { display:flex; align-items:center; gap:11px; font-size:12px; font-weight:500; }
.value-item svg { width:18px; color:var(--primary); stroke-width:1.5; }
.value-separator { width:1px; height:20px; background:var(--border); }
.latest-section { padding-top:69px; padding-bottom:72px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:32px; gap:20px; }
.section-heading h2 { font-family:var(--font-display); font-size:39px; font-weight:400; line-height:1.2; margin-top:11px; }
.section-subtitle { color:var(--muted-foreground); font-size:13px; margin-top:10px; line-height:1.8; }
.editorial-link { padding:0; font-size:12px; gap:12px; height:auto; margin-bottom:5px; }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.article-card { display:block; min-width:0; }
.article-photo { height:225px; position:relative; overflow:hidden; border-radius:6px; background:var(--secondary); }
.article-photo img { width:100%; max-width:100%; height:100%; object-fit:cover; transition:transform .5s; }

.article-card:hover .article-photo img { transform:scale(1.025); }
.photo-arrow { position:absolute; right:14px; bottom:14px; width:34px; height:34px; border-radius:50%; background:var(--background); color:var(--primary); display:grid; place-items:center; opacity:0; transition:opacity .2s; }
.article-card:hover .photo-arrow { opacity:1; }
.article-category { font-size:10px; font-weight:700; color:var(--primary); margin-top:21px; }
.article-card h3 { font-family:var(--font-display); font-size:25px; line-height:1.25; font-weight:400; margin-top:10px; }
.article-card > p { color:var(--muted-foreground); font-size:12px; line-height:1.8; margin-top:12px; }
.article-meta { display:flex; gap:14px; align-items:center; color:var(--muted-foreground); font-size:10px; margin-top:20px; padding-top:16px; border-top:1px solid var(--border); }
.article-meta > span:last-child { display:flex; align-items:center; gap:5px; }
.about-band { background:var(--secondary); padding-block:62px; }
.about-inner { display:grid; grid-template-columns:230px 1fr auto; align-items:center; gap:50px; }
.about-image { height:245px; width:230px; object-fit:cover; border-radius:6px; }
.about-copy h2 { font-family:var(--font-display); font-size:35px; font-weight:400; margin-top:12px; }
.about-copy p { margin-top:15px; font-size:13px; line-height:1.9; color:var(--muted-foreground); max-width:490px; }
.about-copy .sample-label { font-size:10px; margin-top:10px; }
.site-footer { padding:32px 0 22px; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.footer-inner .brand { font-size:27px; } .footer-inner .brand svg { width:23px; }
.footer-inner p,.footer-inner > span { color:var(--muted-foreground); font-size:11px; }
.footer-note { font-size:9px; color:var(--muted-foreground); padding-top:22px; }
.page-intro { padding-block:65px 36px; }
.page-title { font-family:var(--font-display); font-size:58px; line-height:1.12; font-weight:400; margin-top:20px; }
.filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:36px; }
.blog-content { padding-bottom:75px; }
.profile-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; padding-block:65px; }
.profile-portrait { width:100%; height:560px; object-fit:cover; border-radius:6px; }
.profile-text p { font-size:15px; line-height:1.95; color:var(--muted-foreground); margin-top:22px; }
.profile-text h2 { font-family:var(--font-display); font-size:30px; font-weight:400; margin-top:32px; }
.profile-text .sample-label { font-size:11px; }
.article-reading { max-width:740px; margin:auto; padding:52px 24px 75px; }
.back-link { font-size:12px; display:inline-flex; align-items:center; gap:8px; color:var(--primary); }
.article-reading h1 { font-family:var(--font-display); font-size:48px; font-weight:400; line-height:1.15; margin-top:18px; }
.article-reading .article-photo { height:340px; margin-block:30px; }
.article-reading h2 { font-family:var(--font-display); font-size:29px; font-weight:400; margin-top:32px; }
.article-reading p { font-size:15px; line-height:1.95; color:var(--muted-foreground); margin-top:14px; }
@media (min-width:1600px) { .hero { min-height:640px; } .hero-image { object-position:center 53%; } }
@media (max-width:1000px) { .desktop-nav { margin-left:0; gap:25px; } .header-cta { display:none; } .hero h1 { font-size:62px; max-width:460px; } .hero { min-height:570px; } .about-inner { grid-template-columns:200px 1fr; gap:35px; } .about-inner > a { grid-column:2; justify-self:start; } .about-image { width:200px; grid-row:span 2; } .article-photo { height:190px; } .article-meta { flex-wrap:wrap; gap:8px; } .profile-layout { gap:35px; } }
@media (max-width:640px) { .page-width { width:calc(100% - 40px); } .header-inner { height:76px; } .brand { font-size:30px; } .desktop-nav { display:none; } .mobile-menu-button { display:inline-flex; } .mobile-nav { display:flex; flex-direction:column; padding:10px 20px 24px; gap:18px; font-size:14px; } .hero { min-height:660px; align-items:flex-start; } .hero-image { height:340px; top:auto; bottom:0; object-position:right; } .hero-content { padding-top:37px; padding-bottom:315px; } .hero h1 { font-size:46px; max-width:350px; margin-top:18px; } .hero-description { font-size:13px; max-width:320px; margin-top:16px; } .hero-actions { gap:13px; margin-top:21px; } .hero-actions > a { font-size:11px; padding-inline:15px; height:43px; } .hero-footnote { display:none; } .values-inner { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding-block:22px; } .value-item { font-size:10px; gap:8px; } .value-separator { display:none; } .latest-section { padding-block:42px; } .section-heading { flex-wrap:wrap; margin-bottom:25px; gap:18px; } .section-heading h2 { font-size:33px; } .article-grid { grid-template-columns:1fr; gap:35px; } .article-photo { height:250px; } .article-card h3 { font-size:27px; } .article-card > p { font-size:13px; } .article-meta { font-size:11px; gap:20px; } .article-category { font-size:11px; } .about-band { padding-block:35px; } .about-inner { grid-template-columns:1fr; gap:25px; } .about-image { width:100%; height:310px; object-position:center 25%; grid-row:auto; } .about-inner > a { grid-column:auto; } .about-copy h2 { font-size:32px; } .footer-inner { flex-wrap:wrap; gap:18px; } .footer-inner p { order:3; width:100%; } .footer-note { line-height:1.8; } .page-intro { padding-top:40px; } .page-title { font-size:43px; } .profile-layout { grid-template-columns:1fr; padding-block:35px; } .profile-portrait { height:400px; } .article-reading h1 { font-size:37px; } .article-reading .article-photo { height:230px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; animation:none !important; } }

.desktop-nav ul {display:flex;align-items:center;gap:35px;list-style:none;margin:0;padding:0;}
.desktop-nav li {position:relative;} .desktop-nav .current-menu-item > a {border-bottom:2px solid var(--coral);}
.desktop-nav .sub-menu {position:absolute;top:100%;left:0;display:none;background:var(--background);padding:16px;min-width:180px;border:1px solid var(--border);z-index:20;}
.desktop-nav li:hover > .sub-menu,.desktop-nav li:focus-within > .sub-menu {display:flex;flex-direction:column;align-items:flex-start;gap:15px;}
.mobile-menu-button {background:none;border:0;color:var(--foreground);font-size:24px;padding:8px;cursor:pointer;}
.header-inner {position:relative;} .brand {font-size:34px;overflow-wrap:anywhere;max-width:300px;}
.site-logo img {max-width:220px;max-height:64px;width:auto;object-fit:contain;}
.eyebrow:before {content:'';width:25px;height:1px;background:var(--coral);flex-shrink:0;}
.values-inner > span {font-size:12px;padding-right:20px;}
.values-inner > span + span {border-left:1px solid var(--border);padding-left:30px;}
.hero-actions .profile-link {display:inline-flex;align-items:center;font-size:12px;min-height:44px;}
.article-card h3 a:hover,.editorial-link:hover,.back-link:hover {color:var(--primary);text-decoration:underline;text-underline-offset:4px;}
.footer-brand {font-size:27px;font-weight:800;} .footer-note a {margin-left:12px;text-decoration:underline;}
.empty-state {padding-block:35px;color:var(--muted-foreground);}
.profile-blog-link {margin-top:25px;}
.entry-content {margin-top:25px;line-height:1.95;font-size:15px;overflow-wrap:anywhere;}
.entry-content p {margin-block:18px;color:var(--muted-foreground);}
.entry-content h2,.entry-content h3 {font-family:var(--font-display);font-weight:400;margin-top:32px;margin-bottom:18px;line-height:1.25;}
.entry-content h2 {font-size:30px;} .entry-content h3 {font-size:25px;}
.entry-content a {color:var(--primary);text-decoration:underline;}
.entry-content img,.reading-cover img {max-width:100%;height:auto;border-radius:6px;}
.reading-cover {margin-top:30px;}
.entry-content iframe,.entry-content video {max-width:100%;}
.entry-content figure {max-width:100%;margin:24px 0;}
.entry-content figcaption {font-size:12px;color:var(--muted-foreground);}
.entry-content blockquote {margin:24px 0;border-left:3px solid var(--primary);padding:10px 22px;background:var(--secondary);}
.entry-content table {display:block;overflow-x:auto;width:100%;border-collapse:collapse;} .entry-content th,.entry-content td {border:1px solid var(--border);padding:10px;}
.alignleft {float:left;margin:0 20px 15px 0;} .alignright {float:right;margin:0 0 15px 20px;} .aligncenter {margin-inline:auto;}
.wp-caption {max-width:100%;} .wp-caption-text,.gallery-caption {font-size:12px;color:var(--muted-foreground);} .sticky {position:relative;} .bypostauthor {border-left:2px solid var(--primary);}
.pagination {display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:40px;}
.pagination .page-numbers {display:inline-block;border:1px solid var(--border);border-radius:4px;padding:10px 15px;}
.pagination .current {background:var(--primary);color:var(--primary-foreground);}
.nav-links {display:flex;justify-content:space-between;gap:20px;margin-top:35px;font-size:13px;}
.post-tags {margin-top:30px;font-size:12px;color:var(--primary);}
.search-form {display:flex;align-items:flex-end;gap:12px;margin-block:25px;flex-wrap:wrap;}
.search-form label {display:flex;flex-direction:column;gap:8px;font-size:13px;}
input[type=search],input[type=text],input[type=email],input[type=url],textarea {width:100%;border:1px solid var(--border);background:var(--background);color:var(--foreground);padding:12px;border-radius:4px;}
.comments-area {margin-top:55px;padding-top:30px;border-top:1px solid var(--border);}
.comment-list {padding-left:22px;} .comment-body {padding:20px 0;border-bottom:1px solid var(--border);} .comment-author img {display:inline-block;vertical-align:middle;margin-right:10px;}
.comment-form p {margin-block:15px;} .comment-form label {display:block;margin-bottom:6px;} .comment-form-cookies-consent label {display:inline;}
.form-submit input {background:var(--primary);color:var(--primary-foreground);padding:12px 20px;border:0;border-radius:6px;cursor:pointer;}
.skip-link,.screen-reader-text {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link:focus {z-index:100;top:8px;left:8px;width:auto;height:auto;margin:0;clip:auto;padding:15px;background:var(--background);color:var(--primary);}
.not-found {min-height:55vh;} .admin-bar .site-header {position:relative;}
@media(max-width:1000px) {.desktop-nav ul {gap:22px;} .header-inner {gap:20px;}}
@media(max-width:640px) {
 .site-logo img {max-width:200px;max-height:50px;} .brand {font-size:28px;max-width:270px;}
 .desktop-nav.is-open {display:block;position:absolute;left:-20px;right:-20px;top:100%;background:var(--background);padding:20px;border-bottom:1px solid var(--border);z-index:30;margin:0;height:auto;}
 .desktop-nav ul {display:flex;align-items:flex-start;flex-direction:column;gap:18px;}
 .desktop-nav .sub-menu {position:static;display:flex;border:0;padding:12px 0 0 16px;}
 .hero-actions .profile-link {font-size:11px;}
 .values-inner > span {font-size:10px;padding:0;} .values-inner > span + span {border:0;padding:0;}
 .hero {min-height:700px;} .hero-image {height:310px;} .hero-content {padding-bottom:330px;}
 .hero h1 {font-size:44px;} .hero-actions {flex-wrap:wrap;}
 .entry-content .alignleft,.entry-content .alignright {float:none;margin:20px 0;}
}
