@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--accent:#c94829;--accent-dark:#9e331d;--ink:#24201b;--muted:#7f7770;--border:#eae5dd;--soft:#f9f5ef;--cream:#fffdf9;--shadow:0 18px 50px rgba(43,29,17,.08);--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em}p{line-height:1.7}.container{width:min(1290px,calc(100% - 72px));margin:auto}.container-narrow{width:min(850px,calc(100% - 36px));margin:auto}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--accent);text-transform:uppercase}.serif{font-family:var(--serif);font-weight:400}.muted{color:var(--muted)}.divider{height:1px;background:var(--border)}.loading-initial{padding:100px;text-align:center;color:var(--muted)}
.site-header{background:#fff;position:relative;top:auto;z-index:40;border-bottom:1px solid #f0ede8}.nav-main{height:94px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{width:45px;height:45px;border-radius:13px;background:var(--accent);color:#fff;display:grid;place-items:center;flex-shrink:0}.brand-mark svg{width:30px;height:30px}.brand-words{display:flex;flex-direction:column;line-height:1.05}.brand-main{font-family:var(--serif);font-size:25px;letter-spacing:-.6px;white-space:nowrap}.brand-sub{font-size:9px;font-weight:700;letter-spacing:.19em;color:var(--accent);text-transform:uppercase;margin-top:5px}.brand-custom{height:47px;max-width:180px;object-fit:contain}.nav-links{display:flex;gap:32px;align-items:center}.nav-links a{font-size:13px;font-weight:700;color:#4a443c;white-space:nowrap}.nav-links a:hover,.nav-links .is-active{color:var(--accent)}.nav-right{display:flex;gap:14px;align-items:center}.search-mini{border:1px solid var(--border);width:224px;border-radius:999px;display:flex;align-items:center;padding:0 13px;gap:9px;height:41px;background:#fff}.search-mini svg{width:17px;color:#aaa}.search-mini input{border:0;outline:0;width:100%;background:transparent;font-size:12px;min-width:0}.icon-btn{border:0;background:transparent;padding:7px;display:grid;place-items:center;color:var(--ink)}.icon-btn svg{width:23px;height:23px}.mobile-menu-btn{display:none}.mobile-drawer{display:none;position:absolute;left:0;right:0;top:100%;background:white;box-shadow:var(--shadow);padding:16px 27px 25px;border-top:1px solid var(--border)}.mobile-drawer.open{display:flex;flex-direction:column;gap:6px}.mobile-drawer a{padding:12px 6px;font-weight:700;font-size:14px;border-bottom:1px solid var(--border)}
.announcement{background:var(--accent);color:white;text-align:center;padding:9px 16px;font-size:12px;font-weight:600}.hero{padding:64px 0 30px}.hero-grid{display:grid;grid-template-columns:1fr .92fr;min-height:522px;gap:44px;align-items:center}.hero-copy{padding:22px 10px 25px 12px}.hero-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,5.8vw,94px);line-height:.99;max-width:720px;letter-spacing:-.047em;margin:22px 0 26px}.hero-copy h1 em{font-weight:400;color:var(--accent)}.hero-copy p{max-width:510px;font-size:16px;color:#746b62;line-height:1.85;margin-bottom:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:7px;padding:13px 20px;font-weight:800;font-size:13px;transition:.16s ease;color:white;background:var(--accent)}.btn:hover{transform:translateY(-1px);background:var(--accent-dark)}.btn-outline{border:1px solid #d8cec3;background:transparent;color:var(--ink)}.btn-outline:hover{background:var(--soft);color:var(--ink)}.btn-light{background:#fff;color:var(--accent)}.btn-light:hover{background:#fff4eb;color:var(--accent-dark)}.btn svg{width:16px;height:16px}.hero-visual{position:relative;height:500px;border-radius:160px 12px 160px 12px;overflow:hidden;background:#665646}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.93)}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(21,26,16,.34))}.hero-sticker{position:absolute;bottom:23px;left:23px;z-index:1;background:white;padding:18px 23px;border-radius:8px;box-shadow:var(--shadow);max-width:260px}.hero-sticker strong{display:block;font:400 24px var(--serif)}.hero-sticker span{font-size:11px;color:var(--muted)}
.section-pad{padding:60px 0 80px}.section-top{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:29px}.section-title{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.2vw,48px);line-height:1.13;letter-spacing:-.025em;margin:7px 0 0}.section-lead{font-size:14px;color:var(--muted);margin:7px 0 0}.section-link{font-size:12px;font-weight:800;color:var(--accent);white-space:nowrap;padding-bottom:7px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px}.category-tile{height:245px;border-radius:17px;overflow:hidden;position:relative;display:block;background:#55473d;isolation:isolate}.category-tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.category-tile:hover img{transform:scale(1.055)}.category-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.78));z-index:0}.category-tile h3{position:absolute;bottom:18px;left:21px;right:16px;color:#fff;font-size:clamp(22px,2.3vw,34px);line-height:1.08;font-weight:800;letter-spacing:-.04em;margin:0;z-index:1}.tile-arrow{position:absolute;top:14px;right:15px;color:#fff;z-index:1;opacity:0;transform:translate(-3px,3px);transition:.2s}.category-tile:hover .tile-arrow{opacity:1;transform:none}
.feature-band{background:#f5efe6;padding:66px 0}.feature-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.feature-layout img{height:360px;width:100%;object-fit:cover;border-radius:12px}.feature-layout h2{font:400 49px/1.12 var(--serif);margin:13px 0 21px}.feature-layout p{color:var(--muted);font-size:15px}.feature-layout .btn{margin-top:10px}
.breadcrumb{font-size:11px;color:#897f74;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.breadcrumb a{color:var(--accent);font-weight:700}.page-head{padding:65px 0 36px}.page-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5vw,76px);line-height:1.08;margin:16px 0 13px}.page-head p{font-size:15px;color:var(--muted);max-width:640px}.small-rule{height:3px;width:43px;background:var(--accent);margin-top:24px}.category-results{padding:0 0 88px}.listing-bar{display:flex;justify-content:space-between;align-items:center;padding:18px 0 24px;gap:15px}.listing-bar strong{font-size:13px}.filter-select{font-size:12px;padding:10px 15px;border:1px solid var(--border);border-radius:7px;background:white;color:#655c53}.recipes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.recipe-tile{height:460px;background:#fff;border:1px solid #eee8df;border-radius:14px;overflow:hidden;box-shadow:0 8px 28px rgba(41,27,14,.035);display:flex;flex-direction:column;min-height:410px}.recipe-photo{height:230px;flex:0 0 50%;overflow:hidden;background:var(--soft);position:relative}.recipe-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.recipe-tile:hover .recipe-photo img{transform:scale(1.035)}.recipe-info{padding:20px 21px 22px;flex:1;display:flex;flex-direction:column}.recipe-category{font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-weight:800}.recipe-info h3{font:400 26px/1.2 var(--serif);margin:9px 0}.recipe-info p{font-size:12px;color:var(--muted);line-height:1.65;margin-bottom:19px}.recipe-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:13px;border-top:1px solid var(--border);color:#645951;font-size:11px;font-weight:700}.preview-pill{position:absolute;top:13px;left:13px;background:#fff;font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;padding:9px 11px;border-radius:5px;color:#8e583f}.empty-note{background:#fffaf3;border:1px dashed #dfc7b0;border-radius:10px;padding:14px 18px;margin:0 0 24px;font-size:12px;color:#885e41}.not-found{text-align:center;padding:120px 25px}.not-found h1{font:400 60px var(--serif)}
.article-shell{background:#fff}.article-head{padding:45px 0 16px}.article-head .breadcrumb{margin-bottom:30px}.article-head h1{font-family:var(--sans);font-weight:800;font-size:clamp(32px,4vw,57px);line-height:1.12;letter-spacing:-.045em;max-width:760px;margin:0 0 17px}.article-kicker{font:400 14px Georgia,serif;color:#5b554e}.article-kicker strong{font-family:var(--sans);font-size:12px;color:var(--accent)}.article-description{font:400 15px/1.9 Georgia,serif;color:#34302a;margin:25px 0}.article-actions{display:flex;flex-wrap:wrap;gap:10px;margin:23px 0}.article-actions button,.article-actions a{background:#fff;border:1.5px solid #29241f;border-radius:6px;padding:11px 12px;font:700 12px var(--sans);display:inline-flex;align-items:center;gap:8px}.article-actions svg{height:15px;width:15px}.article-actions a:hover,.article-actions button:hover{background:var(--soft)}.author-row{display:flex;align-items:center;gap:12px;margin:25px 0 8px}.author-avatar{height:47px;width:47px;border-radius:50%;display:grid;place-items:center;background:#e2d2b9;color:#78452d;font:700 22px var(--serif)}.author-row small{display:block;color:var(--muted);font-size:11px;line-height:1.55}.author-row b{color:var(--accent)}.article-photo{margin:10px auto 32px;max-width:850px}.article-photo img{width:100%;height:min(550px,65vw);min-height:260px;object-fit:cover;border-radius:15px}.article-photo figcaption{text-align:center;font-size:10px;color:var(--muted);margin-top:14px}.article-body{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.95;color:#24211f}.article-body>p{line-height:1.95;margin:0 0 24px}.article-body h2{font:400 34px/1.2 var(--serif);margin:42px 0 20px}.article-body h3{font:700 21px/1.35 var(--sans);margin:29px 0 13px}.article-body ul,.article-body ol{padding-left:25px}.article-body li{margin-bottom:9px}.article-body figure{margin:36px 0}.article-body figure img{width:100%;border-radius:14px;max-height:550px;object-fit:cover}.article-body figure figcaption{font:400 11px var(--sans);color:var(--muted);text-align:center;margin-top:9px}.highlight-section{background:var(--soft);border-radius:12px;padding:24px 29px;border:1px solid var(--border)}.highlight-section h2{margin-top:0}.faq-section{margin:45px auto}.faq-item{border-bottom:1px solid var(--border);padding:16px 0}.faq-item summary{font:700 14px var(--sans);cursor:pointer;list-style:none;display:flex;justify-content:space-between}.faq-item summary:after{content:'+';font-size:20px;color:var(--accent)}.faq-item[open] summary:after{content:'−'}.faq-item p{margin:10px 0;font-size:15px}
.print-card{border:1px solid #e1ddd6;border-radius:14px;padding:34px;margin:55px auto 72px;scroll-margin-top:113px;background:#fff;box-shadow:0 7px 40px #3724140a}.print-card-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.print-card h2{font:400 37px/1.15 var(--serif);margin:10px 0}.print-card p{font-size:13px;color:#665d55}.recipe-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:9px;padding:19px 0;margin:25px 0;gap:10px}.recipe-metrics>div{text-align:center;border-right:1px solid var(--border)}.recipe-metrics>div:last-child{border-right:0}.recipe-metrics small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:700;margin-bottom:6px}.recipe-metrics strong{font-size:13px}.recipe-card-columns{display:grid;grid-template-columns:1fr 1.15fr;gap:34px}.recipe-card-columns h3{font:400 27px var(--serif)}.recipe-card-columns li{font-size:13px;line-height:1.6;margin-bottom:11px;padding-left:4px}.recipe-card-columns ul,.recipe-card-columns ol{padding-left:18px}.recipe-nutrition{border-top:1px solid var(--border);margin-top:25px;padding-top:15px}.recipe-nutrition h3{font:400 22px var(--serif);margin:0 0 12px}.recipe-nutrition>div{display:flex;gap:12px 23px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.recipe-nutrition b{text-transform:capitalize;color:var(--ink)}.recipe-group{font-weight:800;font-size:11px;text-transform:uppercase;color:var(--accent);margin:19px 0 8px}.print-toolbar{display:flex;gap:7px;align-items:center}.print-toolbar .btn{padding:10px 12px;font-size:12px}.preview-banner{font:700 11px var(--sans);letter-spacing:.03em;border-radius:6px;background:#fff4e9;color:#9d552b;padding:10px 13px;margin:0 0 25px}
.site-footer{background:#25221f;color:#fff;padding:65px 0 21px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:90px;margin-bottom:65px}.footer-brand .brand-main{color:white}.footer-brand p{font-size:13px;color:#b3ada6;max-width:330px;margin-top:17px}.footer-grid h4{font:700 12px var(--sans);letter-spacing:.11em;text-transform:uppercase;margin:6px 0 20px}.footer-grid a{display:block;font-size:13px;color:#b3ada6;margin-bottom:15px}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid #4b4743;padding-top:20px;display:flex;justify-content:space-between;gap:10px;color:#a49d95;font-size:11px}.toast{position:fixed;bottom:24px;right:24px;z-index:1000;background:#26221f;color:#fff;padding:13px 18px;border-radius:9px;box-shadow:var(--shadow);font:600 13px var(--sans);opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.toast.visible{opacity:1;transform:none}
/* Admin */
.admin-body{background:#f7f6f3}.admin-layout{display:flex;min-height:100vh}.admin-side{width:255px;flex-shrink:0;background:#fff;border-right:1px solid #eeeae5;position:sticky;top:0;height:100vh;padding:29px 17px;display:flex;flex-direction:column;gap:19px;overflow:auto}.admin-side-brand{display:flex;gap:10px;align-items:center;padding:0 10px 18px;border-bottom:1px solid var(--border)}.admin-side-brand .brand-mark{height:37px;width:37px}.admin-side-brand .brand-mark svg{width:23px}.admin-side-brand strong{font:400 21px var(--serif);line-height:1}.admin-side-brand small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.admin-side-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#a8a099;font-weight:800;padding:8px 12px 0}.admin-side-links{display:flex;flex-direction:column;gap:3px}.admin-side-links a{display:flex;align-items:center;gap:12px;border-radius:7px;padding:12px 13px;font-size:12px;font-weight:700;color:#70675f}.admin-side-links a svg{width:17px;height:17px}.admin-side-links a:hover{background:var(--soft)}.admin-side-links a.is-active{background:#fbeee8;color:var(--accent)}.admin-side-bottom{margin-top:auto;border-top:1px solid var(--border);padding-top:15px}.admin-main{flex:1;min-width:0}.admin-topbar{height:86px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:12px}.admin-topbar h1{font:400 27px var(--serif);margin:0}.admin-topbar-right{display:flex;gap:13px;align-items:center}.admin-topbar-right a{font-size:12px;font-weight:800;color:var(--accent)}.admin-content{max-width:1220px;margin:0 auto;padding:35px 38px 70px}.admin-intro{font-size:13px;color:var(--muted);margin-bottom:25px}.admin-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:28px}.stat-card,.admin-panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 8px 30px rgba(30,20,10,.018)}.stat-card small{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.stat-card strong{display:block;font:400 48px var(--serif);margin:10px 0 0}.stat-card span{font-size:11px;color:var(--muted)}.admin-panel{margin-bottom:20px}.admin-panel h2{font:400 26px var(--serif);margin:0 0 15px}.admin-panel p{font-size:13px;color:var(--muted)}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-field{display:flex;flex-direction:column;gap:7px;margin:0 0 16px}.form-field label{font-size:11px;font-weight:800;color:#5d514b}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #e3dcd3;background:#fff;padding:12px 13px;border-radius:7px;outline:0;color:var(--ink);font:400 13px var(--sans)}.form-field textarea{min-height:95px;resize:vertical;line-height:1.6}.form-field textarea.mono{font:12px/1.6 monospace;min-height:155px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c9482917}.form-field small{font-size:11px;color:var(--muted)}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.admin-table th{color:#8b8077;font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:#fcfaf7}.admin-table th,.admin-table td{padding:13px;border-bottom:1px solid var(--border)}.admin-table td a{color:var(--accent);font-weight:800}.tag{display:inline-block;border-radius:99px;background:#eeeae4;color:#6e6157;font-size:10px;padding:5px 9px;font-weight:800}.tag.green{background:#e6f5ea;color:#247941}.tag.orange{background:#fff0e2;color:#a76a32}.notice{border:1px solid #ead6bd;background:#fff8ee;color:#88613b;padding:15px 17px;font-size:12px;line-height:1.6;border-radius:9px;margin-bottom:19px}.notice.success{background:#eef9f1;border-color:#cbe8d4;color:#2f7951}.category-admin{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border);padding:12px 0}.category-admin img{width:90px;height:64px;object-fit:cover;border-radius:8px}.category-admin strong{font-size:13px}.category-admin small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.category-admin button{margin-left:auto}.admin-muted-btn{background:#fff;border:1px solid var(--border);border-radius:7px;padding:10px 13px;font-weight:800;color:#4e4640;font-size:11px;cursor:pointer}.admin-muted-btn:hover{background:var(--soft)}.admin-danger{color:#bc443b;border-color:#f0cdc8}.admin-form-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:20px 0}.admin-empty{text-align:center;padding:55px 20px}.admin-empty svg{width:33px;height:33px;color:var(--accent)}.admin-empty h3{font:400 28px var(--serif);margin:13px 0 8px}.admin-empty p{font-size:13px;color:var(--muted)}.upload-area{border:2px dashed #d9cfc4;border-radius:11px;padding:27px;text-align:center;background:#fffdfa}.upload-area p{margin-bottom:14px}.media-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.media-tile{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.media-tile img{height:105px;width:100%;object-fit:cover}.media-tile .media-actions{display:flex;justify-content:space-between;gap:6px;padding:9px}.media-actions button{background:transparent;border:0;color:var(--accent);font-size:10px;font-weight:800}.auth-wrap{min-height:100vh;display:grid;place-items:center;background:#f9f4ec;padding:22px}.auth-panel{max-width:420px;width:100%;padding:38px;background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow)}.auth-panel h1{font:400 42px var(--serif);margin:24px 0 9px}.auth-panel p{font-size:13px;color:var(--muted);line-height:1.7}.auth-panel .btn{width:100%;margin-top:5px}.admin-mobile-bar{display:none}
@media(max-width:1100px){.nav-links{gap:18px}.search-mini{width:172px}.hero-grid{gap:25px}.category-grid{gap:22px}.category-tile{height:210px}.admin-side{width:220px}}
@media(max-width:790px){.container{width:calc(100% - 30px)}.nav-main{height:79px}.nav-links,.search-mini{display:none}.mobile-menu-btn{display:grid}.brand-mark{height:40px;width:40px}.brand-main{font-size:22px}.hero{padding:27px 0 15px}.hero-grid{display:flex;flex-direction:column-reverse;gap:10px}.hero-visual{height:330px;width:100%;border-radius:90px 10px 90px 10px}.hero-sticker{padding:12px 16px;bottom:15px;left:15px}.hero-sticker strong{font-size:21px}.hero-copy{text-align:center;padding:25px 2px}.hero-copy h1{font-size:clamp(51px,11vw,70px);margin:12px 0 18px}.hero-copy p{font-size:14px;margin:0 auto 24px}.section-pad{padding:45px 0 60px}.section-top{align-items:start}.category-grid{grid-template-columns:1fr;gap:18px}.category-tile{height:auto;aspect-ratio:2.25;border-radius:15px}.category-tile h3{font-size:clamp(23px,6vw,36px);bottom:15px;left:17px}.recipes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.recipe-tile{height:440px;min-height:440px}.recipe-photo{height:190px}.recipe-info{padding:16px}.recipe-info h3{font-size:22px}.feature-layout{grid-template-columns:1fr;gap:25px}.feature-layout img{height:310px}.feature-layout h2{font-size:40px}.feature-band{padding:45px 0}.page-head{padding:42px 0 28px}.page-head h1{font-size:49px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:span 2}.site-footer{padding:45px 0 20px}.footer-bottom{flex-direction:column}.admin-side{display:none}.admin-topbar{padding:0 18px;height:70px}.admin-content{padding:22px 16px}.admin-mobile-bar{display:block;padding:11px 16px;background:#fff;border-bottom:1px solid var(--border)}.admin-mobile-bar select{border:1px solid var(--border);padding:9px 10px;border-radius:7px;max-width:100%;background:#fff}.admin-cards{gap:10px}.stat-card{padding:16px}.stat-card strong{font-size:37px}.admin-grid-2{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.container-narrow{width:calc(100% - 28px)}.brand-sub{font-size:8px}.brand-main{font-size:20px}.hero-visual{height:260px}.hero-copy h1{font-size:53px}.section-title{font-size:35px}.category-tile{aspect-ratio:2.2}.category-tile h3{font-size:25px}.section-top{flex-wrap:wrap;gap:6px}.recipes-grid{grid-template-columns:1fr;gap:20px}.recipe-tile{height:440px;min-height:440px}.recipe-photo{height:220px;flex:0 0 50%}.recipe-info h3{font-size:25px}.article-head{padding:31px 0 8px}.article-head h1{font-size:30px}.article-head .breadcrumb{margin-bottom:26px}.article-description{font-size:13px;line-height:1.76}.article-actions{gap:10px}.article-actions a,.article-actions button{font-size:11px;padding:10px 11px}.article-photo img{min-height:280px;border-radius:14px}.article-body{font-size:16px;line-height:1.88}.article-body>p{line-height:1.89}.article-body h2{font-size:28px}.article-body h3{font-size:18px}.print-card{padding:19px 16px;margin:35px auto}.print-card h2{font-size:29px}.print-card-heading{flex-direction:column}.recipe-card-columns{grid-template-columns:1fr;gap:4px}.recipe-metrics{padding:14px 0}.recipe-metrics small{font-size:9px}.recipe-metrics strong{font-size:12px}.footer-grid{gap:18px}.admin-cards{grid-template-columns:1fr 1fr}.stat-card:last-child{grid-column:span 2}.admin-grid-3{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(2,1fr)}.admin-topbar h1{font-size:22px}.admin-topbar-right a{font-size:10px}.auth-panel{padding:25px}.admin-table th,.admin-table td{padding:10px 8px;font-size:10px}}
@media print{body{background:#fff!important}.site-header,.site-footer,.article-photo,.article-body,.page-head,.preview-banner,.print-toolbar,.toast,.admin-layout{display:none!important}.print-card{display:block!important;box-shadow:none!important;border:0!important;margin:0!important;padding:0!important;max-width:none!important}.print-card *{color:#000!important}.recipe-card-columns{display:grid;grid-template-columns:1fr 1fr}body *{visibility:hidden}#recipe-card,#recipe-card *{visibility:visible}#recipe-card{position:absolute;top:0;left:0;width:100%} }

/* Phase 3: per-recipe image uploads and spreadsheet import */
.photo-awaiting {display:flex;align-items:center;justify-content:center;min-height:160px;width:100%;padding:22px;text-align:center;background:#f1eee8;color:#82776d;font-size:13px;letter-spacing:.02em}
.recipe-photo>.photo-awaiting,.article-photo>.photo-awaiting{height:100%;min-height:250px}
.article-body figure>.photo-awaiting{min-height:300px;border-radius:12px}
.import-progress{height:13px;overflow:hidden;border-radius:20px;background:#eee6de;margin:14px 0}
.import-progress>div{height:100%;background:var(--accent);transition:width .2s}
.import-stats{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.import-stats>span{border:1px solid #ece5dc;border-radius:8px;padding:10px;font-size:13px}
.recipe-photo-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;margin:18px 0}
.recipe-photo-slot{border:1px solid #e8dfd5;border-radius:12px;padding:12px;background:#fff}
.recipe-photo-slot img{width:100%;height:150px;object-fit:cover;border-radius:8px}
.recipe-photo-slot .photo-awaiting{height:150px;border-radius:8px}
.recipe-photo-slot input{width:100%;font-size:12px;max-width:100%;margin-top:10px}
.recipe-photo-slot b{font-size:13px;display:block;margin-bottom:8px}
.recipe-photo-slot small{display:block;margin:6px 0;color:#766e68}
@media(max-width:700px){.recipe-photo-slots{grid-template-columns:1fr}}

.recipe-pagination{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;margin:32px 0;color:#62584e;font-size:14px}
.article-body dl{margin:18px 0 26px}
.article-body dt{font-weight:700;margin-top:14px}
.article-body dd{margin:6px 0 13px 20px;line-height:1.8}

/* v3.8 — Editorial homepage, accurate live search, category manager previews */
.header-search-wrap{position:relative;min-width:0}
.search-mini{width:242px;transition:border-color .2s,box-shadow .2s}
.search-mini:focus-within,.hero-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(201,72,41,.10)}
.search-suggestions{position:absolute;z-index:80;top:calc(100% + 9px);left:0;right:0;min-width:min(340px,92vw);max-height:390px;overflow:auto;background:white;border:1px solid #eee6dc;border-radius:14px;box-shadow:0 18px 50px #27180a24;padding:7px}
.search-suggestions[hidden]{display:none!important}
.search-suggestions a{display:flex;align-items:center;gap:11px;padding:9px;border-radius:9px;text-decoration:none;font-size:12px;color:var(--ink);transition:background .15s}
.search-suggestions a:hover,.search-suggestions a.selected{background:#fff2e9}
.search-suggestions img{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#eee}
.search-suggestions a span:nth-child(2){flex:1;min-width:0}
.search-suggestions strong{font-size:12px;display:block;line-height:1.35;font-weight:700}
.search-suggestions small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.search-suggestions .suggestion-arrow{color:var(--accent);font-size:17px}
.search-suggestions .suggestion-empty{padding:15px;font-size:12px;color:var(--muted)}
.search-suggestions .suggestion-view-all{width:100%;padding:12px;border:0;background:#faf6f0;border-radius:8px;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer}
.hero-editorial{padding:37px 0 30px;background:linear-gradient(110deg,#fffdf9 35%,#f9f4ed 100%)}
.hero-editorial .hero-grid{grid-template-columns:1.05fr .95fr;gap:4.2%;align-items:center;min-height:0}
.hero-editorial .hero-copy{padding:27px 0 28px 6px}
.hero-editorial .eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.22em}
.hero-eyebrow-line{display:block;width:34px;height:2px;background:var(--accent)}
.hero-editorial .hero-copy h1{font-size:clamp(49px,5vw,78px);letter-spacing:-.048em;line-height:1.03;margin:25px 0 22px;max-width:680px}
.hero-editorial .hero-copy h1 em{color:var(--accent);font-style:italic;font-weight:400}
.hero-editorial .hero-copy p{font-size:15px;line-height:1.7;max-width:470px;color:#766d63;margin:0 0 28px}
.hero-editorial .hero-visual{height:425px;border-radius:108px 16px 16px 16px;box-shadow:0 18px 55px #49311e19}
.hero-editorial .hero-visual:after{background:linear-gradient(0deg,rgba(20,16,13,.44) 0%,transparent 40%)}
.hero-editorial .hero-visual img{filter:none}
.hero-editorial .hero-sticker{display:flex;gap:11px;align-items:center;max-width:none;bottom:20px;left:22px;padding:12px 16px;box-shadow:0 8px 32px #0002;border-radius:12px}
.hero-editorial .hero-sticker-mark{color:var(--accent);font-size:24px}
.hero-editorial .hero-sticker strong{font:400 19px/1.15 var(--serif)}
.hero-editorial .hero-sticker span:not(.hero-sticker-mark){font-size:10px;color:#777}
.hero-search-area{max-width:505px;position:relative}
.hero-search{height:58px;border:1px solid #e6dacc;border-radius:10px;background:#fff;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 17px;box-shadow:0 7px 22px #603f220d}
.hero-search>svg{width:20px;flex-shrink:0;color:#a49a8f}
.hero-search input{width:100%;min-width:0;border:0;background:none;outline:0;font:500 13px var(--sans);color:var(--ink)}
.hero-search button{border:0;background:var(--accent);color:white;border-radius:7px;height:44px;padding:0 16px;font-weight:800;font-size:12px;display:flex;align-items:center;gap:9px;white-space:nowrap;cursor:pointer}
.hero-search button svg{width:16px;height:16px}
.hero-quicklinks{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:11px;color:var(--muted);margin-top:16px}
.hero-quicklinks a{color:#554b41;background:#fff;border:1px solid #eee4d9;border-radius:999px;padding:6px 12px;transition:background .15s}
.hero-quicklinks a:hover{background:#fff1e5;color:var(--accent)}
.home-category-section{padding:53px 0 64px}
.home-category-section .section-top{margin-bottom:24px}
.home-category-section .section-title{font-size:clamp(34px,3.3vw,46px)}
.home-recent-section{background:#faf6f0;padding:65px 0 72px}
.home-feature-band{background:#fff;padding:60px 0}
.category-preview-label{display:block;font-weight:800;font-size:11px;margin:3px 0 9px}
.category-cover-preview{width:100%;height:210px;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:var(--soft)}
.listing-pages{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin:32px 0 42px}
.listing-pages span{font-size:12px;color:var(--muted)}
@media(min-width:1200px){.hero-editorial .container{max-width:1350px}}
@media(max-width:1000px){.hero-editorial .hero-grid{gap:3%}.hero-editorial .hero-copy h1{font-size:clamp(42px,5.2vw,62px)}.hero-editorial .hero-visual{height:380px}.hero-search button{padding:0 11px}}
@media(max-width:790px){.header-search-wrap{display:none}.hero-editorial{padding:16px 0 14px}.hero-editorial .hero-grid{display:flex;flex-direction:column-reverse;gap:0}.hero-editorial .hero-visual{height:265px;width:100%;border-radius:17px 17px 70px 17px}.hero-editorial .hero-copy{padding:25px 5px 16px;text-align:left;width:100%}.hero-editorial .hero-copy h1{font-size:clamp(43px,8.7vw,62px);margin:13px 0 13px;line-height:1.04}.hero-editorial .hero-copy p{font-size:13px;margin:0 0 17px;line-height:1.6}.hero-editorial .hero-sticker{left:14px;bottom:14px}.hero-editorial .hero-quicklinks{justify-content:flex-start}.hero-editorial .hero-search-area{max-width:100%}.hero-editorial .hero-search{height:54px}.home-category-section{padding:38px 0 45px}.home-recent-section{padding:43px 0 52px}.home-feature-band{padding:38px 0}}
@media(max-width:520px){.hero-editorial .hero-visual{height:235px;border-radius:14px 14px 57px 14px}.hero-editorial .hero-copy h1{font-size:clamp(41px,10.2vw,53px)}.hero-editorial .hero-copy p{margin-bottom:16px}.hero-editorial .hero-copy{padding:20px 1px 13px}.hero-editorial .hero-visual img{object-position:center}.hero-editorial .hero-sticker strong{font-size:17px}.hero-search input{font-size:12px}.hero-search button{font-size:11px;padding:0 11px}.hero-quicklinks{margin-top:12px;gap:6px}.hero-quicklinks a{padding:5px 9px}.hero-editorial .search-suggestions{min-width:0}.home-category-section .section-title{font-size:34px}.home-category-section .section-top{margin-bottom:21px}}

/* V3.9 — All Recipes archive and exactly six latest cards at end of home */
.recipes-archive-head{padding:47px 0 28px}
.recipes-archive-head .eyebrow{margin-top:26px}
.recipes-archive-head h1{font:400 clamp(44px,5.5vw,78px)/1.09 var(--serif);margin:13px 0 14px;letter-spacing:-.04em}
.recipes-archive-head>p{color:var(--muted);font-size:15px;max-width:680px;line-height:1.7;margin-bottom:25px}
.archive-search-area{position:relative;max-width:620px;margin:0 0 28px}
.archive-categories{display:flex;gap:9px;flex-wrap:wrap;padding:3px 0 7px}
.archive-chip{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--border);border-radius:999px;padding:9px 14px;color:#695f55;font-size:12px;font-weight:700;transition:.18s}
.archive-chip:hover,.archive-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}
.archive-results{padding-bottom:70px}
.home-recent-section .recipes-grid{margin-bottom:25px}
.home-view-all{display:flex;justify-content:center;margin-top:16px}
.home-view-all .btn{min-width:208px}
@media(max-width:790px){.recipes-archive-head{padding:30px 0 18px}.recipes-archive-head h1{font-size:48px}.archive-categories{gap:7px}.archive-chip{padding:8px 11px;font-size:11px}}
@media(max-width:520px){.recipes-archive-head h1{font-size:42px}.recipes-archive-head>p{font-size:13px}.archive-search-area{margin-bottom:19px}.archive-categories{flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin}.archive-chip{white-space:nowrap;flex-shrink:0}.home-view-all .btn{width:100%}}


/* V4.0 — Friendly, interactive cook-along recipe cards. Purely front-end; no recipe data changes. */
.print-card.cook-mode{max-width:950px;margin:65px auto 80px;padding:34px 36px 40px;background:#fff;border:1px solid #e8ded2;border-radius:20px;box-shadow:0 18px 48px rgba(55,37,21,.06);color:#2b241f}
.cook-mode .print-card-heading{gap:24px;padding-bottom:10px;align-items:center}
.cook-mode .print-card-heading h2{font:400 clamp(30px,3.5vw,45px)/1.12 var(--serif);letter-spacing:-.026em;margin:9px 0 12px}
.cook-mode .print-card-heading .eyebrow{font-size:10px}
.cook-mode .print-card-heading p{font-size:14px;line-height:1.7;max-width:540px;margin:0}
.cook-mode .print-toolbar{flex-shrink:0}
.cook-mode .print-toolbar .btn{border-radius:9px;padding:13px 17px;white-space:nowrap}
.cook-mode .recipe-metrics{margin:22px 0 18px;border:1px solid #ece1d5;background:#fffaf5;border-radius:13px;padding:20px 0}
.cook-mode .recipe-metrics small{font-size:10px;color:#82766c}
.cook-mode .recipe-metrics strong{font-size:15px}
.cook-progress-panel{background:#f7f1e9;border:1px solid #eee3d7;border-radius:14px;padding:18px 21px 20px;margin-bottom:36px;display:grid;grid-template-columns:1fr auto;gap:12px 16px;align-items:center}
.cook-progress-text{display:flex;align-items:center;gap:12px}
.cook-progress-icon{width:35px;height:35px;border-radius:11px;background:var(--accent);display:grid;place-items:center;color:white;font-size:19px;font-weight:900;flex:none}
.cook-progress-text strong{display:block;font-size:13px;font-weight:800;line-height:1.3}
.cook-progress-text small{display:block;color:#817468;font-size:12px;margin-top:3px}
.cook-reset{border:1px solid #ded2c6;color:#7a5f4e;background:#fff;border-radius:8px;padding:10px 12px;font-size:11px;font-weight:800;white-space:nowrap}
.cook-reset:hover{background:#fff7ee;border-color:var(--accent)}
.cook-progress-track{height:8px;background:#e8dcd0;border-radius:999px;overflow:hidden;grid-column:1/-1}
.cook-progress-fill{display:block;height:100%;width:0;background:var(--accent);border-radius:999px;transition:width .25s ease}
.cook-mode .recipe-card-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;align-items:start}
.cook-mode .recipe-card-ingredients{border-right:1px solid #eee6dc;padding-right:34px;min-width:0}
.cook-mode .recipe-card-steps{min-width:0}
.cook-section-heading{display:flex;align-items:center;gap:12px;margin:0 0 5px}
.cook-mode .cook-section-heading h3{font:400 clamp(26px,2.6vw,34px)/1.2 var(--serif);margin:0;letter-spacing:-.03em;white-space:nowrap}
.cook-heading-rule{height:2px;background:#e9e1d8;flex:1;min-width:12px}
.cook-section-heading small{font:800 11px var(--sans);color:var(--accent);white-space:nowrap}
.cook-mode p.cook-help{font:400 12px/1.6 var(--sans);color:#8c8074;margin:0 0 18px}
.cook-mode .cook-ingredient-group{margin:0 0 24px}
.cook-mode .cook-group-title{font:800 11px/1.4 var(--sans);letter-spacing:.065em;text-transform:uppercase;color:var(--accent);margin:15px 0 11px;display:flex;align-items:center;gap:6px}
.cook-group-marker{font-size:17px;line-height:1;color:#211b16}
.cook-mode .cook-check-list{padding:0;margin:0;list-style:none}
.cook-mode .cook-entry{margin:0 0 7px;padding:0;list-style:none}
.cook-mode .cook-check{width:100%;min-height:50px;text-align:left;border:1px solid transparent;display:flex;align-items:start;gap:12px;padding:8px 7px 8px 0;border-radius:10px;background:transparent;color:inherit;font-family:var(--sans);transition:background .15s ease,border-color .15s ease}
.cook-mode .cook-check:hover{background:#f8f4ee;border-color:#f0e4d7}
.cook-mode .cook-check:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.cook-num{flex:none;background:#24211f;border-radius:8px;min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:white;font:bold 13px var(--sans);box-shadow:3px 4px 0 rgba(32,28,25,.12);font-variant-numeric:tabular-nums;transition:background .15s ease}
.cook-entry-text{flex:1;align-self:center;font:400 14px/1.6 var(--sans);color:#332d28;min-width:0;word-break:break-word;text-decoration-thickness:1.4px;text-decoration-color:#a69b90;text-underline-offset:4px}
.cook-tick{opacity:0;align-self:center;color:var(--accent);font-size:15px;font-weight:900;margin-right:1px;flex:none;transition:opacity .15s ease}
.cook-mode .cook-check.is-done{background:#faf6f0}
.cook-mode .cook-check.is-done .cook-num{background:#9d938a;box-shadow:none}
.cook-mode .cook-check.is-done .cook-entry-text{text-decoration:line-through;color:#978d84}
.cook-mode .cook-check.is-done .cook-tick{opacity:1}
.cook-mode .cook-steps .cook-entry{margin:0 0 18px}
.cook-mode .cook-check.cook-step{min-height:66px;gap:13px;align-items:flex-start;padding:10px 7px 10px 0}
.cook-mode .cook-step-num{min-width:74px;height:39px;font-size:12px;white-space:nowrap;padding:0 9px;border-radius:8px}
.cook-mode .cook-step .cook-entry-text{line-height:1.75;align-self:start;padding:2px 0}
.cook-mode .cook-step .cook-entry-text strong{font-size:14px;font-weight:800;color:inherit;display:block;margin-bottom:4px}
.cook-mode .cook-step-copy{display:block}
.cook-mode .recipe-nutrition{margin-top:26px;padding-top:26px}
.cook-mode .recipe-nutrition h3{font-size:25px}
.cook-mode .cook-empty{font-size:12px}
/* Ensure a screen reader can distinguish completed and uncompleted items via aria-pressed. */
@media(max-width:800px){.print-card.cook-mode{padding:24px 22px 30px}.cook-mode .recipe-card-columns{grid-template-columns:1fr;gap:28px}.cook-mode .recipe-card-ingredients{border-right:0;border-bottom:1px solid #eee6dc;padding:0 0 15px}.cook-mode .cook-section-heading h3{font-size:30px}}
@media(max-width:520px){.print-card.cook-mode{margin:36px auto 52px;padding:20px 15px 25px;border-radius:14px}.cook-mode .print-card-heading{align-items:stretch;gap:15px}.cook-mode .print-toolbar .btn{width:100%;justify-content:center}.cook-progress-panel{padding:14px 12px;gap:13px}.cook-progress-text{gap:8px}.cook-progress-icon{width:30px;height:30px}.cook-reset{font-size:10px;padding:9px 7px}.cook-mode .cook-section-heading h3{font-size:27px}.cook-mode .cook-check{gap:9px}.cook-num{min-width:36px;height:36px;font-size:12px}.cook-mode .cook-entry-text{font-size:13px}.cook-mode .cook-step-num{min-width:66px;font-size:11px;padding:0 7px}.cook-mode .recipe-metrics{margin-bottom:14px}}
@media print{
 .print-card.cook-mode{border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;background:white!important}
 .cook-progress-panel,.cook-mode .cook-help,.cook-reset,.cook-tick{display:none!important}
 .cook-mode .recipe-card-columns{display:grid!important;grid-template-columns:1fr 1.15fr!important;gap:28px!important}
 .cook-mode .recipe-card-ingredients{border-right:1px solid #ddd!important;border-bottom:0!important;padding-right:15px!important}
 .cook-mode .cook-check,.cook-mode .cook-check.is-done{background:none!important;border:0!important;min-height:0!important;padding:3px 0!important}
 .cook-mode .cook-num,.cook-mode .cook-check.is-done .cook-num{background:#fff!important;color:#000!important;box-shadow:none!important;border:1px solid #aaa!important;height:25px!important;min-width:28px!important}
 .cook-mode .cook-step-num{min-width:56px!important;font-size:10px!important}
 .cook-mode .cook-entry-text,.cook-mode .cook-check.is-done .cook-entry-text{text-decoration:none!important;color:#000!important}
 .cook-mode .cook-heading-rule{background:#ddd!important}
 .cook-mode .cook-steps .cook-entry{margin-bottom:8px!important;break-inside:avoid}
}
/* Recipes by Olivia V4.1 — refined editorial article typography and FAQs.
   Article-only styles: admin, home, category, recipe content and print stay intact. */
.article-shell .article-body{
  color:#302922;
  font-size:17.5px;
  line-height:1.9;
  letter-spacing:.002em;
  overflow-wrap:anywhere;
}
.article-shell .article-body>p{margin-bottom:23px;line-height:1.93}
.article-shell .article-body>p:first-child{
  font-size:clamp(17px,2vw,19px);
  color:#4c4036;
  line-height:1.85;
}
/* Headings: serif editorial title + small terracotta rule; readable at every size. */
.article-shell .article-body>h2{
  position:relative;
  display:flex;
  align-items:center;
  gap:15px;
  font-family:var(--serif);
  font-size:clamp(29px,3.6vw,38px);
  font-weight:400;
  line-height:1.22;
  letter-spacing:-.025em;
  color:#221d19;
  margin:54px 0 23px;
  padding:0 0 18px;
  border-bottom:1px solid #e8ded3;
  scroll-margin-top:120px;
}
.article-shell .article-body>h2::before{
  content:"";
  flex:0 0 7px;
  height:31px;
  background:var(--accent);
  border-radius:999px;
}
.article-shell .article-body>h3{
  font:700 21px/1.35 var(--sans);
  color:#3a3029;
  letter-spacing:-.015em;
  margin:37px 0 15px;
}
.article-shell .article-body>h3::before{
  content:"";
  display:inline-block;
  width:8px;height:8px;
  margin:0 10px 2px 0;
  border-radius:50%;
  background:var(--accent);
}
.article-shell .article-body>ul,
.article-shell .article-body>ol{
  margin:5px 0 30px;
  padding:20px 26px 17px 40px;
  border:1px solid #eee6db;
  border-radius:13px;
  background:#fffcf8;
  font-size:16px;
}
.article-shell .article-body>ul>li::marker,
.article-shell .article-body>ol>li::marker{color:var(--accent)}
.article-shell .article-body>ul>li,
.article-shell .article-body>ol>li{padding-left:5px;margin:0 0 10px}
.article-shell .article-body>blockquote{
  position:relative;
  margin:28px 0 34px;
  padding:21px 27px;
  border-left:4px solid var(--accent);
  border-radius:0 12px 12px 0;
  background:#fbf5ed;
  color:#554438;
  font-style:italic;
}
/* Recipe callouts, including Why You'll Love This Recipe and You Must Know */
.article-shell .article-body .highlight-section{
  position:relative;
  margin:35px 0 39px;
  padding:29px 33px 28px;
  border:1px solid #ecdccc;
  border-left:4px solid var(--accent);
  border-radius:15px;
  background:linear-gradient(125deg,#fff9f0 0%,#fffdf9 75%);
  box-shadow:0 10px 28px rgba(73,46,23,.045);
}
.article-shell .article-body .highlight-section>h2{
  display:flex;align-items:center;gap:11px;
  font:400 clamp(26px,3vw,34px)/1.22 var(--serif);
  color:#292019;
  letter-spacing:-.025em;
  margin:0 0 18px;padding:0;
  border:0;
}
.article-shell .article-body .highlight-section>h2::before{
  content:"✦";display:grid;place-items:center;flex:none;
  width:35px;height:35px;
  border-radius:10px;
  background:#f6e7d5;
  color:var(--accent);
  font:700 22px/1 Georgia,serif;
}
.article-shell .article-body .highlight-section ul{
  margin:0;padding:0;list-style:none;
  display:grid;gap:12px;
}
.article-shell .article-body .highlight-section ul li{
  position:relative;padding-left:27px;margin:0;
  font-size:15px;line-height:1.7;
}
.article-shell .article-body .highlight-section ul li::before{
  content:"✓";
  position:absolute;left:0;top:.14em;
  display:grid;place-items:center;
  width:17px;height:17px;
  border:1px solid #e4baa3;border-radius:50%;
  color:var(--accent);font:800 11px/1 var(--sans);
}
.article-shell .article-body .highlight-section p{margin:0 0 13px}
.article-shell .article-body figure{
  margin:43px 0 40px;
}
.article-shell .article-body figure img{
  border-radius:17px;
  box-shadow:0 14px 40px rgba(37,27,19,.09);
}
.article-shell .article-body figure figcaption{
  font-size:11px;letter-spacing:.005em;margin-top:12px;
}
/* FAQ is a deliberate page chapter, not bare headings + hairlines. */
.article-shell .article-body .faq-section{
  margin:62px 0 54px;
  padding:31px 31px 34px;
  border:1px solid #eadcc9;
  background:linear-gradient(180deg,#fbf5ed 0%,#fffaf4 100%);
  border-radius:19px;
}
.article-shell .article-body .faq-section::before{
  content:"GOOD TO KNOW";
  display:block;
  font:800 10px/1.3 var(--sans);
  letter-spacing:.17em;
  color:var(--accent);
  margin:0 0 11px;
}
.article-shell .article-body .faq-section>h2{
  display:block;
  font:400 clamp(31px,3.5vw,40px)/1.17 var(--serif);
  color:#231d19;
  letter-spacing:-.035em;
  margin:0 0 25px;
  border:0;padding:0;
}
.article-shell .article-body .faq-section>h2::after{
  content:"";display:block;margin-top:13px;
  width:51px;height:3px;border-radius:9px;background:var(--accent);
}
.article-shell .article-body .faq-item{
  margin:0 0 11px;
  padding:0;
  overflow:hidden;
  border:1px solid #ecdfd1;
  border-radius:12px;
  background:white;
  box-shadow:0 3px 12px rgba(51,34,18,.023);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.article-shell .article-body .faq-item:last-child{margin-bottom:0}
.article-shell .article-body .faq-item[open]{border-color:#d9bba5;box-shadow:0 5px 18px rgba(67,39,22,.055)}
.article-shell .article-body .faq-item summary{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:19px 19px 19px 22px;
  font:700 14px/1.5 var(--sans);
  color:#302822;
  cursor:pointer;
  list-style:none;
}
.article-shell .article-body .faq-item summary::-webkit-details-marker{display:none}
.article-shell .article-body .faq-item summary::after{
  content:"+";
  display:grid;place-items:center;
  width:31px;height:31px;flex:0 0 31px;
  color:var(--accent);
  background:#fbf2e9;
  border-radius:50%;
  font:500 22px/1 var(--sans);
  transition:background .2s ease,transform .2s ease;
}
.article-shell .article-body .faq-item[open] summary::after{
  content:"−";
  background:#f2dfce;
  transform:rotate(0deg);
}
.article-shell .article-body .faq-item summary:hover{background:#fffcf7}
.article-shell .article-body .faq-item summary:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.article-shell .article-body .faq-item>p{
  margin:0 22px 20px;
  padding:17px 0 0;
  border-top:1px solid #f0e9df;
  font:400 15px/1.8 var(--sans);
  color:#5a4d42;
}
/* Refine the article actions and byline without touching admin buttons. */
.article-shell .article-actions{gap:10px;margin:25px 0 27px}
.article-shell .article-actions button,
.article-shell .article-actions a{
  min-height:41px;border-radius:9px;
  border:1px solid #e4d8cd;
  background:#fffdfa;
  padding:10px 14px;
  font:700 12px/1.4 var(--sans);
  transition:background .15s,border-color .15s;
}
.article-shell .article-actions button:hover,
.article-shell .article-actions a:hover{background:#fbf0e5;border-color:#e5bfae}
.article-shell .article-actions :is(button,a):focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.article-shell .author-row{padding:12px 0;margin:16px 0 13px;border-top:1px solid #f0e8de}
@media(max-width:600px){
  .article-shell .article-body{font-size:16px;line-height:1.83}
  .article-shell .article-body>h2{font-size:29px;gap:10px;margin:42px 0 18px;padding-bottom:14px}
  .article-shell .article-body>h2::before{height:26px;width:5px;flex-basis:5px}
  .article-shell .article-body>h3{font-size:18px;margin:26px 0 12px}
  .article-shell .article-body>ul,.article-shell .article-body>ol{padding:16px 18px 13px 33px;font-size:14px}
  .article-shell .article-body .highlight-section{padding:22px 20px 21px;margin:30px 0 34px;border-radius:12px}
  .article-shell .article-body .highlight-section>h2{font-size:27px;gap:9px}
  .article-shell .article-body .highlight-section>h2::before{width:31px;height:31px;font-size:19px}
  .article-shell .article-body .highlight-section ul{gap:10px}
  .article-shell .article-body .highlight-section ul li{font-size:14px}
  .article-shell .article-body .faq-section{margin:46px 0 41px;padding:24px 14px 20px;border-radius:14px}
  .article-shell .article-body .faq-section>h2{font-size:33px;margin-bottom:20px}
  .article-shell .article-body .faq-item summary{padding:15px 13px;font-size:13px;gap:9px}
  .article-shell .article-body .faq-item summary::after{width:28px;height:28px;flex-basis:28px}
  .article-shell .article-body .faq-item>p{margin:0 14px 17px;font-size:13px}
  .article-shell .article-actions{gap:8px}
  .article-shell .article-actions button,.article-shell .article-actions a{padding:10px 12px;font-size:11px}
}
@media print{
  /* Print stays focused on the original printable recipe card. */
  .article-shell .article-body .faq-section{display:none!important}
}
/* Final readability refinement for notes on narrow screens. */
.article-shell .article-body .highlight-section ul li{font-family:var(--sans)}
@media(max-width:600px){.article-shell .article-body .highlight-section>h2{font-size:25px;line-height:1.2}}

/* V4.2 — explicit Homepage Hero controls in Admin Settings */
#hero-image-settings{scroll-margin-top:24px;border-color:#e8c7b5;background:linear-gradient(145deg,#fff 70%,#fff7f0)}
.admin-hero-settings-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}
.admin-hero-settings-head h2{font:400 32px/1.1 var(--serif);margin:6px 0 12px}
.admin-hero-settings-head p{max-width:650px;line-height:1.7;margin:0}
.admin-hero-settings-grid{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(260px,1fr);gap:25px;align-items:center}
.admin-hero-preview-wrap{display:flex;flex-direction:column;gap:8px}
.admin-hero-preview{width:100%;height:260px;object-fit:cover;border-radius:12px;background:#f0e6dd;display:block;border:1px solid var(--border)}
.admin-hero-preview-wrap small{color:var(--muted);font-size:11px}
.admin-hero-control{min-width:0}
.admin-hero-control input[type="file"]{padding:13px;background:#fff;border:1px dashed #cea995;cursor:pointer}
.admin-hero-status{font-size:12px;line-height:1.6;min-height:36px;color:#745c4d;margin:0 0 12px}
.admin-hero-dashboard{display:flex;align-items:center;justify-content:space-between;gap:18px}
.admin-hero-dashboard p{margin:0}
@media(max-width:790px){.admin-hero-settings-grid{grid-template-columns:1fr;gap:15px}.admin-hero-preview{height:210px}.admin-hero-settings-head{flex-direction:column}.admin-hero-dashboard{flex-direction:column;align-items:flex-start}}


/* Olivia V4.3 — refined compact site navigation (public site only) */
.site-header{
  background:rgba(255,255,255,.985);
  border-bottom:1px solid #eee7df;
  box-shadow:0 3px 18px rgba(50,32,17,.035);
}
.site-header .nav-main{height:64px;gap:18px}
.site-header .brand{gap:9px;min-width:0}
.site-header .brand-mark{width:34px;height:34px;border-radius:10px;box-shadow:0 3px 9px rgba(194,65,34,.12)}
.site-header .brand-mark svg{width:23px;height:23px}
.site-header .brand-main{font-size:20px;letter-spacing:-.035em;line-height:1.06}
.site-header .brand-sub{font-size:7px;letter-spacing:.19em;margin-top:3px}
.site-header .brand-custom{height:39px;max-width:180px;width:auto;object-fit:contain}
.site-header .nav-links{gap:4px;align-items:center}
.site-header .nav-links a{font-size:12px;font-weight:700;letter-spacing:.005em;border-radius:8px;padding:9px 13px;color:#574c42;transition:background .18s,color .18s}
.site-header .nav-links a:hover{color:var(--accent);background:#fff4ed}
.site-header .nav-links a.is-active{color:var(--accent);background:#fff0e9}
.site-header .nav-right{gap:8px}
.site-header .search-mini{height:35px;width:200px;border:1px solid #ede5dd;background:#fcfaf8;border-radius:20px;transition:border-color .15s,box-shadow .15s}
.site-header .search-mini:focus-within{border-color:#d3a38b;box-shadow:0 0 0 3px #c9482913;background:#fff}
.site-header .search-mini input{font-size:11px}
.site-header .search-mini svg{width:15px;height:15px}
.site-header .mobile-menu-btn{align-items:center;justify-content:center;flex-shrink:0}
.site-header .mobile-close-icon{display:none}
.announcement{padding:7px 14px;font-size:11px}
@media(max-width:1100px) and (min-width:791px){
 .site-header .nav-main{gap:10px}
 .site-header .nav-links{gap:0}
 .site-header .nav-links a{padding:8px 9px;font-size:11px}
 .site-header .search-mini{width:165px}
 .site-header .brand-main{font-size:18px}
}
@media(max-width:790px){
 .site-header .nav-main{height:54px;gap:8px}
 .site-header .brand{gap:7px;max-width:calc(100% - 56px)}
 .site-header .brand-mark{height:29px;width:29px;border-radius:8px}
 .site-header .brand-mark svg{height:20px;width:20px}
 .site-header .brand-main{font-size:17px;line-height:1.04}
 .site-header .brand-sub{font-size:6px;letter-spacing:.16em;margin-top:2px}
 .site-header .brand-custom{max-width:min(170px,60vw);height:32px}
 .site-header .nav-links,.site-header .header-search-wrap{display:none}
 .site-header .mobile-menu-btn{display:flex;width:36px;height:34px;border:1px solid #eee1d8;background:#fff8f3;border-radius:10px;padding:7px;color:#4b3528;transition:background .18s,border-color .18s}
 .site-header .mobile-menu-btn:hover,.site-header .mobile-menu-btn.is-open{background:#fcece4;border-color:#efcdbb;color:var(--accent)}
 .site-header .mobile-menu-btn svg{height:19px;width:19px}
 .site-header .mobile-menu-btn.is-open .mobile-menu-icon{display:none}
 .site-header .mobile-menu-btn.is-open .mobile-close-icon{display:block}
 .site-header .mobile-drawer{display:none;flex-direction:column;gap:0;left:auto;right:15px;top:calc(100% + 8px);width:min(294px,calc(100vw - 30px));max-height:min(72dvh,470px);overflow-y:auto;overscroll-behavior:contain;padding:10px 12px 11px;background:#fff;border:1px solid #ebded2;border-radius:17px;box-shadow:0 18px 45px rgba(51,33,19,.15);z-index:45;scrollbar-width:thin;animation:oliviaMenuIn .18s ease-out}
 .site-header .mobile-drawer.open{display:flex}
 .site-header .mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 12px;font:700 10px var(--sans);text-transform:uppercase;letter-spacing:.12em;color:#958274}
 .site-header .mobile-drawer-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}
 .site-header .mobile-primary-links{display:grid;gap:3px}
 .site-header .mobile-primary-links a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:9px;border:0;color:#3f332b;font-size:13px;font-weight:750;text-decoration:none;transition:background .15s,color .15s}
 .site-header .mobile-primary-links a span{font-size:13px;font-weight:400;color:#b9a99b}
 .site-header .mobile-primary-links a:hover,.site-header .mobile-primary-links a.is-active{background:#fff1e8;color:var(--accent)}
 .site-header .mobile-category-group{margin:9px 0 5px;border:1px solid #f0e7de;background:#fdf9f5;border-radius:10px}
 .site-header .mobile-category-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:750;padding:12px;color:#5a4539}
 .site-header .mobile-category-group summary::-webkit-details-marker{display:none}
 .site-header .mobile-category-caret{font-size:17px;line-height:1;color:#997260;transition:transform .15s}
 .site-header .mobile-category-group[open] .mobile-category-caret{transform:rotate(180deg)}
 .site-header .mobile-category-links{display:grid;grid-template-columns:1fr;gap:0;padding:0 7px 7px}
 .site-header .mobile-category-links a{padding:9px 10px;border-bottom:1px solid #f4ebe4;font-size:12px;font-weight:600;color:#6b5e50}
 .site-header .mobile-category-links a:last-child{border-bottom:0}
 .site-header .mobile-category-links a:hover{color:var(--accent);background:#fff1e8;border-radius:6px}
 .site-header .mobile-drawer-footer{display:flex;justify-content:space-between;align-items:center;gap:9px;border-top:1px solid #f0e8df;margin-top:7px;padding:8px 9px 1px}
 .site-header .mobile-drawer-footer a{font-size:11px;font-weight:700;color:#9c7761;border-bottom:0;padding:4px}
 .site-header .mobile-drawer-footer a:hover{color:var(--accent)}
 @keyframes oliviaMenuIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
}
@media (prefers-reduced-motion:reduce){.site-header .mobile-drawer{animation:none}}
@media print{.site-header .mobile-drawer{display:none!important}}


/* V4.4 — Recipe listing redesign based on supplied layout; public cards only. */
.recipes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:stretch}
.recipe-tile{
 min-width:0;height:auto;min-height:0;display:flex;flex-direction:column;
 overflow:hidden;background:#fff;border:1px solid #eee9e2;border-radius:22px;
 box-shadow:0 8px 24px rgba(35,25,15,.052);
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.recipe-tile:hover{transform:translateY(-3px);border-color:#e2d6c9;box-shadow:0 18px 40px rgba(35,25,15,.105)}
.recipe-tile .recipe-photo{
 width:100%;height:auto!important;min-height:0;aspect-ratio:1/1;flex:none!important;
 overflow:hidden;display:block;position:relative;background:#f5f0e9;
}
.recipe-tile .recipe-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.recipe-tile:hover .recipe-photo img{transform:scale(1.04)}
.recipe-tile .recipe-photo-label{
 position:absolute;top:13px;left:13px;z-index:1;display:inline-flex;
 align-items:center;min-height:29px;padding:6px 12px;border-radius:50px;
 background:rgba(255,255,255,.94);color:#5e4b3d;font:800 10px/1 var(--sans);
 letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(8px);
}
.recipe-tile .recipe-info{padding:18px 18px 17px;flex:1;min-height:215px;display:flex;flex-direction:column}
.recipe-tile .recipe-category{font:800 10px/1.35 var(--sans);letter-spacing:.13em;color:var(--accent)}
.recipe-tile .recipe-info h3{
 font:400 clamp(20px,1.8vw,27px)/1.14 var(--serif);letter-spacing:-.022em;
 margin:9px 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.recipe-tile .recipe-info h3 a{color:var(--ink);text-decoration:none}
.recipe-tile .recipe-info h3 a:hover{color:var(--accent)}
.recipe-tile .recipe-info p{font:400 12px/1.65 var(--sans);color:#7c7066;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.recipe-tile .recipe-bottom{border-top:0;margin-top:auto;padding:0;display:block}
.recipe-tile .recipe-read-link{
 display:flex;align-items:center;justify-content:center;gap:8px;
 width:100%;min-height:42px;background:var(--accent);color:#fff;
 padding:11px 14px;border-radius:11px;font:800 12px/1.2 var(--sans);
 transition:background .16s ease;
}
.recipe-tile .recipe-read-link:hover{background:var(--accent-dark);color:#fff}
.recipe-tile a:focus-visible{outline:3px solid #eaa77d;outline-offset:-3px}
.home-recent-section .recipes-grid{margin-top:6px}
@media(max-width:1120px){.recipes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media(max-width:860px){.recipes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:640px){
 .recipes-grid{grid-template-columns:1fr;gap:21px}
 .recipe-tile{border-radius:18px;max-width:520px;width:100%;margin-inline:auto}
 .recipe-tile .recipe-info{min-height:0;padding:19px 19px 18px}
 .recipe-tile .recipe-info h3{font-size:27px;line-height:1.14}
 .recipe-tile .recipe-info p{font-size:13px;margin-bottom:17px}
 .recipe-tile .recipe-read-link{min-height:45px}
}
@media(prefers-reduced-motion:reduce){.recipe-tile,.recipe-tile .recipe-photo img{transition:none}}

/* V4.5 — Compact, horizontally scrollable category navigation beneath the header */
.category-rail-wrap{padding:8px 0 3px;background:var(--cream,#fffdf9)}
.category-rail{box-sizing:border-box;display:flex;align-items:center;gap:4px;width:min(1290px,calc(100% - 72px));margin:0 auto;padding:5px 7px;border-radius:16px;background:#303036;color:#fff;box-shadow:0 7px 22px rgba(35,30,27,.11)}
.category-rail-kicker{font-family:var(--sans,Arial,sans-serif);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#d5cbc7;padding:0 14px 0 12px;white-space:nowrap;border-right:1px solid #555057}
.category-rail-track{display:flex;align-items:center;min-width:0;flex:1;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;touch-action:pan-x;scroll-behavior:smooth;white-space:nowrap;padding:0 3px;cursor:grab}
.category-rail-track::-webkit-scrollbar{display:none}
.category-rail-track.is-dragging{cursor:grabbing;scroll-behavior:auto;user-select:none}
.category-rail-link{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:34px;border-radius:999px;padding:8px 15px;text-decoration:none;font:700 12px/1.1 var(--sans,Arial,sans-serif);white-space:nowrap;color:#f9f7f5;transition:background .16s ease,color .16s ease,transform .16s ease}
.category-rail-link:hover{color:white;background:rgba(255,255,255,.14)}
.category-rail-link.is-active,.category-rail-link.is-active:hover{color:#fff;background:var(--accent,#c94829);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.category-rail-link:focus-visible,.category-rail-arrow:focus-visible,.category-rail-track:focus-visible{outline:2px solid #ffc2a8;outline-offset:-2px}
.category-rail-arrow{flex:0 0 28px;width:28px;height:34px;background:transparent;border:0;border-radius:8px;color:#f8eee9;display:grid;place-items:center;cursor:pointer;transition:background .15s}
.category-rail-arrow svg{width:17px;height:17px}
.category-rail-arrow:not(:disabled):hover{background:#514d55}
.category-rail-arrow:disabled{opacity:.23;cursor:default}
@media(max-width:790px){
 .category-rail-wrap{padding:6px 0 2px}
 .category-rail{width:calc(100% - 20px);gap:0;padding:5px 8px;border-radius:13px}
 .category-rail-track{gap:5px;-webkit-overflow-scrolling:touch}
 .category-rail-link{min-height:32px;font-size:11px;padding:8px 12px}
 .category-rail-kicker,.category-rail-arrow{display:none}
}
@media(prefers-reduced-motion:reduce){.category-rail-track{scroll-behavior:auto}.category-rail-link{transition:none}}
@media print{.category-rail-wrap{display:none!important}}

/* V4.7 — Category navigation replaces the header while scrolling.
   Header remains in normal document flow and naturally scrolls out of view.
   Category rail then sticks at the viewport top with no extra blank space. */
.category-rail-wrap {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 41;
  background: var(--cream, #fffdf9);
  isolation: isolate;
}
/* Adjust anchor destinations: only the category rail remains on screen. */
html { scroll-padding-top: 62px; }
@media (max-width: 790px) {
  .category-rail-wrap { top: 0; }
  html { scroll-padding-top: 56px; }
}
@media print {
  .category-rail-wrap { display:none!important; position:static!important; }
}

/* V4.8 — Website title must remain visible beside any custom logo. */
.site-header .brand{display:inline-flex;align-items:center;gap:9px;min-width:0;text-decoration:none}
.site-header .brand-custom{width:auto;height:39px;max-width:46px;flex:none;object-fit:contain}
.site-header .brand-words{display:flex;flex-direction:column;min-width:0;justify-content:center}
.site-header .brand-main{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px;color:var(--ink)}
.site-header .brand-sub{font-size:7px;letter-spacing:.12em;white-space:nowrap}
.admin-favicon-panel .eyebrow{margin:0 0 7px}
.admin-favicon-grid{display:grid;grid-template-columns:minmax(135px,200px) minmax(0,1fr);gap:25px;align-items:center}
.admin-favicon-preview-card{display:flex;flex-direction:column;align-items:center;gap:10px;border-radius:12px;background:#f9f6f2;padding:18px;border:1px solid var(--border)}
.admin-favicon-preview-frame{display:grid;place-items:center;width:96px;height:96px;background:#fff;border:1px solid #e9dfd5;border-radius:18px}
.admin-favicon-preview-frame img{width:65px;height:65px;object-fit:contain}
.admin-favicon-preview-card span{font-size:11px;color:var(--muted)}
.admin-favicon-controls{min-width:0}
.admin-favicon-status{font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:1040px){.site-header .brand-main{max-width:175px;font-size:17px}}
@media(max-width:790px){.site-header .brand{gap:7px;max-width:calc(100% - 48px)}.site-header .brand-custom{height:31px;max-width:33px}.site-header .brand-main{max-width:calc(100vw - 145px);font-size:16px}.site-header .brand-sub{font-size:6px}.admin-favicon-grid{grid-template-columns:1fr;gap:15px}.admin-favicon-preview-card{max-width:220px}}
@media(max-width:365px){.site-header .brand-main{font-size:14px;max-width:calc(100vw - 140px)}}

/* V4.9 — Editorial author card and About Us */
.olivia-author-card{display:flex;gap:26px;align-items:center;padding:24px 27px;margin:20px auto 36px;border:1px solid #e9e0d5;border-radius:18px;background:linear-gradient(125deg,#fffaf5,#fff);box-shadow:0 8px 26px rgba(56,33,15,.035)}
.olivia-author-art{flex:0 0 115px;display:flex;align-items:center;justify-content:center}
.olivia-portrait{width:115px;height:115px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 7px 23px rgba(57,31,14,.11)}
.olivia-portrait-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#eac39d,#b96745);color:#fff;font:400 48px var(--serif)}
.olivia-author-details{min-width:0;flex:1}.olivia-author-details .eyebrow{display:block;margin-bottom:8px}.olivia-author-details h2{font:400 clamp(24px,2.5vw,33px)/1.15 var(--serif);margin:0 0 8px}.olivia-author-details p{font:400 13px/1.75 var(--sans);color:#766a5e;max-width:570px;margin:0 0 12px}.olivia-author-link{font-size:12px;font-weight:800;color:var(--accent);text-decoration:none}.olivia-author-link span{margin-left:5px}.olivia-author-link:hover{text-decoration:underline}
.olivia-about-page{padding:45px 0 90px}.olivia-about-heading{padding:44px 0 30px}.olivia-about-heading h1{font:400 clamp(45px,5vw,70px)/1.08 var(--serif);margin:13px 0 0}.olivia-about-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(25px,5vw,70px);align-items:center}.olivia-about-image{background:#f9f0e8;min-height:340px;aspect-ratio:4/5;border-radius:130px 16px 130px 16px;overflow:hidden;display:grid;place-items:center}.olivia-about-portrait{width:100%;height:100%;object-fit:cover}.olivia-about-portrait.olivia-portrait-fallback{border-radius:0;display:grid;place-items:center;font:400 100px var(--serif)}.olivia-about-copy h2{font:400 clamp(34px,3.4vw,52px)/1.15 var(--serif);margin:12px 0 16px}.olivia-about-copy .article-body{font-size:16px;line-height:1.8}.olivia-about-copy .olivia-about-lead{font-size:17px;line-height:1.7;color:#61564b;margin:0 0 19px}.olivia-about-copy .btn{margin-top:15px}
.olivia-profile-editor{border:1px solid #f0dfd0;background:#fdf9f4;border-radius:12px;padding:24px;margin-bottom:23px}.olivia-profile-editor h3{font:400 27px var(--serif);margin:7px 0}.olivia-profile-editor>p:not(.eyebrow){font-size:12px;color:#756a5f}.olivia-admin-photo-frame{width:155px;height:155px;overflow:hidden;display:grid;place-items:center;border-radius:18px;background:#f0ded0;border:4px solid white;box-shadow:0 4px 12px #0001;margin-bottom:14px}.olivia-admin-photo-frame img{height:100%;width:100%;object-fit:cover}.olivia-admin-placeholder{font:400 85px var(--serif);color:#c94829}.olivia-upload-status{font-size:11px;color:#74675d}
@media(max-width:650px){.olivia-author-card{gap:15px;padding:18px 16px;align-items:flex-start;margin:16px auto 27px}.olivia-author-art{flex-basis:73px}.olivia-portrait{width:73px;height:73px;border-width:3px}.olivia-portrait-fallback{font-size:32px}.olivia-author-details h2{font-size:25px}.olivia-author-details .eyebrow{font-size:9px}.olivia-author-details p{font-size:12px}.olivia-about-page{padding:24px 0 60px}.olivia-about-heading{padding:30px 0 24px}.olivia-about-layout{grid-template-columns:1fr;gap:27px}.olivia-about-image{aspect-ratio:5/4;min-height:260px;border-radius:80px 12px 80px 12px}.olivia-about-copy h2{font-size:36px}.olivia-profile-editor{padding:16px}}
@media print{.olivia-author-card,.olivia-about-page{display:none!important}}

/* V5 ads: reserve space and disclose advertisement placements. */
.olivia-ad-placement{background:#fbfaf8;border:1px solid #ece8e2;border-radius:12px;margin:34px 0;padding:12px 16px;min-width:0;max-width:100%;overflow:hidden}
.olivia-ad-disclosure{font:700 10px/1.5 Arial,sans-serif;letter-spacing:.12em;color:#82796f;text-transform:uppercase;margin-bottom:7px;text-align:center}
.olivia-ad-content{min-width:0;overflow:hidden;text-align:center}
.olivia-ad-content .adsbygoogle{min-height:90px}
.olivia-ad-desktop-left{display:none}
.olivia-mobile-ad-footer{display:none}
@media(min-width:1900px){.olivia-ad-desktop-left{display:block;position:fixed;left:max(8px,calc((100vw - 1900px)/2));top:120px;width:310px;max-height:calc(100vh - 130px);overflow:auto;z-index:25;margin:0;padding:6px}.olivia-ad-desktop-left .olivia-ad-content{min-height:300px}}
@media(max-width:790px){.olivia-mobile-ad-footer{display:block;position:fixed;bottom:0;left:0;right:0;z-index:55;width:100%;margin:0;border-radius:12px 12px 0 0;max-height:125px;overflow:auto;box-shadow:0 -7px 28px rgba(0,0,0,.13);padding:8px 28px 6px}.olivia-mobile-ad-open{padding-bottom:130px}.olivia-mobile-ad-footer .olivia-ad-content{max-height:99px}.olivia-ad-dismiss{position:absolute;right:5px;top:3px;border:0;background:white;color:#333;font:700 21px/1 Arial,sans-serif;cursor:pointer;padding:3px 7px;z-index:2}}
@media print{.olivia-ad-placement,.olivia-provider-interstitial{display:none!important}}
/* Admin Ads UI */
.ads-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ads-settings-item{border:1px solid #e8e1d8;border-radius:10px;padding:16px;margin:10px 0;background:#fff}
.ads-settings-item .form-field{margin-top:10px}
.ads-settings-toggle{display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer;font-size:14px;font-weight:700}
.ads-settings-toggle input{width:19px;height:19px;accent-color:#c94829;flex-shrink:0}
.ads-id{font:12px monospace;color:#8c776b}
@media(max-width:790px){.ads-settings-grid{grid-template-columns:1fr}}


/* V5.1 — Recipe cards: 5/6 visual rhythm, inset rounded photography, category on photo. */
.recipes-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.recipe-tile{border-radius:22px;overflow:hidden;min-height:0;height:auto;padding:10px;background:#fff}
.recipe-tile .recipe-photo{width:100%;height:auto!important;aspect-ratio:1.12/1;max-height:none;min-height:0;margin:0;flex:none!important;border-radius:17px;overflow:hidden}
.recipe-tile .recipe-photo img{object-fit:cover}
.recipe-tile .recipe-photo-label{top:12px;left:12px;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:28px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.96);color:#3f332b;letter-spacing:.07em;font-size:10px;box-shadow:0 3px 12px #20180f13}
.recipe-tile .recipe-info{padding:13px 8px 4px;min-height:166px;display:flex;flex-direction:column;flex:1}
.recipe-tile .recipe-category{display:none}
.recipe-tile .recipe-info h3{font:400 clamp(19px,1.65vw,23px)/1.13 var(--serif);margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.recipe-tile .recipe-info p{font:400 12px/1.5 var(--sans);margin:0 0 11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.recipe-tile .recipe-read-link{min-height:38px;padding:9px 12px;border-radius:10px;font-size:12px}
.recipe-tile .recipe-bottom{margin-top:auto}
@media(max-width:1120px){.recipes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(max-width:860px){.recipes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .recipes-grid{grid-template-columns:1fr;gap:15px}
 .recipe-tile{width:100%;max-width:520px;border-radius:20px;padding:9px}
 .recipe-tile .recipe-photo{aspect-ratio:1.12/1;border-radius:15px}
 .recipe-tile .recipe-info{padding:12px 8px 3px;min-height:145px}
 .recipe-tile .recipe-info h3{font-size:24px;margin-bottom:7px;line-height:1.12}
 .recipe-tile .recipe-info p{font-size:12px;margin-bottom:9px}
 .recipe-tile .recipe-read-link{min-height:40px}
}
/* Admin: one-click website recipe ordering. */
.recipe-order-panel{display:flex;flex-direction:column;gap:12px;background:#fffdf9}
.recipe-order-panel h2{margin:0 0 6px;font:400 26px var(--serif)}
.recipe-order-panel p{margin:0;color:#72675c;line-height:1.55}
.recipe-order-actions{display:flex;flex-wrap:wrap;gap:9px}
.admin-order-option{background:#fff;border:1px solid #ddcfc2;border-radius:11px;padding:10px 15px;color:#5c5147;cursor:pointer;text-align:left;font:800 13px var(--sans);min-width:170px;transition:background .15s,border-color .15s}
.admin-order-option small{display:block;font-size:10px;color:#897a6d;font-weight:500;margin-top:4px}
.admin-order-option.is-selected{background:#fff0e8;border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.admin-order-option:disabled{opacity:.6;cursor:wait}
.admin-order-option:focus-visible{outline:3px solid #efba9b;outline-offset:2px}
.recipe-order-panel .recipe-order-status{font-size:12px;font-weight:700;color:#69584c}
@media(max-width:560px){.recipe-order-actions{flex-direction:column}.admin-order-option{width:100%}}


/* V5.2 — Article lead/cover photo: square 1:1 on every screen.
   Object-fit cover keeps the original image proportions and crops cleanly.
   Other inline article illustrations retain their current layout. */
.article-shell .article-photo{width:min(100% - 0px,720px);max-width:720px;margin-left:auto;margin-right:auto;}
.article-shell .article-photo img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;min-height:0;max-height:none;object-fit:cover;object-position:center;border-radius:18px;}
@media(max-width:640px){
 .article-shell .article-photo{width:calc(100% - 28px);}
 .article-shell .article-photo img{aspect-ratio:1 / 1;height:auto;min-height:0;border-radius:16px;}
}

/* Header refresh: spacious masthead, with category navigation on scroll only. */
.site-header{background:linear-gradient(110deg,#fff 35%,#fffaf6);border-bottom:1px solid #eee4dc;box-shadow:0 4px 24px #37241405}
.site-header .nav-main{height:80px}
.site-header .brand{gap:12px}
.site-header .brand-custom{height:44px;max-width:48px}
.site-header .brand-mark{height:44px;width:44px;border-radius:14px;background:linear-gradient(145deg,var(--accent),#a8331c);box-shadow:0 5px 14px #c9482920}
.site-header .brand-main{font-size:21px;max-width:230px;letter-spacing:-.04em}
.site-header .brand-sub{margin-top:6px;font-size:7px;letter-spacing:.2em}
.site-header .nav-links{gap:6px}
.site-header .nav-links a{padding:11px 15px;border-radius:11px}
.site-header .nav-links a.is-active{background:#f9eae1;box-shadow:inset 0 0 0 1px #edd3c44d}
.site-header .search-mini{height:40px;background:#fff;border-color:#e8ded5;box-shadow:0 3px 12px #37241404}
.category-rail-wrap{position:fixed;inset:0 0 auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-100%);transition:opacity .2s ease,transform .2s ease,visibility .2s;}
.category-rail-wrap.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
@media(min-width:791px) and (max-width:1040px){
 .site-header .brand-main{font-size:18px;max-width:180px}
 .site-header .nav-links{gap:0}
 .site-header .nav-links a{padding:9px}
}
@media(max-width:790px){
 .site-header .nav-main{height:71.82px}
 .site-header .brand{gap:10px}
 .site-header .brand-custom{height:37px;max-width:38px}
 .site-header .brand-mark{height:37px;width:37px;border-radius:12px}
 .site-header .brand-main{font-size:18px;max-width:calc(100vw - 145px)}
 .site-header .brand-sub{font-size:6px;letter-spacing:.15em;margin-top:5px}
 .site-header .mobile-menu-btn{width:40px;height:40px;border-radius:12px;background:#fff;box-shadow:0 3px 10px #37241405}
}
@media(max-width:365px){.site-header .brand-main{font-size:15px}}
@media(prefers-reduced-motion:reduce){.category-rail-wrap{transition:none}}

/* Footer: use the admin brand asset, with a responsive editorial layout. */
.site-footer{position:relative;padding:56px 0 22px;background:radial-gradient(ellipse at 0 0,#433127 0,transparent 58%),#25221f;border-top:3px solid var(--accent)}
.site-footer .footer-grid{grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:clamp(30px,5vw,76px);margin-bottom:42px;align-items:start}
.site-footer .footer-brand{padding-right:20px}
.site-footer .footer-brand .brand{display:inline-flex;align-items:center;gap:14px;margin:0 0 4px;max-width:100%}
.site-footer .footer-logo-frame{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;background:#fffaf5;border:1px solid #ffffff20;border-radius:16px;box-shadow:0 5px 18px #0002;padding:7px}
.site-footer .footer-custom-logo{width:100%;height:100%;object-fit:contain}
.site-footer .brand-mark{width:58px;height:58px;flex:0 0 58px;border-radius:16px}
.site-footer .brand-words{min-width:0}
.site-footer .brand-main{font-size:clamp(21px,2vw,27px);line-height:1.18;color:#fff9f3;white-space:normal;overflow-wrap:anywhere}
.site-footer .brand-sub{color:#dbaa8e;font-size:8px;letter-spacing:.18em;margin-top:7px}
.site-footer .footer-brand p{color:#c5bab0;font-size:13px;line-height:1.85;max-width:310px;margin:18px 0 0}
.site-footer .footer-grid h4{font-size:11px;letter-spacing:.17em;color:#f6e7db;margin:6px 0 18px;padding-bottom:13px;border-bottom:1px solid #ffffff16}
.site-footer .footer-grid>div:not(.footer-brand)>a{display:table;width:fit-content;font-size:13px;line-height:1.5;color:#c5bab0;margin-bottom:11px;padding:3px 0;transition:color .18s}
.site-footer .footer-grid>div:not(.footer-brand)>a:hover{color:#fff4e9;text-decoration:underline;text-underline-offset:5px}
.site-footer a:focus-visible{outline:2px solid #efb593;outline-offset:5px;border-radius:3px}
.site-footer .footer-bottom{border-color:#ffffff18;padding-top:20px;color:#b1a399;line-height:1.65;align-items:center;gap:12px;font-size:11px}
@media(max-width:790px){
 .site-footer{padding:34px 0 20px}
 .site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;margin-bottom:28px}
 .site-footer .footer-brand{grid-column:1 / -1;padding:0 0 25px;border-bottom:1px solid #ffffff16}
 .site-footer .footer-brand p{max-width:100%;margin-top:13px}
 .site-footer .footer-logo-frame,.site-footer .brand-mark{width:50px;height:50px;flex-basis:50px;border-radius:14px}
 .site-footer .brand-main{font-size:23px}
 .site-footer .footer-grid h4{margin-top:0;font-size:10px}
 .site-footer .footer-grid>div:not(.footer-brand)>a{padding:7px 0;margin-bottom:5px;font-size:12px}
 .site-footer .footer-bottom{align-items:flex-start;gap:7px;font-size:10px}
}

/* Search-led masthead: brand / search / navigation. */
.site-header{background:linear-gradient(115deg,#302720,#211e1b 65%,#36271f);border-bottom:1px solid #ffffff12;box-shadow:0 6px 24px #241b1510;color:#fffaf6}
.site-header .nav-main{display:grid;grid-template-columns:minmax(210px,1fr) minmax(240px,1.35fr) minmax(280px,1fr);gap:32px;height:80px}
.site-header .brand{gap:11px;max-width:100%;min-width:0}
.site-header .brand-custom{height:43px;width:43px;max-width:43px;flex:0 0 43px;object-fit:contain}
.site-header .brand-main{font-size:21px;color:#fffaf6;max-width:100%;letter-spacing:-.035em}
.site-header .brand-sub{color:#dfa889;font-size:7px;letter-spacing:.19em}
.site-header .brand-mark{background:var(--accent);box-shadow:none}
.site-header .header-search-wrap{display:block;width:100%;min-width:0}
.site-header .search-mini{display:flex;gap:0;width:100%;height:44px;background:#fffdfb;border:1px solid #ffffff30;border-radius:12px;padding:4px 4px 4px 17px;box-shadow:0 4px 18px #00000010;overflow:hidden}
.site-header .search-mini input{font-size:12px;color:#342b25;min-width:0;flex:1;padding-right:9px}
.site-header .search-mini input::placeholder{color:#8d8279}
.site-header .search-mini:focus-within{background:#fff;border-color:#e2a27a;box-shadow:0 0 0 3px #e2a27a30}
.site-header .header-search-submit{display:grid;place-items:center;flex:0 0 38px;width:38px;height:34px;border:0;border-radius:9px;background:var(--accent);color:#fff;transition:filter .15s}
.site-header .header-search-submit:hover{filter:brightness(1.12)}
.site-header .header-search-submit svg{width:18px;height:18px;color:inherit}
.site-header .nav-right{justify-content:flex-end;min-width:0}
.site-header .nav-links{display:flex;gap:5px}
.site-header .nav-links a{position:relative;color:#eee0d6;font-size:12px;padding:11px 12px;border-radius:9px;background:transparent;box-shadow:none}
.site-header .nav-links a:hover,.site-header .nav-links a.is-active{color:#fff;background:#ffffff12;box-shadow:none}
.site-header .nav-links a.is-active:after{content:'';position:absolute;bottom:4px;left:12px;right:12px;height:2px;background:#e5a17d;border-radius:2px}
.site-header a:focus-visible,.site-header button:focus-visible{outline:2px solid #efb593;outline-offset:3px}
@media(min-width:791px) and (max-width:1100px){
 .site-header .nav-main{grid-template-columns:minmax(180px,1fr) minmax(190px,1.2fr) auto;gap:18px}
 .site-header .brand-main{font-size:18px}
 .site-header .nav-links{gap:0}
 .site-header .nav-links a{font-size:11px;padding:10px 8px}
}
@media(max-width:790px){
 .site-header .nav-main{height:auto;min-height:71.82px;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding-top:16px;padding-bottom:14px}
 .site-header .brand{grid-column:1;grid-row:1;max-width:100%;gap:10px}
 .site-header .brand-custom{height:38px;width:38px;max-width:38px;flex-basis:38px}
 .site-header .brand-main{font-size:19px;max-width:100%}
 .site-header .brand-sub{font-size:6px;margin-top:5px}
 .site-header .nav-right{grid-column:2;grid-row:1}
 .site-header .nav-links{display:none}
 .site-header .mobile-menu-btn{background:#ffffff0c;border:1px solid #ffffff25;color:#fff6ef;box-shadow:none}
 .site-header .header-search-wrap{grid-column:1 / -1;grid-row:2;margin-top:14px}
 .site-header .search-mini{height:42px;border-radius:11px}
 .site-header .header-search-submit{height:32px}
 .site-header .search-mini input{font-size:12px}
 .site-header .search-suggestions{max-height:50vh;overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){.site-header .header-search-submit{transition:none}}
.site-header .search-suggestions{min-width:0;color:var(--ink)}

/* Mobile opening screen: copy, breathing room, then the hero photograph. */
@media(max-width:790px){
 .hero-editorial{display:flex;min-height:calc(100vh - var(--masthead-height,125px));min-height:calc(100svh - var(--masthead-height,125px));padding:34px 0 32px;background:linear-gradient(155deg,#fffdf9 35%,#f5eee5)}
 .hero-editorial .hero-grid{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:34px;min-height:0}
 .hero-editorial .hero-copy{padding:0 4px;text-align:left;width:100%}
 .hero-editorial .eyebrow{font-size:9px;letter-spacing:.18em;gap:10px;line-height:1.6}
 .hero-editorial .hero-copy h1{font-size:clamp(42px,10.6vw,68px);line-height:1.06;letter-spacing:-.045em;margin:20px 0 18px;max-width:620px}
 .hero-editorial .hero-copy p{font-size:14px;line-height:1.8;margin:0 0 24px;max-width:510px;color:#77695d}
 .hero-editorial .hero-search-area{width:100%;max-width:100%}
 .hero-editorial .hero-search{height:56px;border-radius:13px;border-color:#e4d5c6;box-shadow:0 8px 24px #49311e07}
 .hero-editorial .hero-search input{min-width:0;font-size:12px}
 .hero-editorial .hero-search button{border-radius:9px;flex-shrink:0;padding:0 13px}
 .hero-editorial .hero-quicklinks{margin-top:18px;gap:8px;justify-content:flex-start;font-size:11px}
 .hero-editorial .hero-quicklinks a{padding:8px 13px;border-color:#e8dcd0;background:#fffdfa}
 .hero-editorial .hero-visual{height:clamp(260px,36svh,360px);flex-shrink:0;width:100%;border-radius:24px 24px 64px 24px;box-shadow:0 16px 35px #49311e12}
 .hero-editorial .hero-sticker{left:16px;bottom:18px;padding:13px 16px;border-radius:13px}
 .hero-editorial .hero-sticker strong{font-size:20px}
 .hero-editorial .hero-sticker span:not(.hero-sticker-mark){font-size:10px}
 .home-category-section{padding-top:44px}
}
@media(max-width:360px){
 .hero-editorial{padding-top:28px}
 .hero-editorial .hero-copy{padding:0}
 .hero-editorial .hero-copy h1{font-size:40px}
 .hero-editorial .hero-search{gap:7px;padding-left:10px}
 .hero-editorial .hero-search input{font-size:11px}
 .hero-editorial .hero-search button{padding:0 10px}
 .hero-editorial .hero-quicklinks{gap:6px}
 .hero-editorial .hero-quicklinks a{padding:8px 11px}
}
