/*
Theme Name: SoupBites Child
Template: generatepress
Version: 2.0.0
Description: SoupBites design built on GeneratePress. Dark midnight palette with a menu-board layout.
Text Domain: soupbites-child
*/

:root{--night:#14213D;--night2:#1B2B4F;--deep:#0F1A33;--cream:#FFF8E7;--mute:#A9B5D1;--tomato:#EF476F;--butter:#FFD166;--line:#2A3C66;--dot:#3C5187}
html,body{background:var(--night)}
body{color:var(--cream);font-family:"Work Sans",system-ui,sans-serif;font-size:17px;line-height:1.6}
h1,h2,h3{font-family:"Alfa Slab One",Georgia,serif;line-height:1.12;color:var(--cream);font-weight:400}
a{color:var(--butter)}
.dc-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.dc-btn{display:inline-block;background:var(--tomato);color:#fff !important;padding:13px 24px;border-radius:6px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:14px;border:0;cursor:pointer;box-shadow:5px 5px 0 var(--butter)}
.sb-btn{display:inline-block;background:var(--tomato);color:#fff !important;padding:14px 26px;border-radius:6px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:14px;box-shadow:5px 5px 0 var(--butter)}
.sb-btn:hover,.dc-btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--butter)}
.sb-btn-dark{background:var(--night);box-shadow:5px 5px 0 var(--tomato)}
.sb-btn-dark:hover{box-shadow:7px 7px 0 var(--tomato)}

/* ---- Header and footer ---- */
.site-header{background:var(--deep);border-bottom:1px solid var(--line)}
.inside-header{display:flex !important;align-items:center;justify-content:space-between;flex-wrap:wrap;max-width:1180px;margin:0 auto;padding:14px 24px !important;gap:20px}
.site-header .site-branding{margin:0;float:none}
.site-branding .custom-logo-link img,.site-logo img,.custom-logo{max-height:60px !important;width:auto !important;height:auto}
.site-branding .main-title{display:none !important}
.main-navigation{float:none;width:auto;background:transparent}
.main-navigation ul{display:flex;flex-wrap:wrap;gap:24px}
.main-navigation .main-nav ul li a{font-weight:600;color:var(--mute);padding:8px 0;text-transform:uppercase;font-size:13px;letter-spacing:.08em}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a{color:var(--butter)}
.main-navigation .menu-toggle{display:none}
.site-content,.content-area{background:transparent}
.inside-article{padding:0 !important}
.site-footer{background:var(--deep);border-top:1px solid var(--line)}
.site-info,.site-info a{color:var(--mute)}
.site-info a{color:var(--butter)}
@media (max-width:900px){
  .main-navigation .menu-toggle{display:block}
  .main-navigation ul{display:none}
  .main-navigation.toggled ul{display:block}
}

/* ---- Home: tonight's soup ---- */
.sb-tonight{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:64px 0 56px}
.sb-kicker{font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:13px;color:var(--butter);margin:0 0 14px}
.sb-tonight h1{font-size:clamp(38px,5.4vw,66px);margin:0 0 18px;line-height:1.04}
.sb-lede{color:var(--mute);font-size:19px;max-width:520px;margin:0 0 30px}
.sb-bowl-wrap{position:relative;max-width:460px;width:100%;justify-self:center}
.sb-bowl{display:block;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--night2);border:10px solid var(--cream);box-shadow:0 0 0 4px var(--tomato)}
.sb-bowl img{width:100%;height:100%;object-fit:cover;display:block}
.sb-sticker{position:absolute;right:-6px;top:4%;background:var(--butter);color:var(--night);font-family:"Alfa Slab One",Georgia,serif;font-size:17px;line-height:1.1;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;text-align:center;transform:rotate(12deg);box-shadow:5px 5px 0 var(--tomato)}

/* ---- Home: this week's menu board ---- */
.sb-board{margin:12px 0 70px}
.sb-board-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px;border-bottom:3px double var(--butter);padding-bottom:14px;margin-bottom:6px}
.sb-board-head h2{font-size:34px;margin:0}
.sb-board-head a{color:var(--butter);font-weight:700}
.sb-menu{list-style:none;margin:0;padding:0}
.sb-item{display:grid;grid-template-columns:76px 1fr auto;gap:22px;align-items:center;padding:24px 0;border-bottom:1px dotted var(--dot)}
.sb-num{font-family:"Alfa Slab One",Georgia,serif;font-size:36px;color:var(--tomato);line-height:1}
.sb-item h3{font-size:26px;margin:0 0 6px}
.sb-item h3 a{color:var(--cream);text-decoration:none}
.sb-item h3 a:hover{color:var(--butter)}
.sb-item p{margin:0;color:var(--mute);font-size:15px}
.sb-time{font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--butter);white-space:nowrap}

/* ---- Home: subscribe strip ---- */
.sb-ladle{background:var(--butter);color:var(--night);border-radius:4px;padding:44px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin:0 0 80px;transform:rotate(-.5deg)}
.sb-ladle h2{color:var(--night);font-size:34px;margin:0 0 6px}
.sb-ladle p{margin:0;color:var(--night)}

