/*
Theme Name: Teoria Nutritiva
Theme URI: https://example.com/teoria-nutritiva
Author: GiselleVS
Description: Tema WordPress responsivo para reflexões cristãs, devocionais, passagens bíblicas, louvores e conteúdos de edificação espiritual.
Version: 1.1.8
Text Domain: gisellevs
Requires at least: 7.0
Requires PHP: 8.2.8
*/

:root { --navy:#1b2a4a; --green:#1e5e54; --coral:#c96f5e; --coral-dark:#9f4f42; --ink:#526173; --muted:#8291a1; --line:#dce6ee; --surface:#f7fafc; --peach:#fff0eb; --mint:#e8f0e6; --blue:#dfeaf5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--surface); color:var(--navy); font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.article-footer a { border-radius:999px; background:var(--blue); padding:.35rem .7rem; color:var(--navy); font-size:.75rem; font-weight:700; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
button,input,textarea { font:inherit; }
.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; }
.screen-reader-text:focus { z-index:100000; top:5px; left:5px; width:auto; height:auto; padding:12px 16px; margin:0; clip:auto; background:#fff; color:var(--navy); box-shadow:0 2px 8px rgba(0,0,0,.2); }
.site { min-height:100vh; display:flex; flex-direction:column; overflow:hidden; }
.container { width:min(100% - 3rem, 1120px); margin-inline:auto; }
.content-container { width:min(100% - 3rem, 900px); margin-inline:auto; }
.site-header { background:#fff; border-bottom:1px solid var(--line); padding:1.25rem 0; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand { display:inline-flex; align-items:center; gap:.75rem; }
.brand-mark { display:grid; place-items:center; width:3rem; height:3rem; border-radius:50%; color:#fff; background:var(--navy); font-size:1.25rem; }
.brand-name { display:block; font-size:1.15rem; font-weight:800; letter-spacing:.18em; line-height:1.05; }
.brand-tagline { display:block; margin-top:.25rem; color:var(--green); font-size:.72rem; font-weight:600; }
.menu-toggle { display:none; border:1px solid var(--line); border-radius:.75rem; background:#fff; padding:.55rem .7rem; color:var(--navy); cursor:pointer; }
.primary-menu ul { display:flex; align-items:center; gap:1.25rem; padding:0; margin:0; list-style:none; }
.primary-menu a { color:var(--ink); font-size:.9rem; font-weight:700; transition:color .2s ease; }
.primary-menu a:hover,.primary-menu .current-menu-item>a { color:var(--coral-dark); }
.hero { position:relative; padding:5.5rem 0; background:linear-gradient(135deg,var(--blue),#fff7f3,var(--mint)); }
.hero-grid,.about-grid { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:4rem; }
.eyebrow { display:flex; align-items:center; gap:.55rem; margin:0 0 1.25rem; color:var(--coral); font-size:.75rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.hero-verse { max-width:660px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,4vw,3.55rem); font-weight:700; line-height:1.23; }
.hero-reference { margin:1.75rem 0 0; text-align:right; font-size:.85rem; font-weight:800; letter-spacing:.08em; }
.cross-card { width:min(100%,360px); aspect-ratio:2/3; display:grid; place-items:center; margin-inline:auto; padding:2rem; border:1px solid var(--line); border-radius:1rem; background:#fff; box-shadow:0 16px 32px rgba(27,42,74,.15); }
.cross-art { position:relative; width:85%; height:85%; background:var(--peach); overflow:hidden; }
.cross-art::before,.cross-art::after { position:absolute; left:50%; content:""; display:block; background:var(--navy); transform:translateX(-50%); }
.cross-art::before { top:12%; width:2.25rem; height:76%; }
.cross-art::after { top:30%; width:76%; height:2.25rem; }
.cross-art span { position:absolute; z-index:1; color:var(--navy); font-size:clamp(2.5rem,6vw,4.7rem); font-weight:900; line-height:1; }
.cross-art span:first-child { top:8%; left:6%; }.cross-art span:last-child { top:8%; right:4%; }
.section { padding:5.25rem 0; }.section-white { background:#fff; }.section-soft { background:linear-gradient(135deg,var(--mint),var(--blue)); }
.section-heading { max-width:640px; margin:0 auto 3rem; text-align:center; }.section-heading h2 { margin:.4rem 0 0; font-family:Georgia,serif; font-size:2rem; }.section-heading p { color:var(--ink); }
.posts-list { display:grid; gap:1.5rem; }.post-card { display:grid; grid-template-columns:minmax(220px,1fr) 2fr; overflow:hidden; border:1px solid var(--line); border-radius:1rem; background:#fff; box-shadow:0 3px 10px rgba(27,42,74,.05); transition:transform .2s ease,box-shadow .2s ease; }.post-card:hover { transform:translateY(-3px); box-shadow:0 12px 25px rgba(27,42,74,.11); }.post-card__media { min-height:14rem; background:var(--peach); }.post-card__media img { width:100%; height:100%; object-fit:cover; }.post-card__body { display:flex; flex-direction:column; padding:1.5rem; }.post-card__category,.article-category { display:inline-flex; align-self:flex-start; padding:.3rem .7rem; border-radius:99px; background:var(--mint); color:var(--green); font-size:.7rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.post-card h3 { margin:1rem 0 .6rem; font-size:1.15rem; }.post-card h3 a:hover { color:var(--coral-dark); }.post-card__excerpt { margin:0; color:var(--ink); font-size:.92rem; }.post-card__meta { display:flex; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1.25rem; border-top:1px solid #edf2f5; color:var(--muted); font-size:.75rem; }.button,.wp-block-button__link,.comment-form input[type=submit] { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--coral); border-radius:.65rem; background:var(--coral); padding:.75rem 1rem; color:#fff; font-size:.9rem; font-weight:800; cursor:pointer; transition:background .2s ease,border-color .2s ease,transform .2s ease; }.button:hover,.wp-block-button__link:hover,.comment-form input[type=submit]:hover { border-color:var(--coral-dark); background:var(--coral-dark); transform:translateY(-1px); }.section-action { margin-top:2.5rem; text-align:center; }
.about-photo { width:min(100%,18rem); aspect-ratio:1; overflow:hidden; margin:auto; border:4px solid #fff; border-radius:1rem; background:var(--peach); box-shadow:0 14px 30px rgba(27,42,74,.16); }.about-photo img { width:100%; height:100%; object-fit:cover; }.about-content h2 { margin:0; font-family:Georgia,serif; font-size:2rem; }.about-content p { color:var(--ink); }.quote-section { padding:5.5rem 1.5rem; background:#fff; text-align:center; }.quote-section blockquote { max-width:780px; margin:0 auto; font-family:Georgia,serif; font-size:clamp(1.7rem,3vw,2.65rem); line-height:1.3; }.quote-section cite { display:block; margin-top:1.25rem; color:var(--ink); font-size:1.05rem; font-style:normal; }
.site-footer { margin-top:auto; padding:3.5rem 0 2rem; background:var(--navy); color:#fff; }.footer-grid { display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:2rem; align-items:center; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.16); }.footer-title { display:block; font-size:1.2rem; font-weight:800; letter-spacing:.08em; }.footer-subtitle,.footer-label,.footer-copy { color:#b9d8ce; font-size:.76rem; }.footer-center { text-align:center; }.footer-subscribe { display:flex; gap:.5rem; justify-content:center; }.footer-subscribe input { width:100%; max-width:210px; border:1px solid rgba(255,255,255,.2); border-radius:.55rem; background:#26385b; padding:.65rem .75rem; color:#fff; }.footer-subscribe button { border:1px solid var(--peach); border-radius:.55rem; background:var(--peach); padding:.6rem .8rem; color:var(--coral-dark); font-weight:800; cursor:pointer; }.footer-right { text-align:right; }.footer-right a:hover { color:#f1c3b8; }.footer-bottom { padding-top:1.5rem; color:#b8cbd8; font-size:.68rem; letter-spacing:.08em; text-align:center; }
.footer-widget-area,.footer-widget { width:100%; }.footer-widget { margin:0; }.footer-widget__title,.footer-widget-area h2,.footer-widget-area h3 { margin:0 0 .75rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1rem; }.footer-widget-area p { margin:.5rem 0; color:#b9d8ce; font-size:.8rem; }.footer-widget-area form { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; }.footer-widget-area label { color:#fff; font-size:.8rem; }.footer-widget-area input:not([type=checkbox]):not([type=radio]):not([type=submit]),.footer-widget-area select,.footer-widget-area textarea { flex:1 1 12rem; min-width:0; border:1px solid rgba(255,255,255,.25); border-radius:.55rem; background:#26385b; padding:.7rem .8rem; color:#fff; }.footer-widget-area input::placeholder,.footer-widget-area textarea::placeholder { color:#b8cbd8; }.footer-widget-area button,.footer-widget-area input[type=submit] { border:1px solid var(--peach); border-radius:.55rem; background:var(--peach); padding:.7rem .9rem; color:var(--coral-dark); font-weight:800; cursor:pointer; }.footer-widget-area button:hover,.footer-widget-area input[type=submit]:hover { border-color:#fff; background:#fff; }.footer-widget-area a { color:#fff; text-decoration:underline; text-underline-offset:.2em; }.footer-widget-area ul { padding:0; margin:.5rem 0; list-style:none; }
.footer-widget-area .wp-block-image { margin:0 0 .75rem; }.footer-widget-area .wp-block-image img,.footer-widget-area .custom-logo { max-width:7rem; }.footer-widget-area .wp-block-social-links { margin:.75rem 0 0; }.footer-widget-area--newsletter .wp-block-social-links,.footer-widget-area--newsletter .wp-block-buttons { justify-content:center; }.footer-widget-area--navigation .wp-block-social-links,.footer-widget-area--navigation .wp-block-buttons { justify-content:flex-end; }
.widget-zone { padding:2.5rem 0; border-block:1px solid rgba(220,230,238,.85); background:linear-gradient(135deg,rgba(223,234,245,.72),rgba(255,247,243,.82),rgba(232,240,230,.72)); }.widget-zone__inner { display:grid; gap:1.25rem; }.widget-zone--post-after-content { padding:0; margin:2.5rem 0; border:0; background:transparent; }.content-widget { padding:1.5rem; border:1px solid rgba(220,230,238,.9); border-radius:1rem; background:rgba(255,255,255,.82); box-shadow:0 10px 28px rgba(27,42,74,.08); backdrop-filter:blur(12px); }.content-widget__title,.content-widget h2,.content-widget h3 { margin:0 0 .8rem; color:var(--navy); font-family:Georgia,"Times New Roman",serif; font-size:1.15rem; }.content-widget p:first-child,.content-widget > :first-child { margin-top:0; }.content-widget > :last-child { margin-bottom:0; }.content-widget ul { padding-left:1.15rem; margin:.75rem 0; }.content-widget li + li { margin-top:.45rem; }.content-widget a { color:var(--coral-dark); text-decoration:underline; text-underline-offset:.18em; }.content-widget form { display:grid; gap:.7rem; }.content-widget input:not([type=checkbox]):not([type=radio]):not([type=submit]),.content-widget select,.content-widget textarea { width:100%; min-width:0; border:1px solid var(--line); border-radius:.6rem; background:#fff; padding:.72rem .8rem; color:var(--navy); }.content-widget button,.content-widget input[type=submit] { width:max-content; border:1px solid var(--coral); border-radius:.6rem; background:var(--coral); padding:.7rem .9rem; color:#fff; font-weight:800; cursor:pointer; }.content-widget button:hover,.content-widget input[type=submit]:hover { border-color:var(--coral-dark); background:var(--coral-dark); }.blog-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(16rem,20rem); gap:2rem; align-items:start; }.blog-layout--full { grid-template-columns:minmax(0,1fr); }.blog-content { min-width:0; }.blog-sidebar { position:sticky; top:1.5rem; display:grid; gap:1.25rem; }
.article-shell { padding:2.75rem 0 4rem; background:#fff; }.article-nav { padding:.85rem 0; border-bottom:1px solid var(--line); background:var(--surface); }.article-nav a { color:var(--green); font-size:.9rem; font-weight:800; }.article-nav a:hover { color:var(--coral-dark); }.article-header { margin-bottom:2rem; }.article-header h1 { margin:.9rem 0 1rem; font-family:Georgia,serif; font-size:clamp(2.3rem,5vw,4.2rem); line-height:1.08; }.article-summary { max-width:720px; margin:0 0 1.5rem; color:var(--ink); font-size:1.1rem; }.article-meta { display:flex; flex-wrap:wrap; gap:.75rem 1rem; padding:1rem 0; border-block:1px solid var(--line); color:var(--muted); font-size:.84rem; }.article-meta strong { color:var(--navy); }.featured-image { overflow:hidden; margin:2rem 0; border-radius:1rem; background:var(--navy); box-shadow:0 14px 30px rgba(27,42,74,.15); }.featured-image img { width:100%; max-height:32rem; object-fit:cover; }.article-content { color:var(--ink); font-size:1.05rem; }.article-content h2,.article-content h3 { margin:2.2rem 0 .8rem; color:var(--navy); font-family:Georgia,serif; }.article-content a { color:var(--coral-dark); text-decoration:underline; }.article-content blockquote { margin:2rem 0; border-left:4px solid var(--coral); border-radius:0 1rem 1rem 0; background:var(--peach); padding:1.5rem; color:var(--navy); font-family:Georgia,serif; font-size:1.25rem; font-style:italic; }.article-content li { margin:.45rem 0; }.article-footer { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--line); }.tag-link { border-radius:999px; background:var(--blue); padding:.35rem .7rem; color:var(--navy); font-size:.75rem; font-weight:700; }.related-posts { padding:4.5rem 0; background:linear-gradient(135deg,var(--blue),#fff7f3,var(--mint)); }.related-posts h2 { margin-top:0; font-family:Georgia,serif; }.related-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }.related-card { overflow:hidden; border:1px solid var(--line); border-radius:1rem; background:#fff; box-shadow:0 3px 10px rgba(27,42,74,.05); }.related-card img { width:100%; height:11rem; object-fit:cover; }.related-card__body { padding:1.25rem; }.related-card h3 { margin:.5rem 0; font-size:1.05rem; }.related-card p,.related-card time { color:var(--ink); font-size:.8rem; }
.comments-area { margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line); }.comments-title,.comment-reply-title { font-family:Georgia,serif; color:var(--navy); }.comment-list { padding:0; list-style:none; }.comment-body { padding:1.25rem 0; border-bottom:1px solid var(--line); }.comment-author { color:var(--navy); font-size:.92rem; font-weight:800; }.comment-metadata { margin:.25rem 0 .75rem; color:var(--muted); font-size:.76rem; }.comment-form { display:grid; gap:1rem; max-width:720px; padding:1.5rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }.comment-form p { margin:0; }.comment-form label { display:block; margin-bottom:.4rem; color:var(--ink); font-size:.8rem; font-weight:800; }.comment-form input:not([type=submit]),.comment-form textarea { width:100%; border:1px solid var(--line); border-radius:.6rem; background:#fff; padding:.7rem; color:var(--navy); }.comment-form textarea { min-height:8rem; resize:vertical; }.comment-form-cookies-consent { display:flex; gap:.5rem; align-items:flex-start; font-size:.8rem; }.comment-form-cookies-consent input { margin-top:.25rem; }
.pagination { display:flex; justify-content:center; gap:.4rem; margin-top:2.5rem; }.pagination .page-numbers { border:1px solid var(--line); border-radius:.5rem; padding:.45rem .7rem; color:var(--ink); font-weight:700; }.pagination .current,.pagination a:hover { border-color:var(--coral); background:var(--coral); color:#fff; }.not-found { min-height:55vh; display:grid; place-items:center; text-align:center; }.not-found h1 { font-family:Georgia,serif; font-size:3rem; }
@media (max-width:960px) { .blog-layout { grid-template-columns:1fr; }.blog-sidebar { position:static; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); } }
@media (max-width:760px) { .container,.content-container { width:min(100% - 2rem,1120px); }.site-header { padding:.9rem 0; }.menu-toggle { display:block; }.primary-menu { position:absolute; z-index:20; top:5.4rem; right:1rem; left:1rem; display:none; padding:1rem; border:1px solid var(--line); border-radius:.75rem; background:#fff; box-shadow:0 12px 24px rgba(27,42,74,.12); }.primary-menu.is-open { display:block; }.primary-menu ul { flex-direction:column; align-items:stretch; gap:.75rem; }.hero { padding:3.5rem 0; }.hero-grid,.about-grid,.footer-grid { grid-template-columns:1fr; gap:2.25rem; }.hero-copy { text-align:center; }.eyebrow { justify-content:center; }.hero-reference { text-align:center; }.cross-card { max-width:280px; }.section { padding:3.75rem 0; }.post-card,.related-grid { grid-template-columns:1fr; }.post-card__media { min-height:12rem; }.widget-zone { padding:2rem 0; }.widget-zone--post-after-content { padding:0; }.content-widget { padding:1.25rem; }.blog-sidebar { grid-template-columns:1fr; }.footer-center,.footer-right,.footer-widget-area { text-align:center; }.footer-widget-area .wp-block-image img,.footer-widget-area .custom-logo { margin-inline:auto; }.footer-widget-area .wp-block-social-links,.footer-widget-area .wp-block-buttons { justify-content:center; }.footer-subscribe { flex-wrap:wrap; }.footer-subscribe input { max-width:100%; }.article-shell { padding-top:2rem; }.article-header h1 { font-size:2.25rem; }.article-content { font-size:1rem; } }
