/* Use the theme's visible header/footer on WP blog pages */
:root {
  --mw-primary: #2b7bff;
  --mw-primary-700: #1f5dcc;
  --mw-accent: #ffb800;
  --mw-text: #1e1f24;
  --mw-muted: #677085;
  --mw-bg: #ffffff;
  --mw-surface: #f7f8fa;
  --mw-border: #e6e8eb;
  --mw-radius: 10px;
}

/* Force marketplace secondary header to use provided theme variables */
.header__secondary {
  background-color: var(--secondary-color) !important;
  color: var(--secondary-color-inverse) !important;
}
.header__secondary a,
.header__secondary .menu-secondary__item > a {
  color: var(--secondary-color-inverse) !important;
}
/* Keep dropdown panel readable */
.menu-secondary__dropdown .menu-secondary__target {
  background-color: #fff;
  color: var(--font-color);
}

/* Secondary header typography and spacing (match previous header look) */
:root {
  /* You can tweak these if needed to fine-tune spacing/size */
  --mw-header-font-family: inherit;
  --mw-header-font-size: 13px;
  --mw-header-font-weight: 600;
  --mw-header-item-py: 7px;
  --mw-header-item-px: 10px;
}
.header__secondary .header-row.header-offset { padding: 6px 0 !important; }
.header__secondary .menu-secondary ul { display: flex; align-items: center; gap: 8px; }
.header__secondary .menu-secondary__item > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--mw-header-font-family) !important;
  font-size: var(--mw-header-font-size) !important;
  font-weight: var(--mw-header-font-weight) !important;
  line-height: 1.2 !important;
  padding: var(--mw-header-item-py) var(--mw-header-item-px) !important;
}
.header__secondary .menu-secondary__item .site-icon { display: inline-flex; margin-right: 0; }
.header__secondary .menu-secondary__item.menu-secondary__dropdown > a { padding-right: calc(var(--mw-header-item-px) + 12px) !important; }
.header__secondary .menu-secondary__trigger { right: 8px; }

/* Force marketplace footer primary band to adopt theme colors */
.footer__primary {
  background-color: var(--secondary-color) !important;
  color: var(--secondary-color-inverse) !important;
}
.footer__primary a,
.footer__primary .nav-vertical__item,
.footer__primary .btn,
.footer__primary .footer-sitemap__title,
.footer__primary p,
.footer__primary li {
  color: var(--secondary-color-inverse) !important;
}

/* Primary (mega) menu typography and spacing to align with old header */
.menu-primary .menu-primary__link {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  padding: 10px 12px;
}

/* Global typography & layout */
html { scroll-behavior: smooth; }
body { color: var(--mw-text); }

/* Override WP core's large intrinsic placeholder that can cause overflow */
img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: auto !important; }

/* Prevent horizontal scroll due to wide media */
html, body { overflow-x: hidden; }
img, .entry-content img, .wp-block-image img { max-width: 100%; height: auto; }
.entry-content iframe, .wp-block-embed__wrapper iframe { max-width: 100%; }

/* Fallbacks when Tailwind CDN is blocked or slow */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.prose img { height: auto; max-width: 100%; }
.prose h1, .prose h2, .prose h3 { margin-top: 1.25em; margin-bottom: .5em; }
.prose p { margin: .75em 0; line-height: 1.7; }

