/* ═══════════════════════════════════════════════════════
   BookMyBuffet Blog — Magazine Layout
   ═══════════════════════════════════════════════════════ */

/* 1. Design tokens */
:root {
  --paper:         #FBE9EF;
  --paper-soft:    #FDF7F9;
  --surface:       #FFFFFF;
  --ink:           #2A2140;
  --ink-70:        #453A5C;
  --ink-55:        #5A4F70;
  --ink-45:        #3A3352;
  --ink-muted:     #8A7EA6;
  --ink-invert:    #FDF7F9;
  --ink-invert-70: #D8CFE4;
  --accent:        #B96888;
  --accent-soft:   #D98AA8;
  --accent-pale:   #F2B7C9;
  --blue-field:    #CFE0F2;
  --blue-accent:   #7FA6CF;
  --blue-grad:     #A7C5E8;
}

/* 2. Page base */
.bmb-blog-page { background: var(--paper); min-height: 100vh; }
.bmb-blog-page * { box-sizing: border-box; }
.bmb-max { max-width: 1200px; margin: 0 auto; padding: 0 28px; }

/* 3. Grain overlay */
.bmb-grain { position:fixed; inset:0; z-index:0; pointer-events:none;
  opacity:.2; mix-blend-mode:soft-light; }

/* 4. Hero */
.bmb-hero { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:clamp(28px,4vw,56px); align-items:center;
  padding-top:clamp(28px,4vw,60px); position:relative; z-index:1; }

