/*
Theme Name: Nova Luanda
Description: Caderno editorial de cozinha portuguesa e do Porto. Tema filho nativo, sem dependências de apresentação externas.
Author: Nova Luanda
Version: 1.0.0
Template: seomag
Text Domain: nova-luanda
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root{--nl-paper:#f7f2e8;--nl-white:#fffcf6;--nl-ink:#283226;--nl-muted:#626451;--nl-clay:#943e2b;--nl-olive:#34422d;--nl-line:#d8cfbd;--nl-soft:#ebe4d5;--nl-serif:Georgia,'Times New Roman',serif;--nl-sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1.5rem}
body.nl-site{margin:0;background:var(--nl-paper);color:var(--nl-ink);font:400 1rem/1.65 var(--nl-sans);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}
.nl-site :where(h1,h2,h3,h4,p,ul,ol,figure){margin-top:0}
.nl-site :where(h1,h2,h3,h4){font-family:var(--nl-serif);font-weight:400;line-height:1.12;color:inherit;text-wrap:pretty}
.nl-site h1{font-size:clamp(2.35rem,5.4vw,4.8rem);letter-spacing:-.045em;margin-bottom:1.4rem}
.nl-site h2{font-size:clamp(1.8rem,3.5vw,3rem);letter-spacing:-.025em}
.nl-site h3{font-size:1.4rem}
.nl-site a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
.nl-site a:hover{color:var(--nl-clay)}
.nl-site :focus-visible{outline:3px solid var(--nl-clay);outline-offset:5px}
.nl-site img{display:block;max-width:100%;height:auto}
.nl-site :where(video,iframe,embed,object,svg){max-width:100%}
.nl-site :where(input,button,textarea,select){font:inherit;max-width:100%;border-radius:0}
.nl-site :where(button,input[type=submit],summary){cursor:pointer}
.nl-site :where(button,input[type=submit],.nl-button){min-height:46px;padding:.75rem 1.1rem;border:1px solid var(--nl-clay);background:var(--nl-clay);color:var(--nl-white);font-weight:650;text-decoration:none}
.nl-site :where(button,input[type=submit],.nl-button):hover{background:var(--nl-olive);border-color:var(--nl-olive);color:var(--nl-white)}
.nl-site :where(input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select){min-height:46px;padding:.7rem .85rem;border:1px solid var(--nl-muted);background:var(--nl-white);color:var(--nl-ink);min-width:0}
.nl-site input::placeholder{color:var(--nl-muted);opacity:1}
.nl-site .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.nl-skip{position:fixed;z-index:10000;top:1rem;left:1rem;padding:.8rem 1rem;background:var(--nl-white);transform:translateY(-200%)}
.nl-skip:focus{transform:translateY(0)}
.nl-wrap{width:min(100% - 2.5rem,1200px);margin-inline:auto}
.nl-header{border-bottom:1px solid var(--nl-line);background:var(--nl-paper)}
.nl-header-row{padding-block:1.15rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 2rem;position:relative}
.nl-brand{display:inline-block;text-decoration:none;font-family:var(--nl-serif);font-size:1.7rem;line-height:1.2;letter-spacing:.035em;white-space:nowrap}
.nl-brand-logo{display:block;width:clamp(12rem,21vw,19rem);height:auto;max-height:3.75rem;object-fit:contain;object-position:left center}
.nl-brand span{display:block;font:400 .7rem/1.5 var(--nl-sans);letter-spacing:.055em;margin-top:.3rem}
.nl-navigation{width:100%;min-width:0}
.nl-navigation summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem;font-weight:650;list-style:none;border-top:1px solid var(--nl-line);padding:.55rem 0}
.nl-navigation summary::-webkit-details-marker{display:none}
.nl-navigation[open] summary span{transform:rotate(45deg)}
.nl-navigation-panel{padding:1rem 0 .5rem}
.nl-menu{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem 1.4rem}
.nl-menu li{min-width:0;max-width:100%}
.nl-menu a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:.9rem}
.nl-menu a:hover{text-decoration:underline}
.nl-menu .sub-menu{padding-left:1rem;list-style:none;border-left:1px solid var(--nl-line)}
.nl-menu .current-menu-item>a{text-decoration:underline;color:var(--nl-clay)}
.nl-search{display:flex;flex-wrap:wrap;gap:.5rem;max-width:38rem;margin-block:1.1rem}
.nl-search input{flex:1 1 160px;width:0}
.nl-search button{flex:0 0 auto;font-size:.9rem}
.nl-hero{display:grid;gap:2rem;padding-block:2.6rem 3rem}
.nl-kicker{font-family:var(--nl-sans);font-size:.72rem;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;font-weight:650;color:var(--nl-clay);margin-bottom:1rem}
.nl-hero-copy>p:not(.nl-kicker):not(.nl-hero-note){max-width:32rem;font-size:1.08rem;line-height:1.65;margin-bottom:1.5rem}
.nl-button{display:inline-flex;align-items:center;justify-content:center;gap:1.8rem;max-width:100%;line-height:1.4}
.nl-site a.nl-button{color:var(--nl-white);text-decoration:none}
.nl-hero-note{margin:1.4rem 0 0;color:var(--nl-muted);font-size:.75rem;max-width:26rem}
.nl-featured{background:var(--nl-olive);color:var(--nl-white);display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.nl-featured .nl-image{width:100%;aspect-ratio:4/3;object-fit:cover}
.nl-featured-copy{padding:1.5rem}
.nl-featured h2{font-size:clamp(1.8rem,3vw,2.7rem);margin-bottom:1rem}
.nl-featured h2 a,.nl-featured .nl-text-link{color:var(--nl-white);text-decoration:none}
.nl-featured .nl-kicker{color:#ead9bf}
.nl-featured a:hover{color:#ead9bf}
.nl-featured :focus-visible,.nl-footer :focus-visible{outline-color:#f0cf8e}
.nl-table-note{background:var(--nl-soft);border:1px solid var(--nl-line);padding:2rem;position:relative;display:flex;flex-direction:column;justify-content:center}
.nl-table-note>p:not(.nl-kicker){font:400 clamp(2.7rem,5vw,4.8rem)/1.04 var(--nl-serif);letter-spacing:-.045em;color:var(--nl-olive);margin-bottom:1.5rem}
.nl-table-note>span{max-width:23rem;font-size:.95rem;border-top:1px solid var(--nl-line);padding-top:1rem}
.nl-topics{border-block:1px solid var(--nl-line);padding-block:2.2rem;background:var(--nl-soft);scroll-margin-top:1rem}
.nl-topics h2{font-size:1.8rem;margin-bottom:1.5rem}
.nl-topic-grid{display:grid;gap:0}
.nl-topic{display:block;text-decoration:none;padding:1.2rem 0;border-top:1px solid var(--nl-line);min-width:0}
.nl-topic h3{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.7rem;font-size:1.4rem}
.nl-topic h3 span{font:1rem var(--nl-sans);color:var(--nl-clay)}
.nl-topic p{font-size:.9rem;margin:0;color:var(--nl-muted)}
.nl-main,.nl-latest{padding-block:2.8rem 4rem}
.nl-section-heading{margin-bottom:2rem;max-width:52rem}
.nl-section-heading h2{margin-bottom:0}
.nl-intro{font-size:1.1rem;max-width:45rem;color:var(--nl-muted)}
.nl-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.nl-card{min-width:0;border-bottom:1px solid var(--nl-line);padding-bottom:1.8rem}
.nl-card>.nl-image{aspect-ratio:3/2;object-fit:cover;width:100%;margin-bottom:1.3rem}
.nl-card h2{font-size:1.75rem;margin-bottom:.9rem}
.nl-card h2 a{text-decoration:none}
.nl-card-body>p:not(.nl-kicker){font-size:.95rem;color:var(--nl-muted)}
.nl-card .nl-kicker{font-size:.68rem}
.nl-text-link{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;font-size:.85rem;font-weight:650}
.nl-empty{padding:1.5rem;border:1px solid var(--nl-line);max-width:42rem}
.nl-empty h2{font-size:1.8rem}
.nl-footer{background:var(--nl-olive);color:var(--nl-white);padding-block:2.8rem 1rem}
body.nl-site .nl-footer a{color:var(--nl-white)}
.nl-footer a:hover{color:#ead9bf}
.nl-footer-top{display:grid;gap:1.5rem}
.nl-footer-top p{font-size:.9rem;margin-top:1rem;color:#e1dbc9}
.nl-footer .nl-menu{display:grid;gap:0}
.nl-footer-bottom{display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;border-top:1px solid #68715e;margin-top:2rem;padding-top:1rem;font-size:.75rem}
.nl-footer-bottom a{display:inline-flex;min-height:44px;align-items:center}
.nl-footer-bottom p{margin:0;align-self:center}
.nl-article{max-width:960px;margin-inline:auto}
.nl-article-heading{max-width:780px;margin:0 auto 2rem}
.nl-article-heading h1{font-size:clamp(2.3rem,5vw,4.3rem)}
.nl-meta{font-size:.85rem;color:var(--nl-muted)}
.nl-article>.nl-image{width:100%;max-height:720px;object-fit:contain;margin-bottom:2.5rem}
.nl-prose{max-width:700px;margin-inline:auto;font-size:1.08rem;line-height:1.85}
.nl-prose>*{max-width:100%}
.nl-prose :where(h2,h3,h4){margin:2.2rem 0 1rem}
.nl-prose h2{font-size:2rem}
.nl-prose p{margin-bottom:1.5rem}
.nl-prose a{color:var(--nl-clay);text-decoration:underline}
.nl-prose :where(ul,ol){padding-left:1.4rem}
.nl-prose li+li{margin-top:.55rem}
.nl-prose blockquote{border-left:3px solid var(--nl-clay);margin:2rem 0;padding:.4rem 0 .4rem 1.2rem;font-family:var(--nl-serif);font-size:1.5rem}
.nl-prose :where(pre,.wp-block-table){overflow-x:auto;max-width:100%}
.nl-prose pre{font-size:.85rem;background:var(--nl-soft);padding:1rem;white-space:pre-wrap;overflow-wrap:anywhere}
.nl-prose table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.9rem}
.nl-prose :where(th,td){border:1px solid var(--nl-line);padding:.7rem;text-align:left;overflow-wrap:anywhere}
.nl-prose :where(figure,.wp-caption){margin-inline:0;max-width:100%}
.nl-prose :where(figcaption,.wp-caption-text){font-size:.8rem;color:var(--nl-muted);line-height:1.5;margin-top:.6rem}
.nl-prose .alignleft,.nl-prose .alignright{float:none;margin:1.5rem 0}
.nl-prose .alignwide,.nl-prose .alignfull{width:100%;max-width:100%;margin-inline:0}
.nl-prose .wp-block-columns{gap:1.5rem}
.nl-prose .wp-block-column{min-width:0}
.nl-prose .wp-block-button__link{background:var(--nl-clay);color:var(--nl-white);border-radius:0;min-height:46px}
.nl-article-end,.nl-comments,.post-navigation{max-width:700px;margin:2.5rem auto 0;border-top:1px solid var(--nl-line);padding-top:1.5rem}
.nl-article-end{font-size:.85rem}
.nav-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
.nav-links>div{flex:1 1 240px;min-width:0}
.post-navigation a{display:block;padding:.7rem 0;font-family:var(--nl-serif);font-size:1.3rem}
.post-navigation span{display:block;font:400 .75rem/1.8 var(--nl-sans);color:var(--nl-muted)}
.pagination{margin-top:2.5rem}
.page-numbers{display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.3rem .65rem;border:1px solid var(--nl-line);text-decoration:none}
ul.page-numbers{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;border:0;margin-top:2.5rem;justify-content:flex-start}
.page-numbers.current{background:var(--nl-olive);color:var(--nl-white)}
.nl-page-links{margin-block:2rem}
.nl-comments :where(input:not([type=checkbox]),textarea){display:block;width:100%}
.nl-comments textarea{min-height:160px}
.nl-comments label{display:inline-block;margin-bottom:.4rem}
.nl-comments .comment-list{padding-left:1.2rem}
.nl-comments .children{padding-left:1rem}
.nl-comments .comment-body{margin-bottom:1.5rem}
.nl-not-found{max-width:800px;min-height:55vh}
.nl-not-found>.nl-button{margin-top:1rem}
@media(min-width:600px){.nl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nl-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}.nl-footer-top{grid-template-columns:1.4fr 1fr}.nl-header-row{flex-wrap:nowrap}.nl-navigation{width:auto}.nl-navigation summary{border:1px solid var(--nl-line);padding:.6rem 1rem;min-width:185px}.nl-navigation-panel{position:absolute;z-index:20;right:0;top:100%;width:min(680px,100%);padding:1.5rem;background:var(--nl-white);border:1px solid var(--nl-line);box-shadow:0 12px 25px #28322612}.nl-hero{padding-block:3.5rem}.nl-wrap{width:min(100% - 4rem,1200px)}}
@media(min-width:960px){.nl-hero{grid-template-columns:1.12fr 1fr;align-items:stretch;gap:4rem;padding-block:4.5rem}.nl-hero-copy{padding-block:1rem}.nl-table-note{padding:3rem}.nl-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.nl-topic-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}.nl-topic{padding-top:1.3rem}.nl-topics{padding-block:2.5rem}.nl-main,.nl-latest{padding-block:4rem 5rem}.nl-brand{font-size:2rem}.nl-footer .nl-menu{grid-template-columns:1fr 1fr;gap:.4rem 1.5rem}.nl-prose .alignleft{float:left;max-width:45%;margin:0 1.5rem 1rem 0}.nl-prose .alignright{float:right;max-width:45%;margin:0 0 1rem 1.5rem}.nl-prose::after{content:'';display:table;clear:both}}
@media(max-width:390px){.nl-wrap{width:calc(100% - 2rem)}.nl-header-row{padding-block:.9rem;gap:.5rem}.nl-hero{padding-top:1.7rem;gap:1.7rem}.nl-hero h1{font-size:2.55rem}.nl-hero-copy>p:not(.nl-kicker):not(.nl-hero-note){font-size:1rem}.nl-hero-note{font-size:.7rem}.nl-topic{padding-block:1rem}.nl-prose{font-size:1rem}.nl-article-heading h1{font-size:2.25rem}.nl-featured-copy{padding:1.25rem}}
@media(max-width:320px){.nl-wrap{width:calc(100% - 1.5rem)}.nl-brand{font-size:1.5rem}.nl-hero h1{font-size:2.2rem}.nl-button{font-size:.9rem;gap:1rem;padding:.75rem .9rem}.nl-search input{flex-basis:100%;width:100%}.nl-search button{width:100%}.nl-table-note{padding:1.5rem}.nl-article-heading h1{font-size:2rem}.nl-main,.nl-latest{padding-block:2rem 3rem}}
/* Single-post presentation only. Keep plugin data and authored blocks untouched. */
.nl-single .nl-article{max-width:1120px}
.nl-single .nl-article-heading{max-width:960px;margin:0 auto 2.5rem;border-top:2px solid var(--nl-clay);padding-top:1.2rem}
.nl-single .nl-article-heading h1{max-width:19ch;font-size:clamp(2.15rem,5vw,4.7rem);line-height:1.06;margin-block:1.5rem}
.nl-single .nl-article-heading .nl-kicker{display:flex;flex-wrap:wrap;gap:.5rem}
.nl-single .nl-meta{display:flex;flex-wrap:wrap;gap:.6rem 2rem;border-top:1px solid var(--nl-line);padding-top:1rem;margin-bottom:0}
.nl-single .nl-article-hero{margin:0 0 3rem;padding-bottom:1rem;border-bottom:1px solid var(--nl-line)}
.nl-single .nl-article-hero img{width:100%;height:auto}
.nl-single .nl-prose{max-width:700px;font-size:1.1rem;line-height:1.85;display:flow-root}
.nl-single .nl-prose>p:first-child,.nl-single .discomore-content>p:first-child{font-family:var(--nl-serif);font-size:1.4rem;line-height:1.65;color:var(--nl-olive)}
.nl-single .nl-prose h2{font-size:clamp(1.65rem,3vw,2.3rem);margin-top:2.7rem}
.nl-single .nl-prose figure{margin-block:2.2rem}
.nl-single .nl-prose figcaption{border-left:2px solid var(--nl-clay);padding-left:.85rem}
.nl-single .nl-prose p:has(>a[href*="visitportugal.com"]):last-of-type{border-top:1px solid var(--nl-line);padding-top:1.2rem;font-size:.85rem;color:var(--nl-muted)}
/* Discomore crops the body and adds an unbounded arrow. Always expose the full article,
   even if its delayed script sets inline heights later. Do not constrain authored SVGs. */
