/* Shared Vitalora winter palette for the explicitly restyled public pages. */
.page-blog,
.page-blog-post,
.page-login,
.page-clean-reset {
  --warm-moss: #253129;
  --warm-moss-deep: #1d2722;
  --warm-moss-soft: #34433a;
  --warm-ivory: #f4eee6;
  --warm-paper: #fffaf5;
  --warm-paper-soft: #f8efe5;
  --warm-clay: #bf7654;
  --warm-clay-dark: #8c523d;
  --warm-clay-light: #e2b596;
  --warm-ink: #292a25;
  --warm-body: #625f57;
  --warm-line: #ddd2c4;
}

/* Blog: retain the grid and dimensions; change only atmosphere and material. */
body.page-blog {
  display: block !important;
  min-height: 100vh;
  margin: 0;
  color: var(--warm-ink);
  background:
    radial-gradient(circle at 90% 5%, rgba(191, 118, 84, 0.12), transparent 28%),
    linear-gradient(145deg, var(--warm-paper-soft), var(--warm-ivory)) !important;
}

.page-blog .main-content {
  width: min(calc(100% - 40px), 1200px);
  max-width: 1200px;
  margin: 52px auto 78px;
  padding: 20px;
}

.page-blog .main-content > .container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.page-blog .blog-grid {
  grid-template-columns: repeat(3, 320px) !important;
  justify-content: center;
}

