/* Practical guide resources extend the existing article template. */
.guide-resource { padding:clamp(18px,4vw,30px); border:1px solid var(--line-strong); border-radius:20px; background:var(--surface); margin:24px 0; }
.article-body .guide-resource h2, .article-body .guide-resource h3 { margin-top:0; }
.guide-resource h2 { font-size:clamp(24px,3vw,30px); }
.resource-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:20px 0; }
.resource-actions .btn { white-space:normal; text-align:center; min-height:44px; }
.guide-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:18px 0; }
.guide-fields label { display:grid; gap:6px; font-size:14px; color:var(--ink); }
.guide-fields input, .guide-fields select, .checkin-table input { width:100%; min-width:0; border:1px solid var(--line-strong); border-radius:10px; background:var(--bg,#1a1128); color:var(--ink); padding:12px; font:inherit; }
.guide-fields input:focus-visible, .guide-fields select:focus-visible, .checkin-table input:focus-visible { outline:2px solid var(--sakura); outline-offset:3px; }
.guide-fields button { align-self:end; }
.guide-result { display:block; padding:16px; border-left:3px solid var(--violet-soft); background:rgba(139,92,246,.1); margin:16px 0; color:var(--ink); font-weight:600; }
.guide-note, .meal-nutrition { font-size:14px; color:var(--ink-dim); }
.portion-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.portion-pair figure { margin:0; padding:18px; border:1px solid var(--line); border-radius:16px; text-align:center; }
.portion-pair svg { width:100%; max-width:180px; height:auto; margin:auto; }
.portion-pair figcaption { font-size:14px; }
.portion-pair strong { display:block; }
.guide-table { min-width:540px; }
.guide-table caption { text-align:left; padding:14px; color:var(--ink); font-weight:600; }
.guide-table th[scope="row"] { background:transparent; }
.plan-day { margin:28px 0; padding:clamp(18px,3vw,26px); border:1px solid var(--line); border-radius:18px; break-inside:avoid; }
.article-body .plan-day > h3 { margin-top:0; }
.meal-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:18px 0; }
.meal-grid h4 { font-family:inherit; font-size:16px; color:var(--lavender); margin:0 0 8px; }
.meal-grid p { font-size:15px; }
.meal-grid ul { margin:8px 0; padding-left:20px; font-size:14px; }
.shopping-list { columns:2; column-gap:32px; }
.shopping-list li { break-inside:avoid; font-size:15px; }
.checklist { list-style:none; padding:0 !important; }
.checklist label { display:flex; align-items:flex-start; gap:12px; padding:10px 0; }
.checklist input { flex:0 0 20px; width:20px; height:20px; margin-top:4px; accent-color:var(--violet); }
.checkin-table { min-width:580px; }
.checkin-table input[type="number"] { width:112px; padding:10px; }
.checkin-table input[type="checkbox"] { width:22px; height:22px; accent-color:var(--violet); }
.checkin-table input[type="text"] { width:200px; }
.guide-steps { padding-left:24px; }
.guide-steps li { padding:8px 0; }
.keto-table-hint { display:none; }
[hidden] { display:none !important; }
@media(max-width:600px) {
  .guide-fields { grid-template-columns:1fr; }
  .meal-grid { grid-template-columns:1fr; }
  .portion-pair { gap:10px; }
  .portion-pair figure { padding:10px; }
  .shopping-list { columns:1; }
  .keto-table-hint { display:block; }
}
@media print {
  :root { --ink:#111; --ink-dim:#222; --lavender:#3e2864; --violet-soft:#563584; --line:#bbb; --line-strong:#aaa; --surface:#fff; }
  body, .guide-resource, .plan-day { background:#fff !important; color:#111 !important; }
  .nav, footer.site, .comparison-jump, .comparison-cta, .resource-actions, .no-print, .mobile-nav-toggle { display:none !important; }
  .article-hero { padding:0 0 12px; margin-bottom:16px; }
  .article-hero h1 { font-size:28px !important; }
  .article-body { max-width:none; font-size:11pt; }
  .article-body h2 { font-size:20pt; }
  .feature-table-wrap { overflow:visible; }
  .feature-table { min-width:0; font-size:10pt; }
  .feature-table th, .feature-table td { padding:7px; }
  .plan-day { break-inside:avoid; page-break-inside:avoid; }
  .guide-fields input, .guide-fields select { color:#111; background:white; }
  .keto-menu { font-size:10pt; line-height:1.32; }
  .article-body .keto-menu :is(h2,h3,h4) { break-after:avoid; margin:10pt 0 4pt; }
  .article-body .keto-menu p { margin:0 0 6pt; }
  .keto-menu .plan-day { margin:9pt 0; padding:9pt; }
  .keto-menu .meal-grid { gap:6pt 10pt; margin:6pt 0 0; }
  .keto-menu .meal-grid section { break-inside:avoid; }
  .keto-menu :is(.meal-grid ul, .meal-nutrition, .shopping-list li) { font-size:9pt; line-height:1.3; }
  .keto-menu .meal-grid ul { margin:3pt 0; padding-left:12pt; }
  .article-body .keto-menu .meal-grid li { margin:0; }
  .keto-menu .guide-resource { margin:10pt 0; padding:10pt; }
  .keto-menu .guide-steps li { padding:3pt 0; }
}
