/*
Theme Name: Savoreza Editorial
Theme URI: https://savoreza.com/
Author: Savoreza
Description: A warm, responsive editorial theme for food, family, home, and everyday inspiration. Classic WordPress templates, Gutenberg patterns, local fonts, optional sidebar, and Customizer controls. No required plugins.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
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: savoreza-editorial
Tags: blog, food-and-drink, news, custom-logo, custom-menu, custom-colors, featured-images, editor-style, wide-blocks, block-patterns, right-sidebar, one-column, two-columns, translation-ready
*/

/* Foundation. Theme selectors avoid modifying third-party forms, ads, and recipe widgets. */
:root { --sv-bg:#faf7f1; --sv-surface:#fffdf9; --sv-ink:#26372d; --sv-surface-ink:#26372d; --sv-accent:#a84934; --sv-accent-ink:#fff; --sv-link:#a84934; --sv-page-link:#a84934; --sv-forest:#26372d; --sv-sage:#e6ebdf; --sv-line:#d6d5c9; --sv-gap:30px; --sv-section:84px; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body.savoreza-theme { margin:0; background:var(--sv-bg); color:var(--sv-ink); font-family:'DM Sans',system-ui,sans-serif; font-size:18px; line-height:1.75; -webkit-font-smoothing:antialiased; }
body { overflow-wrap:break-word; }
img { max-width:100%; height:auto; vertical-align:middle; }
figure { margin:0; }
h1,h2,h3,h4,h5,h6 { color:inherit; font-family:'Lora',Georgia,serif; font-weight:500; line-height:1.2; text-wrap:pretty; }
h1 { font-size:clamp(2.25rem,4.5vw,3.65rem); letter-spacing:-.04em; }
h2 { font-size:clamp(1.8rem,3vw,2.5rem); letter-spacing:-.035em; }
h3 { font-size:1.5rem; letter-spacing:-.02em; }
p { margin:0 0 1.3em; }
a { color:var(--sv-page-link); text-decoration-thickness:1px; text-underline-offset:.2em; }
a:hover { text-decoration-thickness:2px; }
button,input,textarea,select { font:inherit; }
button,a,input,textarea,select,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
[hidden] { display:none !important; }
:focus-visible { outline:3px solid currentColor; outline-offset:5px; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; overflow:hidden; position:absolute !important; white-space:nowrap; }
.skip-link:focus { clip:auto; clip-path:none; height:auto; width:auto; top:12px; left:12px; padding:12px 20px; background:var(--sv-forest); color:#fff; z-index:99999; }
.sv-container { width:min(1180px,calc(100% - 80px)); margin-inline:auto; }
.sv-icon { width:22px; height:22px; flex-shrink:0; vertical-align:middle; }
.sv-eyebrow { display:block; font-family:'DM Sans',system-ui,sans-serif; font-size:11px; font-weight:700; line-height:1.5; letter-spacing:.15em; text-transform:uppercase; }
.sv-category { color:var(--sv-page-link); text-decoration:none; padding-block:4px; min-height:24px; }
.sv-text-link { display:inline-flex; align-items:center; gap:12px; font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; padding-block:8px; }
.sv-text-link:hover { text-decoration:underline; }
.sv-button,.sv-search-form button,.comment-form .submit { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:50px; padding:12px 23px; border:1px solid transparent; border-radius:3px; background:var(--sv-forest); color:#fff; font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; }
.sv-button:hover,.sv-search-form button:hover,.comment-form .submit:hover { background:#394f40; color:#fff; }
.sv-button-outline { border-color:currentColor; background:transparent; color:var(--sv-ink); }

/* Masthead and progressively enhanced navigation. All links work without JavaScript. */
.sv-header { background:var(--sv-surface); color:var(--sv-surface-ink); border-bottom:1px solid var(--sv-line); }
.sv-masthead { min-height:115px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; }
.sv-masthead-note { font-size:11px; line-height:1.7; max-width:170px; margin:0; letter-spacing:.06em; }
.sv-brand { min-width:0; }
.sv-wordmark,.sv-footer-brand { font-family:'Lora',Georgia,serif; color:inherit; text-decoration:none; font-weight:500; letter-spacing:-.07em; }
.sv-wordmark { display:flex; align-items:center; gap:10px; font-size:48px; line-height:1.1; min-width:0; max-width:100%; }
.sv-brand-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sv-brand-mark { font-family:Georgia,serif; color:var(--sv-link); font-size:33px; letter-spacing:0; flex-shrink:0; }
.sv-brand-dot { margin-left:-7px; color:var(--sv-link); flex-shrink:0; }
.custom-logo-link { display:block; max-width:270px; }
.custom-logo { max-width:100%; max-height:80px; width:auto; }
.sv-header-actions { display:flex; gap:15px; justify-self:end; align-items:center; }
.sv-icon-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; min-width:44px; border:0; background:transparent; color:inherit; font-size:13px; }
.sv-menu-toggle { display:none; }
.sv-navigation { border-top:1px solid var(--sv-line); }
.sv-menu { list-style:none; padding:0; margin:0; display:flex; justify-content:center; flex-wrap:wrap; gap:4px 32px; }
.sv-menu li { position:relative; }
.sv-menu a { display:inline-block; padding:16px 0; font-size:12px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:inherit; text-decoration:none; }
.sv-menu a:hover,.sv-menu .current-menu-item>a { color:var(--sv-link); }
.sv-menu .sub-menu { display:none; list-style:none; margin:0; padding:10px 18px; position:absolute; top:100%; left:-18px; min-width:240px; z-index:30; border:1px solid var(--sv-line); background:var(--sv-surface); box-shadow:0 14px 30px #26372d14; }
.sv-menu .sub-menu a { display:block; padding:11px 0; font-size:12px; letter-spacing:.03em; }
.sv-menu .sub-menu .sub-menu { left:100%; top:0; }
body:not(.sv-js) .sv-menu li:hover>.sub-menu,body:not(.sv-js) .sv-menu li:focus-within>.sub-menu,.sv-menu li.sv-submenu-open>.sub-menu { display:block; }
.sv-submenu-toggle { border:0; background:transparent; color:inherit; min-width:32px; min-height:44px; padding:6px; }
.sv-submenu-toggle svg { width:13px; height:13px; }
.sv-submenu-open>.sv-submenu-toggle svg { transform:rotate(180deg); }
.sv-search-panel { border-top:1px solid var(--sv-line); padding:22px 0; }
.sv-search-panel .sv-search-form { max-width:720px; margin:auto; }
.sv-search-form { display:flex; gap:8px; align-items:stretch; width:100%; }
.sv-search-form input { min-width:0; width:100%; min-height:50px; border:1px solid #899187; border-radius:3px; padding:12px 16px; background:var(--sv-surface); color:var(--sv-surface-ink); }
.sv-search-form input::placeholder { color:inherit; opacity:.75; }
.sv-search-form button { flex-shrink:0; gap:10px; }
.sv-nojs-search { padding-block:20px; }

/* Front page. */
.sv-home-intro { text-align:center; padding:48px 0 42px; }
.sv-home-intro>.sv-eyebrow { margin-bottom:16px; color:var(--sv-page-link); }
.sv-home-intro h1 { max-width:800px; margin:0 auto 17px; font-size:clamp(2.1rem,4vw,3.2rem); line-height:1.15; }
.sv-home-intro p { max-width:590px; margin:0 auto; font-size:15px; line-height:1.8; }
.sv-featured { display:grid; grid-template-columns:1.12fr 1fr; background:var(--sv-surface); color:var(--sv-surface-ink); border:1px solid var(--sv-line); }
.sv-featured-image { display:block; min-width:0; min-height:480px; background:var(--sv-sage); overflow:hidden; }
.sv-featured-image .sv-post-image { width:100%; height:100%; min-height:480px; object-fit:cover; }
.sv-featured-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:40px 45px; }
.sv-featured-kicker { display:flex; align-items:center; gap:12px; margin-bottom:32px; }
.sv-featured-star { font-size:28px; line-height:1; color:var(--sv-link); }
.sv-featured-copy .sv-category { color:var(--sv-link); }
.sv-featured-copy h2 { font-size:clamp(1.9rem,3vw,2.7rem); margin:13px 0 18px; }
.sv-featured-copy h2 a { color:inherit; text-decoration:none; }
.sv-featured-copy h2 a:hover { text-decoration:underline; text-decoration-thickness:1px; }
.sv-featured-copy p { font-size:15px; line-height:1.8; margin-bottom:20px; }
.sv-featured-copy .sv-text-link { margin-top:20px; color:var(--sv-link); }
.sv-post-meta { display:flex; flex-wrap:wrap; gap:6px 16px; align-items:center; font-size:11px; line-height:1.6; }
.sv-post-meta>span { display:inline-flex; gap:5px; align-items:center; }
.sv-post-meta a { color:inherit; }
.sv-post-meta .sv-icon { width:14px; height:14px; }
.sv-topic-strip { padding-block:26px; margin-top:24px; border-bottom:1px solid var(--sv-line); display:flex; gap:30px; align-items:center; }
.sv-topic-strip>.sv-eyebrow { flex:0 0 170px; max-width:140px; font-size:10px; }
.sv-topic-strip ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 30px; }
.sv-topic-strip a { font-size:14px; color:inherit; text-decoration:none; white-space:normal; }
.sv-topic-strip a:hover { text-decoration:underline; }
.sv-topic-strip a span { color:var(--sv-page-link); margin-left:10px; }
.sv-section { margin-block:var(--sv-section); }
.sv-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:30px; }
.sv-section-heading .sv-eyebrow { color:var(--sv-page-link); margin-bottom:9px; }
.sv-section-heading h2 { margin:0; }
.sv-section-heading>.sv-text-link { margin-bottom:2px; flex-shrink:0; }
.sv-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px var(--sv-gap); }
.sv-post-card { min-width:0; }
.sv-card-image { display:block; aspect-ratio:4/3; background:var(--sv-sage); overflow:hidden; }
.sv-card-image .sv-post-image { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.sv-card-image:hover .sv-post-image { transform:scale(1.025); }
.sv-card-body { padding-top:20px; }
.sv-card-body .sv-card-title { font-size:24px; line-height:1.3; margin:10px 0 12px; }
.sv-card-body .sv-card-title a { color:inherit; text-decoration:none; }
.sv-card-body .sv-card-title a:hover { text-decoration:underline; text-decoration-thickness:1px; }
.sv-card-body p { font-size:14px; line-height:1.8; margin:0 0 15px; }
.sv-image-fallback { display:flex; height:100%; min-height:180px; align-items:center; justify-content:center; background:linear-gradient(135deg,#e6ebdf,#f3e6dd); color:#52654c; }
.sv-image-fallback .sv-icon { width:60px; height:60px; }
.sv-home-page-content { margin-top:60px; }
.sv-latest { padding-top:50px; border-top:1px solid var(--sv-line); }
.sv-more-stories { display:flex; width:max-content; margin:40px auto 0; }
.sv-newsletter { background:var(--sv-sage); color:var(--sv-forest); padding:48px 55px; margin-block:var(--sv-section); display:grid; grid-template-columns:1.5fr 1fr; align-items:center; gap:55px; position:relative; border:1px solid #ccd4c5; }
.sv-newsletter-copy .sv-eyebrow { color:#7f3829; }
.sv-newsletter h2 { font-size:32px; margin:12px 0 18px; max-width:540px; }
.sv-newsletter p { font-size:14px; margin:0; max-width:510px; }
.sv-newsletter-form { justify-self:center; width:100%; }
.sv-newsletter-form>.sv-button { width:100%; }
.sv-newsletter .sv-widget { margin:0; }
.sv-newsletter a:not(.sv-button) { color:#7f3829; }
.sv-newsletter .wp-block-button__link { background:var(--sv-forest); color:#fff; }

/* Archives and static pages. */
.sv-archive { padding-block:55px 90px; }
.sv-archive-heading { max-width:800px; margin:0 auto 52px; text-align:center; }
.sv-archive-heading .sv-eyebrow { color:var(--sv-page-link); }
.sv-archive-heading h1 { margin:13px 0 20px; }
.sv-archive-heading p { font-size:16px; }
.sv-archive-heading .sv-search-form { max-width:600px; margin:28px auto; }
.sv-breadcrumbs { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:28px; font-size:12px; }
.sv-breadcrumbs a { color:inherit; text-decoration:none; }
.sv-breadcrumbs a:hover { text-decoration:underline; }
.navigation.pagination { margin:55px 0 0; text-align:center; }
.pagination .nav-links { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.page-numbers { min-width:44px; min-height:44px; padding:8px 14px; border:1px solid var(--sv-line); color:inherit; text-decoration:none; font-size:14px; }
.page-numbers.current { background:var(--sv-forest); color:#fff; border-color:var(--sv-forest); }
.sv-empty { margin:40px auto; text-align:center; padding:50px 25px; border:1px solid var(--sv-line); max-width:800px; }
.sv-empty h2 { margin-top:0; }
.sv-empty .sv-search-form { max-width:550px; margin:25px auto; }
.sv-not-found { max-width:850px; padding-block:65px 90px; text-align:center; }
.sv-not-found .sv-search-form { max-width:600px; margin:30px auto; }
.sv-featured-image .sv-image-fallback { min-height:480px; }
.sv-page { padding-block:55px 85px; }
.sv-page-header { text-align:center; max-width:850px; margin:0 auto 45px; }
.sv-page-header h1 { margin:0; }
.sv-page>.entry-content { max-width:760px; margin:auto; }
.sv-page-featured { margin:0 auto 40px; max-width:1000px; }
.sv-page-featured img { width:100%; max-height:600px; object-fit:cover; }

/* Article: generous reading measure, plugin-friendly content, and an optional side rail. */
.sv-article-header { max-width:900px; text-align:center; padding-block:42px 38px; }
.sv-article-header h1 { margin:16px auto 23px; font-size:clamp(2.15rem,4.5vw,3.55rem); line-height:1.16; }
.sv-article-header .sv-post-meta { justify-content:center; font-size:12px; }
.sv-article-deck { font-size:18px; line-height:1.7; max-width:750px; margin:25px auto 0; }
.sv-article-featured { margin-bottom:45px; }
.sv-article-featured>img { display:block; width:100%; height:auto; max-height:640px; object-fit:cover; }
.sv-article-featured figcaption { font-size:12px; margin-top:9px; text-align:center; }
.sv-article-layout { max-width:840px; display:grid; grid-template-columns:minmax(0,1fr); }
.sv-article-layout.sv-has-sidebar { max-width:1180px; grid-template-columns:minmax(0,760px) minmax(0,280px); gap:80px; }
.sv-article-column { min-width:0; }
.sv-article-column>.entry-content { font-size:19px; line-height:1.85; }
.entry-content { display:flow-root; }
.entry-content::after { content:''; display:table; clear:both; }
.entry-content>:first-child { margin-top:0; }
.entry-content h2 { font-size:32px; margin-top:1.9em; margin-bottom:.7em; scroll-margin-top:30px; }
.entry-content h3 { font-size:25px; margin-top:1.6em; margin-bottom:.6em; scroll-margin-top:30px; }
.entry-content h4 { font-size:21px; margin-top:1.4em; }
.entry-content a { text-decoration:underline; }
.entry-content ul,.entry-content ol { padding-left:1.4em; }
.entry-content li { margin-bottom:.5em; }
.entry-content blockquote { margin:35px 0; padding:8px 0 8px 25px; border-left:3px solid var(--sv-accent); font-size:23px; font-family:'Lora',Georgia,serif; }
.entry-content blockquote cite { display:block; font:13px/1.6 'DM Sans',sans-serif; }
.entry-content figcaption,.wp-caption-text { font-size:13px; line-height:1.6; text-align:center; }
.entry-content img { height:auto; }
.entry-content iframe,.entry-content video { max-width:100%; }
.entry-content pre { overflow:auto; max-width:100%; padding:20px; background:#e6ebdf; color:#26372d; font-size:14px; }
.entry-content code { font-size:.9em; }
.entry-content table { border-collapse:collapse; width:100%; font-size:15px; line-height:1.6; }
.entry-content th,.entry-content td { border:1px solid var(--sv-line); padding:14px 16px; text-align:start; vertical-align:top; }
.entry-content th { background:#e6ebdf; color:#26372d; font-weight:600; }
.entry-content .wp-block-table,.sv-table-scroll { max-width:100%; overflow-x:auto; margin-block:30px; }
.entry-content .wp-block-table table { min-width:520px; }
.sv-table-scroll table { min-width:520px; }
.entry-content .alignwide { width:100%; max-width:none; }
.entry-content .alignfull { width:100%; max-width:none; margin-inline:0; }
.alignleft { float:left; margin:6px 25px 20px 0; }
.alignright { float:right; margin:6px 0 20px 25px; }
.aligncenter { display:block; margin-inline:auto; }
.wp-caption { max-width:100%; }
.gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.gallery-item { margin:0; }
.gallery-caption { font-size:12px; }
.sticky .sv-card-body .sv-card-title::before { content:'✳ '; color:var(--sv-page-link); }
.bypostauthor { border-left:2px solid var(--sv-accent); padding-left:15px; }
.sv-toc { background:var(--sv-surface); color:var(--sv-surface-ink); border:1px solid var(--sv-line); padding:21px 26px; margin-bottom:35px; }
.sv-toc summary { font-size:13px; font-weight:700; letter-spacing:.06em; cursor:pointer; padding-block:3px; }
.sv-toc ol { padding-left:20px; margin:16px 0 0; font-size:14px; line-height:1.7; }
.sv-toc li { padding:3px 0; }
.sv-toc .sv-toc-sub { margin-left:18px; }
.sv-toc a { color:inherit; text-decoration:none; }
.sv-toc a:hover { text-decoration:underline; }
.sv-article-footer { margin:35px 0; font-size:13px; }
.sv-post-tags { display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
.sv-post-tags a { padding:4px 10px; border:1px solid var(--sv-line); border-radius:2px; text-decoration:none; }
.sv-author-box { display:flex; gap:22px; align-items:flex-start; background:#e6ebdf; color:#26372d; padding:28px; margin-block:40px; }
.sv-author-initial { display:grid; place-items:center; width:60px; height:60px; flex-shrink:0; border-radius:50%; background:#26372d; color:#fff; font:28px 'Lora',serif; }
.sv-author-box h2 { font-size:23px; margin:6px 0 10px; }
.sv-author-box a { color:inherit; }
.sv-author-box p { font-size:14px; margin:0; }
.post-navigation { margin-block:40px; padding-block:25px; border-block:1px solid var(--sv-line); }
.post-navigation .nav-links { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.post-navigation a { display:block; color:inherit; text-decoration:none; font:20px/1.4 'Lora',serif; }
.post-navigation .sv-eyebrow { color:var(--sv-page-link); margin-bottom:12px; }
.post-navigation .nav-next { text-align:right; }
.sv-sidebar { min-width:0; padding-top:0; }
.sv-sidebar-intro { background:#f3e6dd; color:#26372d; padding:30px; text-align:center; margin-bottom:35px; border:1px solid #dfcdbd; }
.sv-sidebar-intro>.sv-icon { width:38px; height:38px; margin-bottom:18px; }
.sv-sidebar-intro h2 { font-size:27px; margin:0 0 12px; }
.sv-sidebar-intro p { font-size:14px; margin:0; }
.sv-sidebar-heading { font-size:23px; margin-bottom:22px; }
.sv-card-compact { display:grid; grid-template-columns:82px minmax(0,1fr); gap:15px; padding:18px 0; border-bottom:1px solid var(--sv-line); }
.sv-card-compact .sv-card-image { aspect-ratio:1; }
.sv-card-compact .sv-card-body { padding:0; }
.sv-card-compact .sv-card-title { font-size:16px; line-height:1.4; margin:6px 0 0; }
.sv-card-compact .sv-eyebrow { font-size:9px; letter-spacing:.08em; }
.sv-card-compact .sv-post-meta { display:none; }
.sv-widget { margin-bottom:30px; min-width:0; }
.sv-widget .widget-title { font-size:23px; }
.sv-widget ul { padding-left:20px; }
.sv-before-article,.sv-after-article { margin-block:30px; }
.sv-widget-area:empty { display:none; }
.sv-related { border-top:1px solid var(--sv-line); padding-top:55px; }

/* Reusable Gutenberg groups: content persists when themes change. */
.entry-content .is-style-sv-summary,.editor-styles-wrapper .is-style-sv-summary { background:#e6ebdf; color:#26372d; padding:28px 32px; border-left:4px solid #52654c; margin-block:32px; }
.entry-content .is-style-sv-product,.editor-styles-wrapper .is-style-sv-product { background:var(--sv-surface,#fffdf9); color:var(--sv-surface-ink,#26372d); border:1px solid #d6d5c9; padding:28px; margin-block:32px; }
.entry-content .is-style-sv-cta,.editor-styles-wrapper .is-style-sv-cta { background:#26372d; color:#fffdf9; padding:35px; margin-block:32px; }
.entry-content .is-style-sv-cta a:not(.wp-block-button__link) { color:#fff; }
.entry-content .is-style-sv-cta .wp-block-button__link { background:#fffdf9; color:#26372d; }
.entry-content :is(.is-style-sv-summary,.is-style-sv-product,.is-style-sv-cta) h2 { margin-top:0; font-size:27px; }
.entry-content :is(.is-style-sv-summary,.is-style-sv-product,.is-style-sv-cta)>:last-child { margin-bottom:0; }
.entry-content .sv-pros { background:#e6ebdf; color:#26372d; padding:25px; }
.entry-content .sv-cons { background:#f3e6dd; color:#26372d; padding:25px; }
.entry-content .sv-pros h3,.entry-content .sv-cons h3 { margin-top:0; font-size:24px; }
.entry-content .wp-block-button__link { font-family:'DM Sans',sans-serif; font-size:14px; text-decoration:none; padding:13px 24px; border-radius:3px; }
.entry-content .wp-block-columns { gap:24px; }

/* Standard WordPress comments. */
.comments-area { margin-top:50px; }
.comments-title,.comment-reply-title { font-size:28px; }
.comment-list { list-style:none; padding:0; }
.comment-list .children { list-style:none; padding-left:25px; }
.comment-body { padding-block:22px; border-bottom:1px solid var(--sv-line); font-size:15px; }
.comment-metadata,.reply,.comment-notes,.logged-in-as { font-size:13px; }
.comment-form label { display:block; font-size:14px; }
.comment-form input:not([type=checkbox]):not([type=submit]),.comment-form textarea,.post-password-form input[type=password] { display:block; width:100%; border:1px solid #899187; background:var(--sv-surface); color:var(--sv-surface-ink); border-radius:3px; padding:12px; }
.comment-form input[type=checkbox] { width:20px; height:20px; vertical-align:middle; }
.comment-form-cookies-consent label { display:inline; }
.comment-form textarea { min-height:180px; }

/* Footer. */
.sv-footer { background:var(--sv-forest); color:#f6f4ed; margin-top:20px; }
.sv-footer a { color:inherit; }
.sv-footer-top { display:flex; gap:40px; justify-content:space-between; align-items:center; padding-block:52px 38px; }
.sv-footer-brand { font-size:40px; line-height:1.1; }
.sv-footer-brand span { color:#f2c2a3; }
.sv-footer-top>div { min-width:0; }
.sv-footer-top p { font-size:12px; margin:15px 0 0; }
.sv-footer-links { display:flex; gap:18px 28px; flex-wrap:wrap; list-style:none; padding:0; margin:0; max-width:550px; }
.sv-footer-links a { font-size:13px; text-decoration:none; padding:8px 0; display:inline-block; }
.sv-footer-links a:hover { text-decoration:underline; }
.sv-footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #6f7d6d; padding-block:20px 25px; font-size:11px; }
.sv-footer-bottom p { margin:0; }
.sv-footer-bottom a { text-decoration:none; }
.sv-footer-blocks { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:30px; padding-bottom:20px; }
.sv-density-compact { --sv-section:58px; --sv-gap:24px; }

/* Tablet. */
@media (max-width:1050px) {
    .sv-container { width:calc(100% - 48px); }
    .sv-menu { gap:3px 20px; }
    .sv-featured-copy { padding:30px; }
    .sv-featured-kicker { margin-bottom:22px; }
    .sv-featured-image,.sv-featured-image .sv-post-image { min-height:450px; }
    .sv-topic-strip { gap:20px; }
    .sv-topic-strip ul { gap:10px 20px; }
    .sv-article-layout.sv-has-sidebar { grid-template-columns:minmax(0,1fr) 240px; gap:40px; }
    .sv-sidebar-intro { padding:25px 18px; }
    .sv-newsletter { padding:35px; gap:30px; }
    .sv-card-body .sv-card-title { font-size:21px; }
}
@media (max-width:800px) {
    :root { --sv-section:60px; --sv-gap:24px; }
    .sv-masthead { min-height:95px; grid-template-columns:1fr auto; }
    .sv-masthead-note { display:none; }
    .sv-wordmark { font-size:40px; }
    .sv-brand-mark { font-size:28px; }
    .sv-menu-toggle { display:inline-flex; }
    .sv-navigation .sv-container { width:calc(100% - 48px); }
    .sv-js .sv-navigation:not(.sv-is-open) { display:none; }
    .sv-menu { display:block; padding-block:12px; }
    .sv-menu li { display:flex; flex-wrap:wrap; align-items:center; }
    .sv-menu a { flex:1; padding:13px 0; }
    .sv-menu .sub-menu,.sv-menu .sub-menu .sub-menu { position:static; width:100%; box-shadow:none; border:0; border-left:1px solid var(--sv-line); padding:0 0 0 20px; margin-bottom:8px; }
    .sv-menu .sub-menu a { padding:12px 0; }
    body:not(.sv-js) .sv-menu .sub-menu { display:block; }
    .sv-header-actions { gap:4px; }
    .sv-featured { grid-template-columns:1fr 1fr; }
    .sv-featured-copy h2 { font-size:30px; }
    .sv-featured-copy { padding:28px; }
    .sv-featured-image,.sv-featured-image .sv-post-image { min-height:470px; }
    .sv-featured-copy p { font-size:14px; }
    .sv-featured-kicker .sv-eyebrow { font-size:9px; }
    .sv-featured-kicker { margin-bottom:25px; }
    .sv-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sv-topic-strip { display:block; }
    .sv-topic-strip>.sv-eyebrow { max-width:none; margin-bottom:15px; }
    .sv-article-layout.sv-has-sidebar { grid-template-columns:minmax(0,1fr); max-width:760px; }
    .sv-sidebar { margin-top:25px; border-top:1px solid var(--sv-line); padding-top:35px; }
    .sv-sidebar-intro { padding:30px; }
    .sv-card-compact { grid-template-columns:100px 1fr; }
    .sv-card-compact .sv-card-title { font-size:20px; }
    .sv-newsletter { grid-template-columns:1fr; gap:25px; }
    .sv-newsletter-form { max-width:450px; justify-self:start; }
    .sv-footer-top { align-items:flex-start; }
    .sv-footer-links { justify-content:flex-end; }
}

/* Phones. */
@media (max-width:600px) {
    :root { --sv-section:48px; --sv-gap:20px; }
    body.savoreza-theme { font-size:17px; }
    .sv-container,.sv-navigation .sv-container { width:calc(100% - 36px); }
    .sv-masthead { min-height:84px; gap:12px; }
    .sv-wordmark { font-size:33px; gap:7px; }
    .sv-brand-mark { font-size:24px; }
    .sv-brand-dot { margin-left:-5px; }
    .sv-menu-toggle>span { display:none; }
    .custom-logo-link { max-width:195px; }
    .custom-logo { max-height:60px; }
    .sv-home-intro { padding:34px 0 30px; }
    .sv-home-intro h1 { font-size:34px; margin-bottom:16px; }
    .sv-home-intro>.sv-eyebrow { font-size:9px; letter-spacing:.12em; }
    .sv-home-intro p { font-size:14px; max-width:340px; }
    .sv-featured { grid-template-columns:1fr; }
    .sv-featured-image { min-height:0; aspect-ratio:4/3; }
    .sv-featured-image .sv-post-image { min-height:0; height:100%; }
    .sv-featured-image .sv-image-fallback { min-height:0; height:100%; }
    .sv-featured-copy { padding:27px 25px 29px; }
    .sv-featured-kicker { margin-bottom:22px; }
    .sv-featured-copy h2 { font-size:31px; margin-top:12px; }
    .sv-featured-copy p { font-size:15px; }
    .sv-featured-copy .sv-text-link { margin-top:16px; }
    .sv-post-meta { font-size:11px; }
    .sv-topic-strip { margin-top:12px; padding-block:23px; }
    .sv-topic-strip ul { gap:12px 22px; }
    .sv-topic-strip a { font-size:13px; }
    .sv-topic-strip a span { margin-left:5px; }
    .sv-section-heading { margin-bottom:24px; gap:12px; }
    .sv-section-heading h2 { font-size:30px; }
    .sv-section-heading .sv-eyebrow { font-size:9px; }
    .sv-section-heading>.sv-text-link { font-size:12px; gap:5px; }
    .sv-section-heading>.sv-text-link .sv-icon { width:18px; }
    .sv-card-grid { grid-template-columns:1fr; gap:34px; }
    .sv-card-body { padding-top:17px; }
    .sv-card-body .sv-card-title { font-size:25px; margin-block:10px; }
    .sv-card-body p { font-size:15px; }
    .sv-newsletter { padding:30px 25px; }
    .sv-newsletter h2 { font-size:29px; }
    .sv-newsletter p { font-size:14px; }
    .sv-newsletter-form { max-width:none; }
    .sv-archive { padding-block:35px 55px; }
    .sv-archive-heading { margin-bottom:35px; }
    .sv-archive-heading h1 { font-size:36px; }
    .sv-breadcrumbs { margin-bottom:22px; font-size:11px; }
    .sv-article-header { padding-block:28px 30px; }
    .sv-article-header h1 { font-size:35px; margin-top:12px; }
    .sv-article-header .sv-post-meta { font-size:11px; gap:8px 14px; }
    .sv-article-deck { font-size:16px; margin-top:20px; }
    .sv-article-featured { margin-bottom:28px; }
    .sv-article-featured>img { max-height:none; }
    .sv-article-column>.entry-content { font-size:18px; line-height:1.85; }
    .entry-content h2 { font-size:29px; }
    .entry-content h3 { font-size:24px; }
    .entry-content .is-style-sv-summary,.entry-content .is-style-sv-product,.entry-content .is-style-sv-cta { padding:24px; }
    .entry-content blockquote { font-size:21px; padding-left:20px; }
    .entry-content .alignleft,.entry-content .alignright { float:none; margin:25px auto; }
    .sv-toc { padding:18px 22px; }
    .sv-author-box { padding:24px; gap:16px; }
    .sv-author-initial { width:44px; height:44px; font-size:23px; }
    .sv-author-box h2 { font-size:23px; }
    .post-navigation a { font-size:17px; }
    .post-navigation .sv-eyebrow { font-size:9px; }
    .sv-search-form button { padding-inline:15px; }
    .sv-search-form button .sv-icon { display:none; }
    .sv-page { padding-block:35px 55px; }
    .sv-footer-top { flex-direction:column; gap:22px; padding-block:36px 28px; }
    .sv-footer-links { justify-content:flex-start; gap:10px 25px; }
    .sv-footer-brand { font-size:35px; }
    .sv-footer-bottom { flex-wrap:wrap; font-size:10px; }
    .sv-card-compact { grid-template-columns:90px 1fr; }
    .sv-card-compact .sv-card-title { font-size:18px; }
}
@media (max-width:360px) {
    .sv-wordmark { font-size:25px; gap:0; }
    .sv-brand-mark,.sv-brand-dot { display:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; transition:none !important; } }
@media print {
    .sv-header,.sv-footer,.sv-sidebar,.sv-newsletter,.sv-related,.sv-toc,.comments-area,.post-navigation,.sv-widget-area,.skip-link { display:none !important; }
    body.savoreza-theme { background:#fff; color:#000; font-size:12pt; }
    .sv-container,.sv-article-layout.sv-has-sidebar { width:100%; max-width:none; display:block; }
    .sv-article-header { padding:0 0 20px; }
    .sv-article-header h1 { font-size:30pt; }
    .sv-article-featured { max-width:600px; margin:auto auto 20px; }
    .sv-article-column>.entry-content { font-size:12pt; line-height:1.6; }
    a { color:#000; }
    h2,h3 { break-after:avoid; }
    img,tr,.sv-author-box { break-inside:avoid; }
}