/* ---- Recipe lists: archive and search (menu rows) ---- */
.dc-grid{display:grid;grid-template-columns:1fr;margin-bottom:60px;border-top:3px double var(--butter)}
.dc-card{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:center;background:transparent;border:0;border-bottom:1px dotted var(--dot);border-radius:0;padding:24px 0;overflow:visible}
.dc-card:hover{transform:none;box-shadow:none}
.dc-card-img{aspect-ratio:4/3;background:var(--night2);border-radius:14px;overflow:hidden;display:block;border:3px solid var(--butter)}
.dc-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.dc-meta{padding:0}
.dc-cat{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--tomato);font-weight:700}
.dc-meta h3{font-size:28px;margin:6px 0 8px}
.dc-meta h3 a{color:var(--cream);text-decoration:none}
.dc-meta h3 a:hover{color:var(--butter)}
.dc-meta p{margin:0;color:var(--mute);font-size:15px}
.dc-archive{padding-bottom:20px}
.dc-archive-head{border-bottom:3px double var(--butter);padding:30px 0 22px;margin:32px 0 24px}
.dc-archive-head h1{font-size:clamp(34px,4.5vw,50px);margin:6px 0 0}
.dc-archive .dc-grid{margin-bottom:24px}
.dc-pager{text-align:center;margin:0 0 60px}
.dc-pager .page-numbers{display:inline-block;margin:0 4px;padding:8px 14px;border-radius:6px;border:2px solid var(--line);color:var(--cream);text-decoration:none;font-weight:700}
.dc-pager .page-numbers.current,.dc-pager .page-numbers:hover{background:var(--butter);color:var(--night);border-color:var(--butter)}
.dc-empty{color:var(--mute);padding:40px 0}

/* ---- Recipe page ---- */
.dc-recipe-photo{background:var(--night2);border:6px solid var(--butter);border-radius:24px;overflow:hidden;margin-bottom:24px;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;box-shadow:10px 10px 0 var(--tomato)}
.dc-recipe-photo img{width:100%;height:100%;object-fit:contain;display:block}
.dc-facts{display:grid;grid-template-columns:repeat(4,1fr);border:2px solid var(--butter);border-radius:4px;margin:30px 0 26px}
.dc-facts div{text-align:center;padding:18px 8px;border-right:1px solid var(--line)}
.dc-facts div:last-child{border-right:0}
.dc-facts b{display:block;font:400 26px "Alfa Slab One",Georgia,serif;color:var(--butter)}
.dc-facts small{color:var(--mute);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}
.dc-recipe-body ol.dc-steps,
.dc-recipe-body ol.wp-block-list{counter-reset:step;list-style:none;padding-left:0}
.dc-recipe-body li.dcar-step,
.dc-recipe-body ol.dc-steps > li,
.dc-recipe-body ol.wp-block-list > li{counter-increment:step;position:relative;list-style:none;padding:0 0 26px 58px;margin:0 0 26px;border-bottom:1px solid var(--line)}
.dc-recipe-body li.dcar-step::before,
.dc-recipe-body ol.dc-steps > li::before,
.dc-recipe-body ol.wp-block-list > li::before{content:counter(step);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:6px;background:var(--butter);color:var(--night);display:grid;place-items:center;font-family:"Alfa Slab One",Georgia,serif;font-size:20px;transform:rotate(-4deg)}
.dc-recipe-body img{border-radius:16px;margin-top:12px;border:3px solid var(--line)}
.dc-recipe-body .dcar-ingredients ul{list-style:none;padding:24px 28px;background:var(--night2);border-left:6px solid var(--tomato);border-radius:4px;width:100%}
.dc-recipe-body .dcar-ingredients li{padding:8px 0;border-bottom:1px dashed var(--dot)}