/* Blog header */
.mw-site-header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--mw-border); }
.mw-site-header__inner { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; }
.mw-brand { display:flex; align-items:center; gap:10px; color: inherit; text-decoration: none; }
.mw-brand img { height: 28px; width: auto; display:block; }
.mw-brand__text { font-weight: 700; font-size: 18px; }
.mw-site-nav { display:flex; gap:16px; }
.mw-site-nav a { color: var(--mw-muted); text-decoration: none; padding:6px 8px; border-radius: 6px; }
.mw-site-nav a:hover { color: var(--mw-text); background: #f6f8fb; }
.mw-site-actions form.search-form { display:flex; align-items:center; gap:6px; }
.mw-site-actions .search-field { border:1px solid var(--mw-border); padding:6px 10px; border-radius: 6px; }
.mw-site-actions .search-submit { padding:6px 10px; }

/* Blog footer */
.mw-site-footer { background:#0f172a; color:#e2e8f0; margin-top: 40px; border-top: 1px solid rgba(255,255,255,0.06); }
.mw-site-footer__inner { display:grid; grid-template-columns: 1fr; gap:20px; padding:28px 16px; }
.mw-site-footer .mw-brand__text { color:#e2e8f0; }
.mw-footer-col ul { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.mw-footer-col a { color:#cbd5e1; text-decoration:none; }
.mw-footer-col a:hover { color:#fff; }
.mw-footer-title { font-size:14px; font-weight:700; color:#94a3b8; margin:0 0 8px; }
.mw-footer-copy { font-size:12px; color:#94a3b8; margin:10px 0 0; }

@media (min-width: 768px) {
  .mw-site-footer__inner { grid-template-columns: 1.2fr 1fr 1fr; padding:36px 20px; }
}

/* Site header/footer used in WP blog */
.mw-site-header { background:#fff; border-bottom:1px solid var(--mw-border); position:relative; z-index:10; }
.mw-site-header__inner { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; }
.mw-site-brand img { height: 36px; width:auto; display:block; }
.mw-site-nav { display:flex; gap:16px; }
.mw-site-nav a { color: var(--mw-text); font-weight:600; }
.mw-site-nav a:hover, .mw-site-nav a.is-active { color: var(--mw-primary); }

.mw-site-footer { background:#fff; border-top:1px solid var(--mw-border); margin-top:40px; }
.mw-site-footer .mw-container { padding:16px; color:var(--mw-muted); font-size:0.95rem; }
.mw-site-footer a { color: var(--mw-primary); }
.mw-site-footer a:hover { color: var(--mw-primary-700); }

/* Constrain content width for block themes (TT23/24/25) */
.wp-site-blocks > *:not(.alignfull),
body .is-layout-constrained > *:not(.alignfull),
body .entry-content > *:not(.alignfull) {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Wider blocks */
.alignwide {
  max-width: 1400px !important;
}

/* Links & buttons */
a { color: var(--mw-primary); text-decoration: none; }
a:hover { color: var(--mw-primary-700); text-decoration: underline; }

.wp-element-button,
.wp-block-button__link,
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
  background: var(--mw-primary);
  color: #fff;
  border: 0;
  border-radius: var(--mw-radius);
  padding: 10px 16px;
  line-height: 1.2;
}
.wp-element-button:hover,
.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
  background: var(--mw-primary-700);
}

/* Header navigation polish */
.wp-block-navigation__container { gap: 18px; }
.wp-block-navigation a { color: var(--mw-text); font-weight: 600; }
.wp-block-navigation a:hover { color: var(--mw-primary); }
.wp-block-site-title a { color: var(--mw-text); }

/* Post list cards */
/* Grid for block query loop (if theme uses it) */
body.blog .wp-block-post-template,
body.archive .wp-block-post-template,
.wp-block-query .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
.wp-block-post { background: var(--mw-bg); border: 1px solid var(--mw-border); border-radius: var(--mw-radius); overflow: hidden; }
.wp-block-post .wp-block-post-featured-image img { display: block; width: 100%; height: 220px; object-fit: cover; }
.wp-block-post .wp-block-post-title { font-size: 1.1rem; margin: 12px 16px 8px; }
.wp-block-post .wp-block-post-excerpt { color: var(--mw-muted); margin: 0 16px 12px; }
.wp-block-post .wp-block-post-date { color: var(--mw-muted); margin: 0 16px 16px; font-size: 0.9rem; }

/* Grid for our MU templates */
.mw-post-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
.mw-post-card { background: var(--mw-bg); border: 1px solid var(--mw-border); border-radius: var(--mw-radius); overflow: hidden; display: flex; flex-direction: column; }
.mw-thumb img, .mw-thumb--placeholder { display: block; width: 100%; height: 220px; object-fit: cover; background: #eef2f7; }
.mw-post-body { padding: 14px 16px 16px; display: flex; gap: 10px; flex-direction: column; }
.mw-post-title { font-size: 1.15rem; margin: 0; }
.mw-post-meta { color: var(--mw-muted); font-size: .9rem; }
.mw-post-excerpt { color: var(--mw-muted); }

/* Responsive columns: 1 (mobile), 2 (tablet), 3 (desktop) */
@media (min-width: 768px) {
  .mw-post-grid,
  body.blog .wp-block-post-template,
  body.archive .wp-block-post-template,
  .wp-block-query .wp-block-post-template { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1200px) {
  .mw-post-grid,
  body.blog .wp-block-post-template,
  body.archive .wp-block-post-template,
  .wp-block-query .wp-block-post-template { grid-template-columns: repeat(3, 1fr); }
  :root {
    --mw-primary: #2b7bff;
    --mw-text: #0f172a;
    --mw-muted: #475569;
    --mw-bg: #ffffff;
    --mw-border: #e5e7eb;
    --mw-radius: 10px;

    /* Blog brand tokens (adjust to match your design) */
    --mw-blog-header-bg: #ffffff;
    --mw-blog-header-text: #0f172a;
    --mw-blog-header-muted: #475569;
    --mw-blog-header-hover: #f6f8fb;
    --mw-blog-nav-active: #2b7bff;
    --mw-blog-footer-bg: #0f172a;
    --mw-blog-footer-text: #e2e8f0;
    --mw-blog-footer-muted: #94a3b8;

/* Fallback: make default theme loops look like cards on Blog/Archive
   (covers themes that render <main class="site-main"><article>... ) */
body.blog .site-main,
  .mw-site-header { position: sticky; top: 0; z-index: 50; background: var(--mw-blog-header-bg); color: var(--mw-blog-header-text); border-bottom: 1px solid var(--mw-border); }
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
  .mw-site-nav ul { display:flex; gap:16px; margin:0; padding:0; list-style:none; }
  .mw-site-nav a { color: var(--mw-blog-header-muted); text-decoration: none; padding:6px 8px; border-radius: 6px; }
  .mw-site-nav a:hover { color: var(--mw-blog-header-text); background: var(--mw-blog-header-hover); }
  .mw-site-nav a.is-active { color: var(--mw-blog-nav-active); }
}
@media (min-width: 1200px) {
  body.blog .site-main,
  body.archive .site-main { grid-template-columns: repeat(3, 1fr); }
}
  .mw-site-footer { background: var(--mw-blog-footer-bg); color: var(--mw-blog-footer-text); margin-top: 40px; border-top: 1px solid rgba(255,255,255,0.06); }
body.archive .site-main > article {
  .mw-site-footer .mw-brand__text { color: var(--mw-blog-footer-text); }
  border: 1px solid var(--mw-border);
  .mw-footer-col a { color:#cbd5e1; text-decoration:none; }
  overflow: hidden;
  .mw-footer-title { font-size:14px; font-weight:700; color: var(--mw-blog-footer-muted); margin:0 0 8px; }
  .mw-footer-copy { font-size:12px; color: var(--mw-blog-footer-muted); margin:10px 0 0; }
}
/* Hide full content blocks on listing pages so only titles/excerpts form the card */
body.blog .wp-block-post-content,
body.archive .wp-block-post-content { display: none; }
/* If the theme prints .entry-content inside loop, hide it in listings */
body.blog .entry-content,
body.archive .entry-content { display: none; }
body.blog .post-thumbnail img,
body.archive .post-thumbnail img { display:block; width:100%; height:220px; object-fit:cover; }
body.blog .entry-header, body.archive .entry-header { padding: 12px 16px 0; }
body.blog .entry-title, body.archive .entry-title { margin: 0 0 8px; font-size: 1.15rem; }
body.blog .entry-summary, body.archive .entry-summary { padding: 0 16px 16px; color: var(--mw-muted); }
body.blog .entry-footer, body.archive .entry-footer { padding: 0 16px 16px; color: var(--mw-muted); }

/* Single post readability */
.wp-block-post-title { font-size: clamp(1.8rem, 2.2vw, 2.4rem); margin-top: 12px; }
.entry-content p { line-height: 1.75; font-size: 1.05rem; color: var(--mw-text); }
.entry-content h2, .entry-content h3, .entry-content h4 { margin-top: 1.6em; }
.entry-content blockquote { border-left: 4px solid var(--mw-primary); background: var(--mw-surface); padding: 12px 16px; }
.entry-content img { border-radius: 8px; }

/* Pagination */
.wp-block-query-pagination, .navigation.pagination, .mw-pagination { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.wp-block-query-pagination a, .page-numbers { padding: 8px 12px; border: 1px solid var(--mw-border); border-radius: 8px; }
.wp-block-query-pagination a:hover, .page-numbers:hover { border-color: var(--mw-primary); color: var(--mw-primary); }
.page-numbers.current { background: var(--mw-primary); color: #fff; border-color: var(--mw-primary); }

/* Sidebar widgets */
.widget { border: 1px solid var(--mw-border); border-radius: var(--mw-radius); padding: 16px; margin: 16px 0; background: var(--mw-bg); }
.widget-title, .wp-block-heading { font-weight: 700; font-size: 1.1rem; margin-bottom: 12px; }

/* Forms */
input[type="text"], input[type="email"], input[type="search"], input[type="url"], textarea, select {
  border: 1px solid var(--mw-border);
  border-radius: 8px;
  padding: 10px 12px;
}
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--mw-primary); box-shadow: 0 0 0 3px rgba(43,123,255,0.15); }

/* Tables */
table { border-collapse: collapse; }
table th, table td { border: 1px solid var(--mw-border); padding: 10px; }
table thead th { background: var(--mw-surface); }

/* Footer spacing */
footer { border-top: 1px solid var(--mw-border); margin-top: 40px; padding-top: 24px; }

/* Login page theming */
body.login { background: var(--mw-surface); }
.mw-login-header {
  background: #fff;
  border-bottom: 1px solid var(--mw-border);
}
.mw-login-header .mw-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
}
.mw-login-brand img { height: 36px; width: auto; display: block; }
.mw-login-nav a { color: var(--mw-text); font-weight: 600; }
.mw-login-nav a:hover { color: var(--mw-primary); }

.mw-login-footer {
  background: #fff;
  border-top: 1px solid var(--mw-border);
  margin-top: 40px;
}
.mw-login-footer .mw-container { padding: 16px; color: var(--mw-muted); font-size: 0.95rem; }
.mw-login-footer a { color: var(--mw-primary); }
.mw-login-footer a:hover { color: var(--mw-primary-700); }

.login h1 { display: none; }
.login #login { margin-top: 20px; }
.login h1 a {
  background-image: url('/images/admin-logo.png') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  width: 220px !important;
  height: 56px !important;
}
.login h1 { margin-bottom: 12px !important; }
.login #login { padding-top: 12px; }
.login form { border: 1px solid var(--mw-border); box-shadow: none; border-radius: 12px; }
.login .button-primary { background: var(--mw-primary); border-color: var(--mw-primary); }
.login .button-primary:hover { background: var(--mw-primary-700); border-color: var(--mw-primary-700); }
.login .message, .login .notice, .login .success {
  border: 1px solid var(--mw-border);
  border-left: 4px solid var(--mw-primary);
  background: var(--mw-surface);
  border-radius: 8px;
}
#backtoblog a, #nav a { color: var(--mw-primary); }
#backtoblog a:hover, #nav a:hover { color: var(--mw-primary-700); }

/* Utility */
.mw-container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }


/* ============================================================
   BLOG OVERHAUL v2 — 2026-04-11
   All classes prefixed mwdb- to avoid Yo!Kart collisions.
   ============================================================ */

:root {
  --mwdb-navy:    #1a1a2e;
  --mwdb-purple:  #6748E1;
  --mwdb-teal:    #00c9b8;
  --mwdb-gold:    #F9C555;
  --mwdb-white:   #ffffff;
  --mwdb-surface: #f7f8fa;
  --mwdb-text:    #2d3436;
  --mwdb-muted:   #636e72;
  --mwdb-border:  #e8e8f0;
  --mwdb-radius:  12px;
  --mwdb-shadow:  0 4px 20px rgba(0,0,0,0.08);
  --mwdb-shadow-hover: 0 8px 30px rgba(103,72,225,0.15);
  --mwdb-topnav-h:     54px; /* navbar height — used for sticky offsets */
}

/* --- Shared utilities --- */
.mwdb-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.mwdb-avatar { border-radius:50%; object-fit:cover; display:inline-block; vertical-align:middle; }
.mwdb-meta-sep { color:var(--mwdb-muted); margin:0 4px; }

.mwdb-badge {
  display:inline-block; padding:4px 12px; border-radius:50px;
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  text-decoration:none;
}
.mwdb-badge--purple { background:linear-gradient(135deg,#6748E1,#9b59b6); color:#fff; }
.mwdb-badge--teal   { background:transparent; border:2px solid var(--mwdb-teal); color:var(--mwdb-teal); }

.mwdb-btn {
  display:inline-flex; align-items:center; gap:8px; padding:12px 24px;
  border-radius:8px; font-weight:700; font-size:15px; text-decoration:none;
  transition:all .2s; border:none; cursor:pointer;
}
.mwdb-btn--primary { background:var(--mwdb-purple); color:#fff; }
.mwdb-btn--primary:hover { background:#5538c8; transform:translateY(-2px); box-shadow:0 6px 20px rgba(103,72,225,.35); color:#fff; }

/* --- Progress bar --- */
#mwd-progress-bar {
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:var(--mwdb-purple); z-index:9999;
  transition:width .1s linear; pointer-events:none;
}

/* --- Blog sticky nav --- */
.mwdb-topnav {
  position:sticky; top:0; z-index:990; background:var(--mwdb-navy);
  display:flex; align-items:center; gap:12px; padding:0 20px; height:54px;
  box-shadow:0 2px 12px rgba(0,0,0,.25);
}
.mwdb-topnav__logo img { height:36px; width:auto; display:block; }
.mwdb-topnav__cats { display:flex; align-items:center; gap:6px; flex:1; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; padding:0 8px; }
.mwdb-topnav__cats::-webkit-scrollbar { display:none; }
.mwdb-cat-tab {
  white-space:nowrap; padding:6px 14px; border-radius:50px; font-size:13px; font-weight:600;
  color:rgba(255,255,255,.65); text-decoration:none; transition:all .2s; flex-shrink:0;
}
.mwdb-cat-tab:hover, .mwdb-cat-tab.is-active { background:var(--mwdb-purple); color:#fff; }
.mwdb-topnav__search { display:flex; align-items:center; flex-shrink:0; }
.mwdb-search-form { display:flex; align-items:center; gap:8px; }
.mwdb-search-toggle {
  background:none; border:none; color:rgba(255,255,255,.7); cursor:pointer;
  padding:6px; display:flex; align-items:center;
}
.mwdb-search-toggle:hover { color:#fff; }
.mwdb-search-input {
  width:0; opacity:0; border:none; background:rgba(255,255,255,.12);
  color:#fff; border-radius:6px; padding:0; font-size:14px;
  transition:width .3s, opacity .3s, padding .3s;
}
.mwdb-search-input.is-open { width:180px; opacity:1; padding:6px 12px; }
.mwdb-search-input::placeholder { color:rgba(255,255,255,.5); }

/* --- Hero section --- */
.mwdb-hero {
  background:var(--mwdb-navy);
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 40px),
                   repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 40px);
  padding:48px 20px;
}
.mwdb-hero__inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:60% 1fr; gap:40px; align-items:center; }
.mwdb-hero__image { border-radius:16px; overflow:hidden; aspect-ratio:16/9; }
.mwdb-hero__img { width:100%; height:100%; object-fit:cover; display:block; }
.mwdb-hero__img-fallback { width:100%; height:100%; background:linear-gradient(135deg,#6748E1,#00c9b8); }
.mwdb-hero__content { color:#fff; display:flex; flex-direction:column; gap:16px; }
.mwdb-hero__overline { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:2px; color:var(--mwdb-teal); margin:0; }
.mwdb-hero__site-title { font-size:clamp(22px,3vw,32px); font-weight:800; line-height:1.2; margin:0; color:#fff; }
.mwdb-hero__post-title { font-size:clamp(18px,2.5vw,26px); font-weight:700; line-height:1.3; margin:0; }
.mwdb-hero__post-title a { color:#fff; text-decoration:none; }
.mwdb-hero__post-title a:hover { color:var(--mwdb-teal); }
.mwdb-hero__excerpt { color:rgba(255,255,255,.75); line-height:1.65; margin:0; font-size:15px; }
.mwdb-hero__meta { display:flex; align-items:center; gap:8px; font-size:13px; color:rgba(255,255,255,.65); flex-wrap:wrap; }
.mwdb-hero__meta .mwdb-avatar { width:28px; height:28px; }
.mwdb-hero__author { color:rgba(255,255,255,.9); font-weight:600; }

/* --- Grid section --- */
.mwdb-grid-section { padding:48px 0; background:var(--mwdb-surface); }
.mwdb-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-bottom:40px; }

/* --- Card --- */
.mwdb-card { background:var(--mwdb-white); border-radius:var(--mwdb-radius); overflow:hidden; box-shadow:var(--mwdb-shadow); display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s; }
.mwdb-card:hover { transform:translateY(-4px); box-shadow:var(--mwdb-shadow-hover); }
.mwdb-card__img-wrap { display:block; position:relative; aspect-ratio:16/9; overflow:hidden; }
.mwdb-card__img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.mwdb-card:hover .mwdb-card__img { transform:scale(1.03); }
.mwdb-card__img-fallback { width:100%; height:100%; background:linear-gradient(135deg,var(--mwdb-purple),var(--mwdb-teal)); }
.mwdb-card__badge { position:absolute; top:12px; left:12px; }
.mwdb-card__body { padding:20px; display:flex; flex-direction:column; gap:10px; flex:1; }
.mwdb-card__title { font-size:18px; font-weight:700; line-height:1.35; margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mwdb-card__title a { color:var(--mwdb-text); text-decoration:none; }
.mwdb-card__title a:hover { color:var(--mwdb-purple); }
.mwdb-card__excerpt { color:var(--mwdb-muted); font-size:14px; line-height:1.6; margin:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.mwdb-card__meta { display:flex; align-items:center; gap:6px; font-size:13px; color:var(--mwdb-muted); flex-wrap:wrap; margin-top:auto; padding-top:12px; border-top:1px solid var(--mwdb-border); }
.mwdb-card__meta .mwdb-avatar { width:26px; height:26px; }
.mwdb-card__author { font-weight:600; color:var(--mwdb-text); }
.mwdb-card__read-more { margin-left:auto; display:inline-flex; align-items:center; gap:4px; color:var(--mwdb-purple); font-weight:700; font-size:13px; text-decoration:none; white-space:nowrap; }
.mwdb-card__read-more:hover { color:#5538c8; }

/* --- Newsletter strip (homepage) --- */
.mwdb-newsletter { background:var(--mwdb-navy); border-left:6px solid var(--mwdb-gold); border-radius:var(--mwdb-radius); padding:36px 40px; margin-bottom:40px; }
.mwdb-newsletter__inner { display:flex; align-items:center; gap:40px; flex-wrap:wrap; }
.mwdb-newsletter__text { flex:1; min-width:200px; }
.mwdb-newsletter__title { font-size:22px; font-weight:800; color:#fff; margin:0 0 6px; }
.mwdb-newsletter__sub { color:rgba(255,255,255,.7); font-size:14px; margin:0; }
.mwdb-newsletter__form { flex-shrink:0; }
.mwdb-newsletter__field { display:flex; align-items:center; gap:0; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); border-radius:8px; overflow:hidden; padding:0 0 0 14px; }
.mwdb-newsletter__field .site-icon svg { fill:rgba(255,255,255,.5); width:16px; height:16px; }
.mwdb-newsletter__field .input-field {
  flex:1; background:none; border:none; outline:none; color:#fff; font-size:14px; padding:12px 12px; min-width:220px;
}
.mwdb-newsletter__field .input-field::placeholder { color:rgba(255,255,255,.45); }
.mwdb-newsletter__field .input-submit {
  background:var(--mwdb-purple); color:#fff; border:none; padding:12px 20px;
  font-weight:700; font-size:14px; cursor:pointer; transition:background .2s; white-space:nowrap;
}
.mwdb-newsletter__field .input-submit:hover { background:#5538c8; }

/* --- Pagination --- */
.mwdb-pagination { text-align:center; padding:8px 0 16px; }
.mwdb-pagination .page-numbers {
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:8px; margin:0 3px;
  font-size:14px; font-weight:600; text-decoration:none; transition:all .2s;
  border:2px solid var(--mwdb-border); color:var(--mwdb-text);
}
.mwdb-pagination .page-numbers:hover,
.mwdb-pagination .page-numbers.current { background:var(--mwdb-purple); color:#fff; border-color:var(--mwdb-purple); }
.mwdb-pagination .page-numbers.dots { border:none; width:auto; cursor:default; }

.mwdb-empty { text-align:center; color:var(--mwdb-muted); padding:48px 0; font-size:16px; }

/* --- Single post page --- */
.mwdb-single-page { padding:0 0 60px; }

/* Breadcrumb */
.mwdb-breadcrumb { padding:16px 0; }
.mwdb-breadcrumb ol { display:flex; align-items:center; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:0; font-size:13px; color:var(--mwdb-muted); }
.mwdb-breadcrumb li + li::before { content:"›"; margin-right:6px; color:var(--mwdb-border); }
.mwdb-breadcrumb a { color:var(--mwdb-purple); text-decoration:none; }
.mwdb-breadcrumb a:hover { text-decoration:underline; }
.mwdb-breadcrumb [aria-current="page"] { color:var(--mwdb-muted); }

/* Post header */
.mwdb-post-header { padding:28px 0 20px; display:flex; flex-direction:column; gap:16px; }
.mwdb-post-title { font-size:clamp(26px,4vw,44px); font-weight:800; line-height:1.15; color:var(--mwdb-navy); margin:0; }
.mwdb-post-meta { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--mwdb-muted); flex-wrap:wrap; }
.mwdb-post-meta .mwdb-avatar { width:34px; height:34px; }
.mwdb-post-meta__author { font-weight:700; color:var(--mwdb-text); }

/* Featured image */
.mwdb-featured-img { margin:0 0 24px; border-radius:16px; overflow:hidden; aspect-ratio:16/6; }
.mwdb-featured-img img { width:100%; height:100%; object-fit:cover; display:block; }
.mwdb-featured-img--fallback { background:linear-gradient(135deg,var(--mwdb-purple) 0%,var(--mwdb-teal) 100%); }

/* Inline share bar */
.mwdb-share-bar { display:flex; align-items:center; gap:10px; padding:14px 20px; background:var(--mwdb-surface); border-radius:10px; margin-bottom:28px; flex-wrap:wrap; }
.mwdb-share-bar__label { font-weight:700; font-size:13px; color:var(--mwdb-text); margin-right:4px; }
.mwdb-share-btn {
  width:42px; height:42px; border-radius:50%; border:none; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  transition:transform .2s, box-shadow .2s; flex-shrink:0; color:#fff;
}
.mwdb-share-btn:hover { transform:translateY(-3px); box-shadow:0 5px 14px rgba(0,0,0,.2); }
.mwdb-share-btn svg { width:18px; height:18px; fill:currentColor; display:block; flex-shrink:0; }
.mwdb-share-btn--twitter  { background:#000; }
.mwdb-share-btn--facebook { background:#1877f2; }
.mwdb-share-btn--linkedin { background:#0077b5; }
.mwdb-share-btn--reddit   { background:#ff4500; }
.mwdb-share-btn--whatsapp { background:#25d366; }
.mwdb-share-btn--copy     { background:var(--mwdb-purple); }

/* Two-column layout */
.mwdb-single-layout { display:grid; grid-template-columns:1fr 300px; gap:40px; align-items:start; }

/* Post body typography */
.mwdb-single-main .post-body { font-size:1.1rem; line-height:1.85; color:var(--mwdb-text); max-width:72ch; }
.mwdb-single-main .post-body h2 { font-size:1.75rem; font-weight:800; color:var(--mwdb-navy); margin:2.5rem 0 1rem; padding-left:14px; border-left:4px solid var(--mwdb-purple); }
.mwdb-single-main .post-body h3 { font-size:1.35rem; font-weight:700; color:var(--mwdb-navy); margin:2rem 0 .75rem; }
.mwdb-single-main .post-body p { margin:0 0 1.5rem; }
.mwdb-single-main .post-body ul,
.mwdb-single-main .post-body ol { margin:1.5rem 0; padding-left:1.75rem; }
.mwdb-single-main .post-body li { margin-bottom:.6rem; }
.mwdb-single-main .post-body blockquote { border-left:4px solid var(--mwdb-teal); padding:1.25rem 1.75rem; margin:2rem 0; background:rgba(0,201,184,.05); border-radius:0 10px 10px 0; font-style:italic; color:var(--mwdb-muted); }
.mwdb-single-main .post-body a { color:var(--mwdb-purple); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.15em; }
.mwdb-single-main .post-body a:hover { color:#5538c8; }
.mwdb-single-main .post-body img { max-width:100%; height:auto; border-radius:10px; margin:1.75rem 0; }
.mwdb-single-main .post-body pre,
.mwdb-single-main .post-body code { font-family:ui-monospace,monospace; }
.mwdb-single-main .post-body pre { background:var(--mwdb-navy); color:var(--mwdb-teal); padding:1.25rem 1.5rem; border-radius:10px; overflow-x:auto; font-size:.9rem; margin:1.75rem 0; }
.mwdb-single-main .post-body :not(pre) > code { background:rgba(103,72,225,.1); color:var(--mwdb-purple); padding:.15em .45em; border-radius:4px; font-size:.9em; }
.mwdb-single-main .post-body table { width:100%; border-collapse:collapse; margin:1.75rem 0; font-size:.95rem; }
.mwdb-single-main .post-body th { background:var(--mwdb-navy); color:#fff; padding:10px 14px; text-align:left; }
.mwdb-single-main .post-body td { padding:10px 14px; border-bottom:1px solid var(--mwdb-border); }
.mwdb-single-main .post-body tr:nth-child(even) td { background:var(--mwdb-surface); }

/* Mobile TOC accordion */
.mwdb-toc-mobile { background:var(--mwdb-surface); border-radius:10px; padding:0; margin-bottom:28px; border:1px solid var(--mwdb-border); overflow:hidden; }
.mwdb-toc-mobile__toggle { padding:14px 18px; font-weight:700; font-size:14px; cursor:pointer; color:var(--mwdb-navy); list-style:none; display:flex; justify-content:space-between; align-items:center; }
.mwdb-toc-mobile__toggle::after { content:"▾"; font-size:12px; color:var(--mwdb-muted); }
.mwdb-toc-mobile[open] .mwdb-toc-mobile__toggle::after { content:"▴"; }
.mwdb-toc-mobile .mwdb-toc-nav { padding:0 18px 16px; }

/* Post tags */
.mwdb-post-tags { display:flex; flex-wrap:wrap; gap:8px; padding-top:28px; margin-top:28px; border-top:2px solid var(--mwdb-border); }
.mwdb-tag { background:rgba(103,72,225,.08); color:var(--mwdb-purple); padding:6px 14px; border-radius:50px; font-size:13px; font-weight:600; text-decoration:none; transition:all .2s; }
.mwdb-tag:hover { background:var(--mwdb-purple); color:#fff; }

/* Sidebar */
.mwdb-single-sidebar { position:sticky; top:calc(var(--mwdb-topnav-h) + 16px); display:flex; flex-direction:column; gap:20px; }
.mwdb-toc-box { background:var(--mwdb-surface); border-radius:var(--mwdb-radius); padding:20px; border:1px solid var(--mwdb-border); }
.mwdb-toc-box__title { font-size:14px; font-weight:800; color:var(--mwdb-navy); margin:0 0 14px; text-transform:uppercase; letter-spacing:.5px; }
.mwdb-toc-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:2px; }
.mwdb-toc-link { display:block; padding:7px 10px; border-radius:6px; font-size:13px; color:var(--mwdb-muted); text-decoration:none; border-left:3px solid transparent; transition:all .15s; line-height:1.4; }
.mwdb-toc-link:hover { color:var(--mwdb-purple); background:rgba(103,72,225,.06); border-left-color:var(--mwdb-purple); }
.mwdb-toc-link.is-active { color:var(--mwdb-teal); border-left-color:var(--mwdb-teal); background:rgba(0,201,184,.06); font-weight:700; }

/* Sidebar share widget */
.mwdb-sidebar-share { background:var(--mwdb-surface); border-radius:var(--mwdb-radius); padding:18px 20px; border:1px solid var(--mwdb-border); }
.mwdb-sidebar-share__label { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; color:var(--mwdb-muted); margin:0 0 12px; }
.mwdb-sidebar-share__btns { display:flex; gap:8px; flex-wrap:wrap; }

/* Sidebar newsletter */
.mwdb-sidebar-newsletter { background:var(--mwdb-navy); border-radius:var(--mwdb-radius); padding:20px; }
.mwdb-sidebar-newsletter p { color:rgba(255,255,255,.8); font-size:13px; margin:0 0 14px; line-height:1.5; }

/* Author bio */
.mwdb-author-bio {
  display:flex; gap:24px; align-items:flex-start;
  background:rgba(103,72,225,.04); border:2px solid rgba(103,72,225,.12);
  border-radius:16px; padding:28px 32px; margin:40px 0;
}
.mwdb-author-bio__avatar .mwdb-avatar { width:80px; height:80px; border:3px solid var(--mwdb-purple); flex-shrink:0; }
.mwdb-author-bio__content { flex:1; }
.mwdb-author-bio__name { font-size:20px; font-weight:800; color:var(--mwdb-navy); margin:0 0 4px; }
.mwdb-author-bio__cred { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--mwdb-teal); margin:0 0 12px; }
.mwdb-author-bio__text { color:var(--mwdb-muted); font-size:14px; line-height:1.7; margin:0 0 14px; }
.mwdb-author-bio__link { color:var(--mwdb-purple); font-size:13px; font-weight:600; text-decoration:none; }
.mwdb-author-bio__link:hover { text-decoration:underline; }

/* Related posts */
.mwdb-related { margin:40px 0; }
.mwdb-related__title { font-size:24px; font-weight:800; color:var(--mwdb-navy); margin:0 0 24px; }
/* .mwdb-grid--3: explicitly 3-col variant used for related-posts in single.php;
   mirrors .mwdb-grid default but signals intent and inherits breakpoint overrides. */
.mwdb-grid--3 { grid-template-columns:repeat(3,1fr); }

/* Comments wrapper */
.mwdb-comments { margin-top:40px; padding-top:32px; border-top:2px solid var(--mwdb-border); }

/* Floating share */
.mwdb-float-share {
  position:fixed; left:18px; top:50%; transform:translateY(-50%);
  display:flex; flex-direction:column; gap:10px; z-index:100;
  opacity:0; pointer-events:none; transition:opacity .3s;
}
.mwdb-float-share.is-visible { opacity:1; pointer-events:auto; }

/* ---- Responsive ---- */
@media (max-width:1100px) {
  .mwdb-grid { grid-template-columns:repeat(2,1fr); }
  .mwdb-grid--3 { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:960px) {
  .mwdb-hero__inner { grid-template-columns:1fr; }
  .mwdb-hero__image { display:none; }
  .mwdb-single-layout { grid-template-columns:1fr; }
  .mwdb-single-sidebar { position:static; }
  .mwdb-toc-box { display:none; }
  .mwdb-toc-mobile { display:block; }
  .mwdb-float-share { display:none; }
  .mwdb-author-bio { flex-direction:column; padding:22px; }
}
@media (max-width:640px) {
  .mwdb-grid, .mwdb-grid--3 { grid-template-columns:1fr; }
  .mwdb-newsletter__inner { flex-direction:column; gap:20px; }
  .mwdb-newsletter__field .input-field { min-width:0; width:100%; }
  .mwdb-topnav { padding:0 12px; }
  .mwdb-hero { padding:32px 12px; }
}
@media (min-width:961px) {
  .mwdb-toc-mobile { display:none; }
}