.nl-single .nl-prose .discomore-content{height:auto!important;max-height:none!important;overflow:visible!important;clip-path:none!important;mask-image:none!important;-webkit-mask-image:none!important}
.nl-single .nl-prose .discomore-content::after,.nl-single .nl-prose .discomore-content::before{display:none!important}
.nl-single .discomore-read-more-box,.nl-single .discomore-btn,.nl-single .saboxplugin-wrap,.nl-single .heateor_sss_sharing_container,.nl-single .heateorSssClear,.nl-single #taboola-below-article-thumbnails{display:none!important}
.nl-single .nl-article-end{max-width:700px;margin-top:2.8rem;padding-top:1.5rem}
.nl-single .nl-article-topics>a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .85rem;margin:0 .4rem .5rem 0;border:1px solid var(--nl-line);text-decoration:none;background:var(--nl-white)}
.nl-single .nl-article-tags{margin-top:.75rem}
.nl-single .nl-author{margin-block:1.8rem;padding:1.5rem;border-left:3px solid var(--nl-clay);background:var(--nl-soft)}
.nl-single .nl-author .nl-kicker{margin-bottom:.5rem}
.nl-single .nl-author-name{font:400 clamp(1.4rem,3vw,1.85rem)/1.3 var(--nl-serif);margin-bottom:.4rem}
.nl-single .nl-author-name a{text-decoration:none}
.nl-single .nl-share{padding-block:1rem;border-block:1px solid var(--nl-line)}
.nl-single .nl-share .nl-kicker{margin-bottom:.6rem}
.nl-single .nl-share>div{display:flex;flex-wrap:wrap;gap:.5rem}
.nl-single .nl-share a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:1px solid var(--nl-olive);color:var(--nl-olive);text-decoration:none}
.nl-single .nl-share a:hover{background:var(--nl-olive);color:var(--nl-white)}
.nl-single .post-navigation .nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.nl-single .post-navigation a{text-decoration:none}
.nl-single .nl-comments{padding:1.5rem;background:var(--nl-white);border:1px solid var(--nl-line)}
.nl-single .nl-comments h2{font-size:2rem;margin-bottom:1rem}
.nl-single .nl-comments h3{font-size:1.4rem}
.nl-single .nl-comments :where(.comment-notes,.logged-in-as,.comment-metadata){font-size:.8rem;color:var(--nl-muted)}
.nl-single .nl-comments .comment-list{list-style:none;padding:0}
.nl-single .nl-comments .comment-body{border-bottom:1px solid var(--nl-line);padding-bottom:1rem}
.nl-single .nl-comments .reply a{display:inline-flex;min-height:44px;align-items:center;color:var(--nl-clay)}
.nl-single .nl-comments input[type=checkbox]{width:18px;height:18px;vertical-align:middle}
.nl-single .nl-comments .form-submit{margin-bottom:0}
@media(max-width:599px){.nl-single .nl-article-heading{padding-top:1rem;margin-bottom:1.5rem}.nl-single .nl-article-heading h1{margin-block:1rem}.nl-single .nl-article-hero{margin-bottom:1.8rem}.nl-single .nl-prose{font-size:1rem;line-height:1.8}.nl-single .nl-prose>p:first-child,.nl-single .discomore-content>p:first-child{font-size:1.2rem}.nl-single .nl-author,.nl-single .nl-comments{padding:1.1rem}.nl-single .post-navigation .nav-links{grid-template-columns:minmax(0,1fr)}}
.nl-single .nl-reading-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;align-items:start}
.nl-single .nl-reading-body{min-width:0}
.nl-single .nl-recent{min-width:0;width:100%;max-width:700px;margin-inline:auto;padding:1.5rem;background:var(--nl-white);border:1px solid var(--nl-line);border-top:3px solid var(--nl-clay)}
.nl-single .nl-recent>.nl-kicker{margin-bottom:.6rem}
.nl-single .nl-recent h2{font-size:1.85rem;margin-bottom:1.4rem}
.nl-single .nl-recent-list{list-style:none;margin:0;padding:0}
.nl-single .nl-recent-list li{padding:1.2rem 0;border-top:1px solid var(--nl-line)}
.nl-single .nl-recent-list time{font-size:.75rem;color:var(--nl-muted)}
.nl-single .nl-recent-list h3{font-size:1.3rem;line-height:1.35;margin:.4rem 0 0}
.nl-single .nl-recent-list a{display:block;min-height:44px;text-decoration:none}
.nl-single .nl-recent-list a:hover{text-decoration:underline}
.nl-single .nl-recent-current{display:inline-block;font-size:.7rem;color:var(--nl-clay);margin-top:.6rem;border-left:2px solid currentColor;padding-left:.6rem}
.nl-single .nl-recent>.nl-text-link{border-top:1px solid var(--nl-line);width:100%;padding-top:1rem}
.nl-single .nl-author{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.nl-single .nl-author .nl-author-avatar{width:80px;height:80px;flex:0 0 80px;object-fit:cover;border-radius:50%;border:1px solid var(--nl-line)}
.nl-single .nl-author-copy{flex:1 1 180px;min-width:0}
@media(min-width:1024px){.nl-single .nl-reading-layout{grid-template-columns:minmax(0,700px) minmax(0,1fr);gap:3rem}.nl-single .nl-recent{position:sticky;top:1.5rem}}
@media print{.nl-single .nl-share,.nl-single .nl-recent{display:none}.nl-single .nl-reading-layout{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.nl-header,.nl-footer,.nl-skip,.nl-comments,.post-navigation{display:none}.nl-site{background:white!important;color:black!important}.nl-wrap,.nl-article,.nl-prose{width:100%;max-width:none}.nl-main{padding:0}.nl-prose a{color:black}}