/* ---- Forms (subscribe and contact) ---- */
.dc-form-wrap{max-width:560px;margin:0 auto}
.dc-form-wrap h2{font-size:30px;margin:6px 0 10px}
.dc-form label{display:block;font-weight:600;margin:0 0 14px;color:var(--cream)}
.dc-form input,.dc-form textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:2px solid var(--line);border-radius:6px;font:inherit;background:var(--deep);color:var(--cream)}
.dc-form textarea{resize:vertical}
.dc-form button{cursor:pointer}
.dc-notice{padding:12px 16px;border-radius:6px;font-weight:600}
.dc-notice-ok{background:#1F4D3A;color:#CFF5DD}
.dc-notice-err{background:#5A1F2E;color:#FFD0DA}

/* ---- Print / Save as PDF: a clean recipe card ---- */
.dc-print-row{margin:0 0 18px}
.dc-print-btn{background:var(--butter);color:var(--night);border:0;border-radius:6px;padding:10px 20px;font:700 14px "Work Sans",system-ui,sans-serif;cursor:pointer}
.dc-print-btn:hover{background:var(--tomato);color:#fff}

/* ---- Header search ---- */
.dc-search{display:inline-flex;align-items:center;margin-left:18px;margin-right:28px}
.dc-search input{border:2px solid var(--line);border-radius:6px;padding:8px 14px;font:inherit;font-size:14px;width:200px;background:var(--deep);color:var(--cream)}
.dc-search button{margin-left:6px;background:var(--tomato);color:#fff;border:0;border-radius:6px;padding:8px 16px;font:700 14px "Work Sans",system-ui,sans-serif;cursor:pointer}
@media (max-width:900px){.dc-search{margin:12px 0 0;width:100%}.dc-search input{flex:1;width:auto;min-width:0}}

/* ---- Responsive ---- */
@media (max-width:900px){
  .sb-tonight{grid-template-columns:1fr;gap:36px;padding-top:40px}
  .sb-bowl-wrap{max-width:360px}
  .dc-facts{grid-template-columns:1fr 1fr}
  .dc-facts div:nth-child(2){border-right:0}
  .dc-facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:600px){
  .dc-wrap{padding:0 16px}
  .dc-card{grid-template-columns:1fr;gap:14px}
  .sb-item{grid-template-columns:50px 1fr}
  .sb-time{grid-column:2}
  .sb-ladle{padding:28px 24px}
  .sb-ladle h2{font-size:28px}
}

/* ---- Print styles ---- */
@media print{
  @page{size:letter;margin:.6in}
  #wpadminbar,.site-header,.site-footer,.main-navigation,.dc-print-row,.dc-crumbs,.comments-area,.generate-back-to-top,#secondary,.sidebar,.sb-ladle{display:none !important}
  html,body{background:#fff !important;color:#000 !important;font-size:11pt}
  .site-content,.content-area,.site-main,.inside-article,.dc-wrap,main{max-width:100% !important;margin:0 !important;padding:0 !important;background:#fff !important;box-shadow:none !important}
  .dc-wrap::before{content:"SoupBites  \00B7  Recipe card";display:block;font:700 9pt "Work Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#EF476F;margin-bottom:10pt}
  h1,h2,h3,.dc-recipe-body h2{color:#000 !important}
  h1{font-size:24pt !important;line-height:1.15 !important;margin:0 0 6pt !important}
  .dc-recipe-photo{aspect-ratio:auto !important;background:none !important;border:none !important;box-shadow:none !important;border-radius:8pt;margin:0 0 10pt;break-inside:avoid}
  .dc-recipe-photo img{width:auto;max-width:100%;height:auto;max-height:3.4in;object-fit:contain;margin:0 auto;display:block}
  .dc-recipe-photo + p{font-size:8pt;margin:2pt 0 0}
  .dc-facts{border:1px solid #bbb;border-radius:6pt;break-inside:avoid;margin:10pt 0}
  .dc-facts b{color:#000 !important}
  .dc-recipe-body{font-size:10.5pt;line-height:1.45}
  .dc-recipe-body h2{font-size:14pt;margin:12pt 0 6pt}
  .dc-recipe-body .dcar-ingredients ul{border:none;padding:0;background:none}
  .dc-recipe-body li{break-inside:avoid}
  .dc-recipe-body li.dcar-step,.dc-recipe-body ol.dc-steps > li,.dc-recipe-body ol.wp-block-list > li{padding:0 0 8pt 34pt;margin:0 0 8pt;border-bottom:1px solid #ddd}
  .dc-recipe-body li.dcar-step::before,.dc-recipe-body ol.dc-steps > li::before,.dc-recipe-body ol.wp-block-list > li::before{width:24pt;height:24pt;font-size:11pt;line-height:24pt;text-align:center;display:block;transform:none;background:#fff;color:#000;border:1px solid #000}
  .dc-recipe-body img{max-height:2.2in;width:auto;margin-top:6pt;border:none}
  a{color:#000 !important;text-decoration:none !important}
}

/* ---- Inner pages (About, Contact, Subscribe, Privacy, Terms): dark, no white boxes ---- */
.separate-containers .inside-article,
.inside-article,
.entry-content,
.page-header,
.site-main .inside-article,
.widget,
#secondary,
#secondary .widget{background:transparent !important;color:var(--cream) !important;box-shadow:none !important;border:0 !important}
.separate-containers .inside-article{padding:0 !important}
.entry-title,.entry-title a,.entry-content h1,.entry-content h2,.entry-content h3{color:var(--cream) !important}
.entry-content p,.entry-content li{color:var(--cream) !important}
.entry-content a{color:var(--butter) !important}
.entry-content{max-width:760px;margin:0 auto;padding-bottom:40px}
.content-area{width:100% !important;float:none !important}
#secondary{display:none !important}
.page .entry-header{margin-top:30px}

/* ---- Footer: dark, no white bar ---- */
.site-footer,
.site-footer .inside-footer-widgets,
.footer-widgets,
.inside-site-info,
.site-info,
.copyright-bar,
.site-footer .inside-site-info{background:var(--deep) !important;color:var(--mute) !important;border-color:var(--line) !important}
.site-footer .inside-site-info{padding:28px 24px}