/* 5. Hero left */
.bmb-kicker { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.bmb-kicker-rule { width:34px; height:1px; background:var(--accent-soft); flex-shrink:0; }
.bmb-kicker-text { font:700 11px/1 Inter,system-ui,sans-serif;
  letter-spacing:.32em; text-transform:uppercase; color:var(--accent); }
.bmb-h1 { font:500 clamp(38px,5.4vw,76px)/1.02 'Cormorant Garamond',serif;
  letter-spacing:-.015em; color:var(--ink); margin-bottom:22px; text-wrap:pretty; }
.bmb-dek { font:italic clamp(19px,2.2vw,25px)/1.45 'Cormorant Garamond',serif;
  color:var(--ink-55); max-width:44ch; margin-bottom:26px; }
.bmb-meta { display:flex; flex-wrap:wrap; gap:8px; }
.bmb-pill { font:600 13px/1 Inter,system-ui,sans-serif; color:var(--ink-55);
  padding:7px 14px; border-radius:999px; }
.bmb-pill--date { background:#fff; border:1px solid rgba(42,33,64,.12); }
.bmb-pill--cat { background:var(--blue-field); color:var(--ink); }

/* 6. Hero right — arch image + stat card */
.bmb-hero-img-wrap { position:relative; }
.bmb-hero-img { width:100%; height:clamp(320px,44vw,520px); object-fit:cover;
  border-radius:220px 220px 24px 24px; overflow:hidden; display:block;
  box-shadow:0 30px 70px -30px rgba(42,33,64,.5); }
.bmb-stat-card { position:absolute; left:-14px; bottom:26px; max-width:230px;
  background:#fff; border-radius:20px; padding:16px 20px;
  box-shadow:0 18px 40px -18px rgba(42,33,64,.45);
  animation:bmbfloat 7s ease-in-out infinite; }
.bmb-stat-value { font:700 30px/1 'Cormorant Garamond',serif; color:var(--accent); }
.bmb-stat-label { font:600 12.5px/1.45 Inter,system-ui,sans-serif;
  color:var(--ink-55); margin-top:6px; }
@keyframes bmbfloat {
  0%,100% { transform:translateY(0) rotate(-2deg); }
  50%      { transform:translateY(-9px) rotate(2deg); }
}
@media (prefers-reduced-motion:reduce) { .bmb-stat-card { animation:none; } }

/* 7. Summary band */
.bmb-summary { background:var(--ink); color:var(--ink-invert);
  border-radius:28px; padding:clamp(28px,4vw,52px);
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(22px,3vw,44px); align-items:center;
  margin-top:clamp(44px,5vw,76px); position:relative; z-index:1; }
.bmb-summary-head { font:500 clamp(24px,3.2vw,40px)/1.22 'Cormorant Garamond',serif; }
.bmb-summary-body { font:clamp(15px,1.7vw,17.5px)/1.72 Inter,system-ui,sans-serif;
  color:var(--ink-invert-70); }

/* 8. Section spacing */
.bmb-section { padding-top:clamp(48px,6vw,84px); position:relative; z-index:1; }

/* 9. Two-column heading treatment */
.bmb-split { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(26px,4vw,52px); }
.bmb-split-head .bmb-kicker-text { margin-bottom:10px; display:block; }
.bmb-split-head h2 { font:600 clamp(28px,3.6vw,46px)/1.06 'Cormorant Garamond',serif;
  letter-spacing:-.01em; color:var(--ink); }
.bmb-split-body p { font:clamp(16px,1.8vw,18px)/1.78 Inter,system-ui,sans-serif;
  color:var(--ink-70); margin-bottom:18px; }

/* 10. Tiles */
.bmb-tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:12px; margin-top:34px; }
.bmb-tile { border-radius:18px; padding:20px; background:#fff;
  border:1px solid rgba(42,33,64,.1); }
.bmb-tile--accent { background:var(--accent); border:none; }
.bmb-tile-num { font:700 26px/1 'Cormorant Garamond',serif; color:var(--accent-soft); }
.bmb-tile--accent .bmb-tile-num { color:var(--accent-pale); }
.bmb-tile-label { font:600 19px/1.25 'Cormorant Garamond',serif;
  color:var(--ink); margin-top:10px; }
.bmb-tile--accent .bmb-tile-label { color:#fff; }

/* 11. Rows */
.bmb-rows { display:flex; flex-direction:column; gap:10px; margin-top:30px; }
.bmb-row { display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr);
  gap:clamp(14px,3vw,40px); align-items:baseline;
  background:#fff; border-radius:18px; padding:22px clamp(20px,3vw,32px);
  border:1px solid rgba(42,33,64,.1); }
.bmb-row-name { font:600 clamp(20px,2.4vw,28px)/1 'Cormorant Garamond',serif;
  color:var(--ink); min-width:8ch; }
.bmb-row-note { font:15.5px/1.65 Inter,system-ui,sans-serif; color:var(--ink-55); }

/* 12. Field block (full-bleed) */
.bmb-field { background:var(--blue-field);
  padding:clamp(44px,6vw,84px) 28px;
  margin-top:clamp(48px,6vw,84px); }
.bmb-field-inner { max-width:1200px; margin:0 auto; }
.bmb-field h2 { font:500 clamp(30px,4.6vw,60px)/1.04 'Cormorant Garamond',serif;
  letter-spacing:-.015em; color:var(--ink); max-width:20ch; margin-bottom:34px; }
.bmb-field h2 em { color:var(--blue-accent); font-style:italic; }
.bmb-field-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(20px,3vw,32px); }
.bmb-field-intro { font:clamp(16px,1.8vw,18px)/1.78 Inter,system-ui,sans-serif;
  color:var(--ink-45); }
.bmb-field-cards { display:flex; flex-direction:column; gap:12px; }
.bmb-field-card { background:var(--paper-soft); border-radius:18px; padding:20px 22px; }
.bmb-field-card-title { font:600 23px/1 'Cormorant Garamond',serif; color:var(--accent); }
.bmb-field-card-body { font:15px/1.6 Inter,system-ui,sans-serif;
  color:var(--ink-55); margin-top:6px; }