.page-blog .site-header {
  background: linear-gradient(110deg, var(--warm-moss-deep), var(--warm-moss) 62%, #4a3b2f) !important;
  box-shadow: 0 10px 30px rgba(29, 39, 34, 0.16);
}

.page-blog .logo-text,
.page-blog .header-buttons .login-btn {
  color: var(--warm-paper) !important;
}

.page-blog .header-buttons .login-btn {
  background: rgba(255, 250, 245, 0.04) !important;
  border-color: rgba(226, 181, 150, 0.72) !important;
}

.page-blog .blog-header h1 {
  color: var(--warm-ink);
}

.page-blog .post-card {
  background: rgba(255, 250, 245, 0.94);
  border-color: rgba(140, 82, 61, 0.14);
  box-shadow: 0 16px 34px -20px rgba(56, 41, 28, 0.38);
}

.page-blog .post-card:hover {
  border-color: rgba(191, 118, 84, 0.42);
  box-shadow: 0 22px 42px -20px rgba(56, 41, 28, 0.48);
}

.page-blog .post-cover {
  background: #e9dfd3;
}

.page-blog .post-cover::after {
  background: linear-gradient(to bottom, transparent, rgba(37, 49, 41, 0.16));
}

.page-blog .post-title,
.page-blog .post-date,
.page-blog .post-read-time {
  color: var(--warm-ink);
}

.page-blog .post-meta {
  color: var(--warm-body);
}

.page-blog footer {
  color: #e7ddd1 !important;
  background: linear-gradient(135deg, var(--warm-moss-deep), var(--warm-moss)) !important;
  box-shadow: inset 0 1px rgba(226, 181, 150, 0.14);
}

.page-blog footer a,
.page-blog .footer-logo,
.page-blog footer .brand-email {
  color: var(--warm-paper) !important;
}

@media (max-width: 1100px) {
  .page-blog .blog-grid {
    grid-template-columns: repeat(2, 320px) !important;
  }
}

@media (max-width: 768px) {
  .page-blog .main-content {
    width: 100%;
    margin: 20px auto 46px;
  }

  .page-blog .blog-grid {
    grid-template-columns: minmax(0, 320px) !important;
  }
}

/* Blog detail: a quiet editorial page with the same winter warmth. */
body.page-blog-post {
  min-height: 100vh;
  color: var(--warm-ink);
  background:
    radial-gradient(circle at 88% 4%, rgba(191, 118, 84, 0.14), transparent 27%),
    linear-gradient(145deg, var(--warm-paper-soft), var(--warm-ivory)) !important;
}

.page-blog-post .site-header {
  background: linear-gradient(110deg, var(--warm-moss-deep), var(--warm-moss) 62%, #4a3b2f) !important;
  box-shadow: 0 10px 30px rgba(29, 39, 34, 0.16);
}

.page-blog-post .logo-text,
.page-blog-post .header-buttons .login-btn {
  color: var(--warm-paper) !important;
}

.page-blog-post .header-buttons .login-btn {
  background: rgba(255, 250, 245, 0.04) !important;
  border-color: rgba(226, 181, 150, 0.72) !important;
}

.page-blog-post .blog-post-container {
  max-width: 900px;
  margin: 54px auto 82px;
  padding: clamp(28px, 5vw, 58px);
  background: rgba(255, 250, 245, 0.94);
  border: 1px solid rgba(140, 82, 61, 0.14);
  border-radius: 26px;
  box-shadow: 0 28px 70px -38px rgba(56, 41, 28, 0.46);
}

.page-blog-post .blog-post-title,
.page-blog-post .blog-post-content h1,
.page-blog-post .blog-post-content h2,
.page-blog-post .blog-post-content h3,
.page-blog-post .blog-post-content h4 {
  color: var(--warm-ink);
}

.page-blog-post .blog-post-title {
  max-width: 820px;
  font-size: clamp(34px, 5vw, 52px);
  letter-spacing: -0.035em;
}

.page-blog-post .blog-post-meta {
  color: #81796f;
}

.page-blog-post .blog-post-featured-image {
  height: clamp(240px, 46vw, 480px);
  margin: 28px 0 42px;
  background: #e8dacb;
  border: 7px solid #e3d4c2;
  border-radius: 22px;
  box-shadow: 0 24px 54px -28px rgba(56, 41, 28, 0.5);
}

.page-blog-post .blog-post-featured-image img {
  border-radius: 15px;
}

.page-blog-post .blog-post-content,
.page-blog-post .blog-post-content p,
.page-blog-post .blog-post-content li {
  color: var(--warm-body);
}

.page-blog-post .blog-post-content {
  font-size: 18px;
  line-height: 1.82;
}

.page-blog-post .blog-post-content h2 {
  margin-top: 50px;
  font-size: clamp(26px, 3.5vw, 34px);
  letter-spacing: -0.025em;
}

.page-blog-post .blog-post-content h3 {
  margin-top: 34px;
  font-size: 22px;
}

.page-blog-post .blog-post-content a {
  color: var(--warm-clay-dark);
  text-decoration-color: rgba(140, 82, 61, 0.35);
  text-underline-offset: 3px;
}

.page-blog-post .blog-post-content .article-lead {
  color: #46463f;
  font-size: 21px;
  line-height: 1.7;
}

.page-blog-post .blog-post-content blockquote,
.page-blog-post .blog-post-content .course-note {
  position: relative;
  margin: 32px 0;
  padding: 24px 27px;
  color: #f8efe5;
  background: linear-gradient(135deg, var(--warm-moss), var(--warm-moss-deep));
  border: 1px solid rgba(226, 181, 150, 0.26);
  border-radius: 16px;
  box-shadow: 0 16px 34px -24px rgba(29, 39, 34, 0.7);
}

.page-blog-post .blog-post-content blockquote *,
.page-blog-post .blog-post-content .course-note *,
.page-blog-post .blog-post-content .course-note a {
  color: #f8efe5;
}

.page-blog-post .blog-post-content .practical-list {
  margin: 26px 0;
  padding: 24px 28px 24px 48px;
  background: #f7ecdf;
  border: 1px solid rgba(191, 118, 84, 0.2);
  border-radius: 16px;
}

.page-blog-post .blog-post-content .practical-list li {
  margin: 10px 0;
  padding-left: 5px;
}

.page-blog-post .blog-post-content .source-note {
  margin-top: 52px;
  padding-top: 25px;
  font-size: 15px;
  line-height: 1.7;
  border-top: 1px solid var(--warm-line);
}

.page-blog-post .blog-post-content .source-note h2 {
  margin-top: 0;
  font-size: 20px;
}

@media (max-width: 768px) {
  .page-blog-post .blog-post-container {
    margin: 20px 14px 48px;
    padding: 25px 20px 34px;
    border-radius: 20px;
  }

  .page-blog-post .blog-post-featured-image {
    height: 230px;
    border-width: 5px;
    border-radius: 17px;
  }

  .page-blog-post .blog-post-content,
  .page-blog-post .blog-post-content p,
  .page-blog-post .blog-post-content li {
    font-size: 16px;
  }

  .page-blog-post .blog-post-content .article-lead {
    font-size: 18px;
  }
}

/* Login: same centered form, now in the Academy atmosphere. */
body.page-login {
  color: var(--warm-ink);
  background:
    radial-gradient(circle at 20% 12%, rgba(226, 181, 150, 0.24), transparent 24%),
    radial-gradient(circle at 84% 88%, rgba(191, 118, 84, 0.16), transparent 30%),
    linear-gradient(145deg, var(--warm-moss-soft), var(--warm-moss-deep)) !important;
}

.page-login .login-container {
  background: rgba(255, 250, 245, 0.96);
  border: 1px solid rgba(226, 181, 150, 0.52);
  box-shadow:
    0 0 0 8px rgba(255, 250, 245, 0.05),
    0 26px 70px rgba(9, 16, 12, 0.38);
}

.page-login .logo-text {
  color: var(--warm-moss);
}

.page-login h1,
.page-login label {
  color: var(--warm-ink);
}

.page-login .subtitle,
.page-login .back-link {
  color: var(--warm-body);
}

.page-login .pin-input {
  color: var(--warm-ink);
  background: var(--warm-paper);
  border-color: var(--warm-line);
}

.page-login .pin-input:focus,
.page-login .pin-input.filled {
  background: #fff8f1;
  border-color: var(--warm-clay);
  box-shadow: 0 0 0 3px rgba(191, 118, 84, 0.14);
}

.page-login .login-btn {
  color: var(--warm-paper);
  background: linear-gradient(135deg, #c77d59, var(--warm-clay)) !important;
  box-shadow: 0 12px 28px rgba(140, 82, 61, 0.24);
}

.page-login .login-btn:hover {
  box-shadow: 0 16px 34px rgba(140, 82, 61, 0.32);
}

.page-login .back-link:hover {
  color: var(--warm-clay-dark);
}

/* Clean Reset sales page: preserve every block, switch the visual language. */
body.page-clean-reset {
  color: var(--warm-ink);
  background:
    radial-gradient(circle at 86% 5%, rgba(191, 118, 84, 0.12), transparent 27%),
    linear-gradient(145deg, var(--warm-paper-soft), var(--warm-ivory)) !important;
}

.page-clean-reset .site-header {
  background: linear-gradient(110deg, var(--warm-moss-deep), var(--warm-moss) 62%, #4a3b2f) !important;
  box-shadow: 0 10px 30px rgba(29, 39, 34, 0.16);
}

.page-clean-reset .logo-text {
  color: var(--warm-paper) !important;
}

.page-clean-reset .hero-text h1,
.page-clean-reset .final-cta h2 {
  color: var(--warm-ink);
}

.page-clean-reset .highlight,
.page-clean-reset .rating-display {
  color: var(--warm-clay-dark);
}

.page-clean-reset .hero-description,
.page-clean-reset .feature-item,
.page-clean-reset .final-cta p,
.page-clean-reset .profession {
  color: var(--warm-body);
}

.page-clean-reset .direct-access {
  color: var(--warm-paper);
  background: var(--warm-moss);
  box-shadow: 0 8px 20px rgba(37, 49, 41, 0.2);
}

.page-clean-reset .direct-access:hover {
  background: var(--warm-moss-soft);
}

.page-clean-reset .checkmark.icon-checkmark {
  background: var(--warm-clay);
}

.page-clean-reset .cta-button,
.page-clean-reset .modal-cta {
  color: var(--warm-paper) !important;
  background: linear-gradient(135deg, #c77d59, var(--warm-clay)) !important;
  box-shadow: 0 12px 28px rgba(140, 82, 61, 0.26) !important;
}

.page-clean-reset .cta-button:hover,
.page-clean-reset .modal-cta:hover {
  background: linear-gradient(135deg, var(--warm-clay), #a86146) !important;
  box-shadow: 0 16px 34px rgba(140, 82, 61, 0.32) !important;
}

.page-clean-reset .ebook-cover,
.page-clean-reset .mobile-book-image img {
  border-radius: 22px;
  box-shadow:
    0 0 0 8px #e3d4c2,
    0 28px 64px -24px rgba(56, 41, 28, 0.42);
}

.page-clean-reset .testimonials,
.page-clean-reset .final-cta {
  background: transparent;
}

.page-clean-reset .testimonial-card {
  background: rgba(255, 250, 245, 0.92);
  border-color: rgba(140, 82, 61, 0.14);
  box-shadow: 0 16px 34px -20px rgba(56, 41, 28, 0.36);
}

.page-clean-reset .quote,
.page-clean-reset .name {
  color: var(--warm-ink);
}

.page-clean-reset .modal-card,
.page-clean-reset .modal-copy,
.page-clean-reset .modal-illustration {
  background: var(--warm-paper-soft);
}

.page-clean-reset .modal-hero {
  background: var(--warm-moss-deep);
}

.page-clean-reset .modal-close {
  color: var(--warm-clay-dark);
  background: var(--warm-paper);
}

.page-clean-reset .modal-form input {
  background: var(--warm-paper);
  border-color: var(--warm-line);
}
