/* =========================================================
   VICMOS WELLNESS THEME 3.3 — PAGE CONTROL CENTER
========================================================= */

/* Plugin UI can be disabled per page without changing VicMos Core settings. */
body.vicmos-hide-announcement .vmw-announcement,
body.vicmos-hide-floating-whatsapp .vmw-floating-whatsapp {
  display: none !important;
}

/* Page backgrounds. */
body.vicmos-page-bg-white .vwt-site-main { background: #fff; }
body.vicmos-page-bg-soft .vwt-site-main { background: #f7f9f7; }
body.vicmos-page-bg-transparent .vwt-site-main { background: transparent; }

/* Content widths. */
.vwt-page-width-reading > .vwt-page-content {
  width: min(780px, calc(100% - 40px));
  margin-inline: auto;
}
.vwt-page-width-normal > .vwt-page-content {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}
.vwt-page-width-wide > .vwt-page-content {
  width: min(1380px, calc(100% - 28px));
  margin-inline: auto;
}
.vwt-page-width-full > .vwt-page-content {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

/* Title alignment. */
.vwt-page-head-left { text-align: left; }
.vwt-page-head-center { text-align: center; }
.vwt-page-head-right { text-align: right; }
.vwt-page-head-center h1,
.vwt-page-head-right h1 { margin-inline: auto; }

/* Breadcrumbs. */
.vwt-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 20px;
  color: #737b74;
  font-size: 13px;
  line-height: 1.5;
}
.vwt-breadcrumbs a { color: #2f7d32; font-weight: 700; text-decoration: none; }
.vwt-breadcrumbs .rank-math-breadcrumb p { margin: 0; }

/* Featured image. */
.vwt-page-featured-image {
  margin-top: 22px;
  margin-bottom: 12px;
}
.vwt-page-featured-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 620px;
  object-fit: cover;
  border-radius: 18px;
}
.vwt-page-width-reading .vwt-page-featured-image {
  width: min(780px, calc(100% - 40px));
}

/* Vertical spacing applies only to ordinary theme-managed pages. */
body:not(.vicmos-custom-layout).vicmos-page-spacing-none .vwt-page > .vwt-page-content { padding-top: 0; padding-bottom: 0; }
body:not(.vicmos-custom-layout).vicmos-page-spacing-compact .vwt-page > .vwt-page-content { padding-top: 18px; padding-bottom: 30px; }
body:not(.vicmos-custom-layout).vicmos-page-spacing-normal .vwt-page > .vwt-page-content { padding-top: 28px; padding-bottom: 48px; }
body:not(.vicmos-custom-layout).vicmos-page-spacing-spacious .vwt-page > .vwt-page-content { padding-top: 48px; padding-bottom: 76px; }

/* Header styles. */
body.vicmos-header-style-compact .vwt-header-main {
  min-height: 68px;
}
body.vicmos-header-style-compact .custom-logo {
  max-height: 52px;
  width: auto;
}
body.vicmos-header-style-minimal .vwt-desktop-menu,
body.vicmos-header-style-minimal .vwt-header-actions .vwt-desktop-only {
  display: none !important;
}
body.vicmos-header-style-minimal .vwt-header-main {
  min-height: 70px;
}

/* Simple informational footer. */
.vwt-site-footer-simple .vwt-footer-simple {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding-top: 34px;
  padding-bottom: 28px;
}
.vwt-footer-simple-brand {
  max-width: 520px;
}
.vwt-footer-simple-brand .custom-logo { max-height: 54px; width: auto; }
.vwt-footer-simple-brand p {
  margin: 14px 0 0;
  color: #737b74;
  font-size: 14px;
  line-height: 1.6;
}
.vwt-footer-simple-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px 22px;
}
.vwt-footer-simple-nav a {
  color: #202920;
  text-decoration: none;
  font-size: 13px;
  font-weight: 750;
}
.vwt-footer-simple-nav a:hover { color: #2f7d32; }

/* Health / educational preset: readable article typography and no store feel. */
body.vicmos-page-preset-education .vwt-page-content {
  font-size: 18px;
  line-height: 1.82;
  color: #303830;
}
body.vicmos-page-preset-education .vwt-page-content h2 {
  margin-top: 2.2em;
  margin-bottom: .65em;
  color: #172019;
  font-size: clamp(28px, 4vw, 38px);
  line-height: 1.12;
  letter-spacing: -.035em;
}
body.vicmos-page-preset-education .vwt-page-content h3 {
  margin-top: 1.8em;
  color: #172019;
  font-size: clamp(22px, 3vw, 28px);
}
body.vicmos-page-preset-education .vwt-page-content p,
body.vicmos-page-preset-education .vwt-page-content li {
  max-width: 72ch;
}
body.vicmos-page-preset-education .vwt-page-head {
  padding-top: 34px;
  padding-bottom: 6px;
}
body.vicmos-page-preset-education .vwt-page-head h1 {
  max-width: 900px;
  margin-inline: auto;
  font-size: clamp(38px, 7vw, 64px);
  line-height: 1.02;
}

/* Optional helper classes for educational blocks. */
.vicmos-health-note,
.vicmos-seek-care,
.vicmos-disclaimer {
  margin: 26px 0;
  padding: 18px 20px;
  border: 1px solid #dfe6df;
  border-radius: 14px;
  background: #f7faf7;
}
.vicmos-seek-care {
  border-color: #ead9b0;
  background: #fffaf0;
}
.vicmos-disclaimer {
  color: #596159;
  font-size: .9em;
}

/* Landing preset should truly be a clean canvas. */
body.vicmos-page-preset-landing .vwt-site-main,
body.vicmos-page-preset-landing .vwt-page,
body.vicmos-page-preset-landing .vwt-page-content {
  min-height: 0;
  margin: 0;
  padding: 0;
}

@media (max-width: 700px) {
  .vwt-page-width-reading > .vwt-page-content,
  .vwt-page-width-normal > .vwt-page-content,
  .vwt-page-width-wide > .vwt-page-content {
    width: calc(100% - 20px);
  }

  .vwt-breadcrumbs,
  .vwt-page-featured-image,
  .vwt-page-width-reading .vwt-page-featured-image {
    width: calc(100% - 20px);
  }

  .vwt-breadcrumbs { padding-top: 14px; font-size: 12px; }
  .vwt-page-featured-image { margin-top: 15px; }
  .vwt-page-featured-image img { border-radius: 13px; max-height: 430px; }

  body:not(.vicmos-custom-layout).vicmos-page-spacing-compact .vwt-page > .vwt-page-content { padding-top: 12px; padding-bottom: 22px; }
  body:not(.vicmos-custom-layout).vicmos-page-spacing-normal .vwt-page > .vwt-page-content { padding-top: 20px; padding-bottom: 34px; }
  body:not(.vicmos-custom-layout).vicmos-page-spacing-spacious .vwt-page > .vwt-page-content { padding-top: 32px; padding-bottom: 50px; }

  body.vicmos-page-preset-education .vwt-page-content {
    font-size: 17px;
    line-height: 1.76;
  }
  body.vicmos-page-preset-education .vwt-page-head { padding-top: 25px; }

  .vwt-site-footer-simple .vwt-footer-simple {
    display: block;
    padding-top: 26px;
    padding-bottom: 22px;
  }
  .vwt-footer-simple-brand p { font-size: 13px; }
  .vwt-footer-simple-nav {
    justify-content: flex-start;
    margin-top: 22px;
    gap: 10px 18px;
  }
  .vwt-footer-simple-nav a { font-size: 12px; }

  body.vicmos-hide-floating-whatsapp .vmw-floating-whatsapp { display: none !important; }
  body:not(.vicmos-mobile-nav-enabled) .vmw-floating-whatsapp {
    bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  }
}


/* =========================================================
   3.4.1 — CONTENT CONTROLS FOR WELLNESS JOURNAL POSTS
   ========================================================= */

.single-post .vwt-article.vwt-post-content-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.single-post .vwt-article.vwt-post-content-shell > .vwt-page-content.vwt-prose {
  max-width: none;
}

.single-post .vwt-article-head.vwt-page-head {
  padding-top: 42px;
  padding-bottom: 10px;
}

.single-post .vwt-article-head.vwt-page-head .vwt-eyebrow {
  display: inline-block;
  margin-bottom: 10px;
}

/* VicMos-designed HTML layouts own their width and spacing. */
body.vicmos-custom-layout .vwt-page > .vwt-page-content {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-top: 0;
  padding-bottom: 0;
}

body.vicmos-content-type-post.vicmos-page-preset-education .vwt-page-head {
  text-align: center;
}

@media (max-width: 700px) {
  .single-post .vwt-article-head.vwt-page-head {
    width: calc(100% - 20px);
    padding-top: 28px;
  }
}
