/* MPBD-PAGES — page hero, prose, service & contact layouts */

/* Page hero banner */
.mpbd-page-hero { background: linear-gradient(120deg, var(--mpbd-primary), var(--mpbd-primary-dark)); color: #fff; }
.mpbd-page-hero-inner { padding: 30px 16px; text-align: center; }
.mpbd-page-hero-title { color: #fff; font-size: 30px; margin: 0 0 8px; }
.mpbd-breadcrumb { font-size: 13.5px; color: #c5d2ea; }
.mpbd-breadcrumb a { color: #c5d2ea; text-decoration: none; }
.mpbd-breadcrumb a:hover { color: #fff; }
.mpbd-bc-sep { margin: 0 8px; opacity: .6; }
.mpbd-bc-cur { color: #fff; }

/* Content width + prose */
.page:not(.home) .ast-container, .single .ast-container, .archive .ast-container, .search .ast-container, .blog .ast-container { max-width: var(--mpbd-container); }
.mpbd-prose, .entry-content { color: var(--mpbd-ink); font-size: 16px; line-height: 1.8; }
.mpbd-prose h2, .entry-content h2 { color: var(--mpbd-primary); font-size: 26px; margin: 30px 0 14px; }
.mpbd-prose h3, .entry-content h3 { color: var(--mpbd-primary); font-size: 20px; margin: 24px 0 10px; }
.mpbd-prose p { margin: 0 0 16px; }
.mpbd-prose ul, .mpbd-prose ol { margin: 0 0 16px; padding-left: 22px; }
.mpbd-prose ul li { margin-bottom: 8px; }
.mpbd-prose a { color: var(--mpbd-primary-light); }
.mpbd-prose img { border-radius: 10px; }

/* Page wrapper */
.mpbd-pagewrap { padding: 36px 0; }
.mpbd-pagewrap .mpbd-container { max-width: var(--mpbd-container); }

/* Section heading (shared) */
.mpbd-pg-h2 { color: var(--mpbd-primary); font-size: 26px; margin: 0 0 8px; }
.mpbd-pg-lead { color: var(--mpbd-muted); font-size: 16px; margin: 0 0 26px; max-width: 760px; }
.mpbd-pg-center { text-align: center; }
.mpbd-pg-center .mpbd-pg-lead { margin-left: auto; margin-right: auto; }

/* Feature / service cards grid */
.mpbd-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.mpbd-card { background: #fff; border: 1px solid var(--mpbd-line); border-radius: 14px; padding: 26px 24px; transition: .15s; }
.mpbd-card:hover { box-shadow: 0 12px 28px rgba(30,62,114,.12); transform: translateY(-3px); }
.mpbd-card-ic { width: 54px; height: 54px; border-radius: 12px; background: var(--mpbd-bg-soft); color: var(--mpbd-primary); display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.mpbd-card h3 { font-size: 18px; color: var(--mpbd-ink); margin: 0 0 8px; }
.mpbd-card p { font-size: 14.5px; color: var(--mpbd-muted); line-height: 1.7; margin: 0; }

/* CTA band */
.mpbd-cta-band { background: linear-gradient(120deg, var(--mpbd-primary), var(--mpbd-primary-light)); color: #fff; border-radius: 16px; padding: 38px 36px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.mpbd-cta-band h2 { color: #fff; font-size: 26px; margin: 0 0 6px; }
.mpbd-cta-band p { margin: 0; opacity: .92; }
.mpbd-cta-band .mpbd-btn-primary { white-space: nowrap; }

/* About stats */
.mpbd-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin: 30px 0; }
.mpbd-stat { text-align: center; background: var(--mpbd-bg-soft); border-radius: 12px; padding: 24px 16px; }
.mpbd-stat b { display: block; font-size: 32px; color: var(--mpbd-primary); line-height: 1; }
.mpbd-stat span { font-size: 14px; color: var(--mpbd-muted); }

/* Contact layout */
.mpbd-contact-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 34px; align-items: start; }
.mpbd-contact-cards { display: grid; gap: 16px; }
.mpbd-contact-card { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--mpbd-line); border-radius: 12px; padding: 18px 20px; }
.mpbd-contact-card .mpbd-ico { color: var(--mpbd-primary); flex: none; margin-top: 2px; }
.mpbd-contact-card b { display: block; color: var(--mpbd-ink); margin-bottom: 3px; }
.mpbd-contact-card a, .mpbd-contact-card span { color: var(--mpbd-muted); text-decoration: none; font-size: 14.5px; }
.mpbd-contact-card a:hover { color: var(--mpbd-primary); }
.mpbd-contact-form { background: #fff; border: 1px solid var(--mpbd-line); border-radius: 14px; padding: 28px; }
.mpbd-contact-form .wpcf7-form-control-wrap { display: block; margin-bottom: 14px; }
.mpbd-contact-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.mpbd-contact-form textarea, .mpbd-contact-form select { width: 100%; border: 1px solid var(--mpbd-line); border-radius: 8px; padding: 11px 14px; font-size: 15px; }
.mpbd-contact-form input:focus, .mpbd-contact-form textarea:focus { border-color: var(--mpbd-primary); outline: none; }
.mpbd-contact-form .wpcf7-submit, .mpbd-contact-form input[type=submit] { background: var(--mpbd-accent); color: #fff; border: 0; padding: 12px 28px; border-radius: 8px; font-weight: 700; cursor: pointer; font-size: 15px; }
.mpbd-contact-form .wpcf7-submit:hover { filter: brightness(1.06); }
.mpbd-map { border-radius: 14px; overflow: hidden; margin-top: 24px; }
.mpbd-map iframe { width: 100%; height: 320px; border: 0; display: block; }

@media (max-width: 1024px) {
  .mpbd-cards { grid-template-columns: repeat(2,1fr); }
  .mpbd-stats { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
  .mpbd-page-hero-title { font-size: 24px; }
  .mpbd-cards { grid-template-columns: 1fr; }
  .mpbd-contact-grid { grid-template-columns: 1fr; }
  .mpbd-cta-band { flex-direction: column; text-align: center; align-items: stretch; }
}
/* END MPBD-PAGES */

/* MPBD-BLOG — blog archive / listing cards (Astra blog-layout grid). */
/* Uniform, taller featured images (was object-fit:fill = distorted, variable height). */
.blog .ast-blog-featured-section img, .blog .post-thumb-img-content img,
.archive .ast-blog-featured-section img, .search .ast-blog-featured-section img,
.blog .post-thumb-img-content > a img { width: 100% !important; height: 250px !important; object-fit: cover !important; display: block !important; }
.blog .ast-blog-featured-section, .archive .ast-blog-featured-section { margin: 0 0 16px !important; }

/* Blog/archive grid — REAL gaps between cards (Astra's .ast-row has zero gap → cards touched). */
.blog .site-main .ast-row, .archive .site-main .ast-row, .search .site-main .ast-row { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
.blog .site-main .ast-row > article.post, .archive .site-main .ast-row > article.post, .search .site-main .ast-row > article.post { width: auto !important; max-width: none !important; margin: 0 !important; float: none !important; }
@media (max-width: 1024px) { .blog .site-main .ast-row, .archive .site-main .ast-row, .search .site-main .ast-row { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px)  { .blog .site-main .ast-row, .archive .site-main .ast-row, .search .site-main .ast-row { grid-template-columns: 1fr !important; } }

/* Card look + hover */
.blog article.post, .archive article.post, .search article.post { background: #fff; border: 1px solid var(--mpbd-line); border-radius: 14px; overflow: hidden; height: auto; transition: .18s ease; }
.blog article.post:hover, .archive article.post:hover, .search article.post:hover { box-shadow: 0 14px 30px rgba(30,62,114,.13); transform: translateY(-3px); border-color: #d7deea; }
.blog article.post .ast-post-format-, .archive article.post .ast-post-format- { padding-bottom: 22px !important; height: auto; }

/* Category label */
.blog .ast-taxonomy-container a, .archive .ast-taxonomy-container a { display: inline-block; font-size: 12px; font-weight: 700; color: var(--mpbd-accent); text-transform: uppercase; letter-spacing: .03em; text-decoration: none; }
.blog .ast-taxonomy-container a:hover { color: var(--mpbd-primary); }

/* Title */
.blog .entry-title, .archive .entry-title { font-size: 19px; line-height: 1.35; margin: 6px 0 8px; }
.blog .entry-title a, .archive .entry-title a { color: var(--mpbd-ink); text-decoration: none; }
.blog .entry-title a:hover, .archive .entry-title a:hover { color: var(--mpbd-primary); }

/* Meta */
.blog .entry-meta, .blog .entry-meta a, .archive .entry-meta { font-size: 12.5px; color: var(--mpbd-muted); }
.blog .entry-meta a, .archive .entry-meta a { color: var(--mpbd-primary); text-decoration: none; }
.blog .entry-header, .archive .entry-header { margin-bottom: 8px; }

/* Excerpt — clamp to 3 lines for even cards */
.blog .ast-excerpt-container p, .archive .ast-excerpt-container p { font-size: 14px; color: var(--mpbd-muted); line-height: 1.65; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.blog .ast-excerpt-container, .archive .ast-excerpt-container { margin-top: 6px; }

/* Uniform bottom spacing — each card sizes to its OWN content instead of being
   stretched to the tallest card in the row (which left short cards with a big
   empty bottom gap while full cards had none). Now every card has the same 20px bottom. */
.blog .site-main .ast-row, .archive .site-main .ast-row, .search .site-main .ast-row { align-items: start !important; }

/* Read more (if present) */
.blog .read-more a, .blog .entry-content .read-more, .archive .read-more a { display: inline-flex; align-items: center; gap: 5px; margin-top: 12px; color: var(--mpbd-primary); font-weight: 600; font-size: 14px; text-decoration: none; }
.blog .read-more a:hover { color: var(--mpbd-accent); }

/* Card inner padding — image full-bleed to card edges; text a clean modest padding
   (Astra's default left/right inset was ~41px which looked odd). */
/* ONE card only: article.post is the visible card. Astra nests a second card
   (.ast-article-inner: own shadow + radius) AND article.post kept a 16px L/R padding,
   so content sat ~37px in on the sides while the image broke out full-bleed = odd gap.
   Kill the 16px padding + neutralize the inner double-card so sides match top/bottom. */
.blog article.post, .archive article.post { padding: 0 !important; }
.blog .ast-article-inner, .archive .ast-article-inner { box-shadow: none !important; border-radius: 0 !important; background: transparent !important; padding: 0 !important; margin: 0 !important; }
.blog .post-thumb-img-content, .archive .post-thumb-img-content { margin: 0 !important; }
.blog article.post .ast-post-format-, .archive article.post .ast-post-format- { padding-left: 0 !important; padding-right: 0 !important; }
.blog article.post .post-content, .archive article.post .post-content { padding-left: 0 !important; padding-right: 0 !important; }
.blog .ast-blog-featured-section, .archive .ast-blog-featured-section { padding: 0 !important; }
.blog .ast-blog-featured-section img, .archive .ast-blog-featured-section img { border-radius: 0 !important; }
.blog .ast-taxonomy-container, .blog .entry-title, .blog .entry-header, .blog .ast-excerpt-container, .blog .entry-content.clear, .blog .read-more,
.archive .ast-taxonomy-container, .archive .entry-title, .archive .entry-header, .archive .ast-excerpt-container, .archive .entry-content.clear { padding-left: 20px !important; padding-right: 20px !important; }
/* END MPBD-BLOG */

/* MPBD-SINGLE-POST — 2-column single post: wide content (left) + sidebar (right) */
/* Widen the container (Astra caps single posts at ~750px narrow) + make it 2-col */
.single-post .site-content > .ast-container { max-width: var(--mpbd-container) !important; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 36px; padding-top: 44px; padding-bottom: 56px; }
.single-post #primary { flex: 1 1 0; min-width: 0; max-width: none !important; width: auto !important; margin: 0 !important; }
.single-post #secondary { flex: 0 0 320px; width: 320px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.single-post #secondary .sidebar-main { position: sticky; top: 96px; }

/* Sidebar widget cards */
.mpbd-swidget { background: #fff; border: 1px solid var(--mpbd-line); border-radius: 14px; padding: 20px 20px; margin-bottom: 22px; }
.mpbd-swidget-title { font-size: 16px; color: var(--mpbd-primary); margin: 0 0 14px; padding-bottom: 12px; border-bottom: 1px solid var(--mpbd-line); }

/* Categories list */
.mpbd-swidget-catlist { list-style: none; margin: 0; padding: 0; }
.mpbd-swidget-catlist li { margin: 0; }
.mpbd-swidget-catlist li + li { border-top: 1px solid var(--mpbd-line); }
.mpbd-swidget-catlist a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; color: var(--mpbd-ink); text-decoration: none; font-size: 14.5px; }
.mpbd-swidget-catlist a:hover .mpbd-cat-name { color: var(--mpbd-primary); }
.mpbd-swidget-catlist .mpbd-cat-count { font-style: normal; font-size: 12px; font-weight: 600; color: var(--mpbd-muted); background: var(--mpbd-bg-soft); border-radius: 20px; padding: 2px 9px; flex: none; }
.mpbd-swidget-catlist a:hover .mpbd-cat-count { background: var(--mpbd-primary); color: #fff; }

/* Recent articles list */
.mpbd-swidget-recentlist { list-style: none; margin: 0; padding: 0; }
.mpbd-swidget-recentlist li + li { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--mpbd-line); }
.mpbd-swidget-recentlist a { display: flex; gap: 12px; align-items: flex-start; text-decoration: none; }
.mpbd-rec-thumb { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 8px; overflow: hidden; background: var(--mpbd-bg-soft); }
.mpbd-rec-thumb img { width: 64px; height: 64px; object-fit: cover; display: block; }
.mpbd-rec-body { display: flex; flex-direction: column; gap: 4px; }
.mpbd-rec-title { font-size: 13.5px; line-height: 1.4; color: var(--mpbd-ink); font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mpbd-swidget-recentlist a:hover .mpbd-rec-title { color: var(--mpbd-primary); }
.mpbd-rec-date { font-size: 12px; color: var(--mpbd-muted); }

@media (max-width: 921px) {
  .single-post .site-content > .ast-container { display: block; }
  .single-post #primary, .single-post #secondary { flex: none; width: 100% !important; }
  .single-post #secondary { margin-top: 32px !important; }
  .single-post #secondary .sidebar-main { position: static; }
}
/* END MPBD-SINGLE-POST */

/* MPBD-SOCIAL-SHARE — share row on single post + single product */
.mpbd-share { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mpbd-share-label { font-size: 14px; font-weight: 700; color: var(--mpbd-ink); margin-right: 2px; }
.mpbd-share-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; min-width: 38px; padding: 0; box-sizing: border-box; border-radius: 50%; color: #fff; border: 0; cursor: pointer; transition: transform .15s ease, filter .15s ease; position: relative; text-decoration: none; -webkit-appearance: none; appearance: none; }
.mpbd-share-btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
.mpbd-share-btn svg { width: 17px; height: 17px; display: block; }
.mpbd-share-fb { background: #1877f2; }
.mpbd-share-x  { background: #111827; }
.mpbd-share-wa { background: #25d366; }
.mpbd-share-in { background: #0a66c2; }
.mpbd-share-copy { background: var(--mpbd-primary); }
.mpbd-copy-tip { position: absolute; bottom: calc(100% + 7px); left: 50%; transform: translateX(-50%); background: var(--mpbd-ink); color: #fff; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 6px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .15s ease; }
.mpbd-copy-tip::after { content: ""; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 5px solid transparent; border-top-color: var(--mpbd-ink); }
.mpbd-share-copy.is-copied .mpbd-copy-tip { opacity: 1; }

/* Placement: single post — after the article content */
.single-post .entry-content .mpbd-share { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--mpbd-line); }
/* Placement: single product — after the meta, inside the summary */
.single-product div.product .summary .mpbd-share { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--mpbd-line); }
/* END MPBD-SOCIAL-SHARE */