/* 13. Tabs */
.bmb-tabs-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.bmb-tab-btn { font:600 14.5px/1 Inter,system-ui,sans-serif;
  padding:11px 20px; border-radius:999px; border:1px solid rgba(42,33,64,.14);
  background:#fff; color:var(--ink-70); cursor:pointer; transition:border .15s ease; }
.bmb-tab-btn:hover { border-color:var(--accent); }
.bmb-tab-btn[aria-selected="true"] { background:var(--ink); color:var(--ink-invert); }
.bmb-tab-panel { background:#fff; border-radius:26px;
  padding:clamp(24px,3.4vw,44px); border:1px solid rgba(42,33,64,.1);
  box-shadow:0 24px 60px -34px rgba(42,33,64,.35);
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(20px,3vw,36px); }
.bmb-tab-panel[hidden] { display:none; }
.bmb-tab-tag { font:700 11px/1 Inter,system-ui,sans-serif;
  letter-spacing:.3em; text-transform:uppercase; color:var(--blue-accent); }
.bmb-tab-name { font:600 clamp(30px,4vw,48px)/1.04 'Cormorant Garamond',serif;
  color:var(--ink); margin-bottom:16px; }
.bmb-tab-body { font:clamp(15.5px,1.8vw,17.5px)/1.75 Inter,system-ui,sans-serif;
  color:var(--ink-70); }
.bmb-tab-check { background:var(--paper); border-radius:20px; padding:24px; }
.bmb-tab-check-label { font:700 11px/1 Inter,system-ui,sans-serif;
  letter-spacing:.28em; text-transform:uppercase; color:var(--accent); }
.bmb-tab-check-title { font:600 clamp(20px,2.4vw,27px)/1.25 'Cormorant Garamond',serif;
  color:var(--ink); }
.bmb-tab-meta { display:flex; align-items:center; gap:14px; margin-top:12px;
  font:600 14px/1 Inter,system-ui,sans-serif; color:var(--ink-55); }
.bmb-tab-meta::before { content:''; width:8px; height:8px; border-radius:50%;
  background:var(--accent-soft); flex-shrink:0; }

/* 14. Checklist */
.bmb-checklist { background:var(--paper-soft); border-radius:28px;
  padding:clamp(26px,4vw,52px); border:1px solid rgba(42,33,64,.1); }
.bmb-checklist-header { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:20px; align-items:center; margin-bottom:22px; }
.bmb-checklist-title { font:600 clamp(26px,3.6vw,44px)/1.1 'Cormorant Garamond',serif;
  color:var(--ink); }
.bmb-checklist-controls { display:flex; gap:12px; align-items:center; }
.bmb-counter { font:600 20px/1 'Cormorant Garamond',serif; color:var(--ink);
  background:var(--accent-pale); padding:9px 18px; border-radius:999px; }
.bmb-reset { font:600 13.5px/1 Inter,system-ui,sans-serif; color:var(--ink-55);
  background:transparent; border:1px solid rgba(42,33,64,.2); border-radius:999px;
  padding:9px 16px; cursor:pointer; transition:all .15s ease; }
.bmb-reset:hover { border-color:var(--accent); color:var(--accent); }
.bmb-checklist-grid { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:10px; }
.bmb-check-item { display:flex; align-items:flex-start; gap:14px;
  background:#fff; border:1px solid rgba(42,33,64,.12); border-radius:16px;
  padding:16px 18px; cursor:pointer; text-align:left; width:100%; min-height:44px;
  transition:border .15s ease; }
.bmb-check-item:hover { border-color:var(--accent-soft); }
.bmb-check-item.checked { border-color:var(--accent); }
.bmb-check-marker { width:22px; height:22px; border-radius:50%; flex-shrink:0;
  border:1.5px solid var(--accent); display:grid; place-items:center;
  font:800 12px/1 Inter,system-ui,sans-serif; color:#fff; transition:all .15s ease; }
.bmb-check-item.checked .bmb-check-marker { background:var(--accent); }
.bmb-check-label { font:500 15.5px/1.5 Inter,system-ui,sans-serif; color:var(--ink); }

/* 15. CTA */
.bmb-cta { border-radius:28px; overflow:hidden;
  background:linear-gradient(120deg,#B96888 0%,#D98AA8 46%,#A7C5E8 100%);
  padding:clamp(32px,5vw,64px); text-align:center; color:#fff;
  position:relative; z-index:1; }
.bmb-cta-head { font:500 clamp(28px,4.4vw,56px)/1.06 'Cormorant Garamond',serif;
  max-width:22ch; margin:0 auto 16px; }
.bmb-cta-body { font:clamp(15px,1.7vw,17.5px)/1.68 Inter,system-ui,sans-serif;
  color:rgba(255,255,255,.94); max-width:52ch; margin:0 auto 26px; }
.bmb-cta-btns { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }
.bmb-cta-btn { font:600 18px/1 'Cormorant Garamond',serif;
  letter-spacing:.02em; padding:15px 30px; border-radius:999px;
  text-decoration:none; transition:all .15s ease; }
.bmb-cta-btn--primary { background:#fff; color:var(--ink); }
.bmb-cta-btn--primary:hover { background:var(--ink); color:#fff; }
.bmb-cta-btn--secondary { background:transparent;
  border:1px solid rgba(255,255,255,.75); color:#fff; }
.bmb-cta-btn--secondary:hover { background:rgba(255,255,255,.16); }

/* 16. Related posts */
.bmb-related { position:relative; z-index:1;
  padding-top:clamp(48px,6vw,84px); }
.bmb-related-head { display:flex; align-items:center; gap:16px; margin-bottom:22px; }
.bmb-related-title { font:600 clamp(22px,2.6vw,32px)/1 'Cormorant Garamond',serif;
  color:var(--ink); white-space:nowrap; }
.bmb-related-rule { flex:1; height:1px; background:rgba(42,33,64,.18); }
.bmb-related-grid { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:20px; }
.bmb-related-card img { width:100%; height:190px; object-fit:cover;
  border-radius:20px; margin-bottom:14px; display:block; }
.bmb-related-tag { font:700 11px/1 Inter,system-ui,sans-serif;
  letter-spacing:.26em; text-transform:uppercase; color:var(--accent); }
.bmb-related-name { font:600 21px/1.24 'Cormorant Garamond',serif; color:var(--ink);
  text-decoration:none; display:block; margin-top:6px; }
.bmb-related-name:hover { color:var(--accent); }

/* 17. Prose fallback (legacy post bodies) */
.bmb-prose { font:clamp(16px,1.8vw,18px)/1.78 Inter,system-ui,sans-serif;
  color:var(--ink-70); }
.bmb-prose h2 { font:600 clamp(28px,3.6vw,46px)/1.06 'Cormorant Garamond',serif;
  letter-spacing:-.01em; color:var(--ink); margin:clamp(32px,4vw,52px) 0 18px; }
.bmb-prose h3 { font:600 clamp(22px,2.6vw,32px)/1.2 'Cormorant Garamond',serif;
  color:var(--ink); margin:28px 0 14px; }
.bmb-prose p { margin-bottom:18px; }
.bmb-prose a, .bmb-prose strong { color:var(--accent); font-weight:600; }
.bmb-prose a { text-decoration:none; }
.bmb-prose a:hover { text-decoration:underline; }
.bmb-prose ul, .bmb-prose ol { padding-left:22px; margin-bottom:18px; }
.bmb-prose li { margin-bottom:8px; }
.bmb-prose img { width:100%; border-radius:18px;
  box-shadow:0 12px 30px -12px rgba(42,33,64,.3); margin:24px 0; }

/* 18. Responsive */
@media (max-width:700px) {
  .bmb-stat-card { left:12px; bottom:12px; }
  .bmb-hero-img { border-radius:140px 140px 24px 24px; }
  .bmb-field { padding-left:20px; padding-right:20px; }
}

.bmb-prose table { width:100%; border-collapse:collapse; margin:28px 0; font:15px/1.6 Inter,system-ui,sans-serif; color:var(--ink-70); }
.bmb-prose th { background:var(--ink); color:var(--ink-invert); font:600 14px/1 Inter,system-ui,sans-serif; padding:12px 16px; text-align:left; }
.bmb-prose td { padding:11px 16px; border-bottom:1px solid rgba(42,33,64,.1); vertical-align:top; }
.bmb-prose tr:nth-child(even) td { background:var(--paper-soft); }

/* Table override — force borders */
.bmb-prose table { width: 100% !important; border-collapse: collapse !important; margin: 28px 0 !important; }
.bmb-prose th { background: #2A2140 !important; color: #FDF7F9 !important; padding: 12px 16px !important; text-align: left !important; font-size: 14px !important; font-weight: 600 !important; border: 1px solid #2A2140 !important; }
.bmb-prose td { padding: 11px 16px !important; border: 1px solid rgba(42,33,64,.15) !important; vertical-align: top !important; }
.bmb-prose tr:nth-child(even) td { background: #FDF7F9 !important; }
