/*
Theme Name: WDS Vitality Wellness Clinic
Theme URI: https://example.com
Author: Your Name
Description: Custom theme for WDS Vitality Wellness Clinic
Version: 1.0
*/

/* =========================
   RESET & BASE
   ========================= */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'TT Norms Pro', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}

.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

/* =========================
   NAVIGATION BAR
 
.nav-bar {
  background: #fff;
  border-top: 2px solid #eee;
  border-bottom: 2px solid #eee;
}

.main-nav .nav-menu {
  list-style: none;
  display: flex;
  gap: 1rem;
}

.main-nav .nav-menu li a {
  text-decoration: none;
  color: #333;
}
  ========================= */
/* Mobile Menu 
.menu-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 1.5rem;
}

@media (max-width: 768px) {
  .main-nav {
    display: none;
  }
  .menu-toggle {
    display: block;
  }
} */

/* =========================
   HEADER
   ========================= */
.site-header {
  background: #fff;
  border-bottom: 1px solid #eee;
  padding: 1rem 0;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.header-right .header-text {
  color: #99b4ab; /* Minty sage */
  font-size: 0.95rem;
  font-weight: 600;
  text-align: right;
}

.header-right .header-text span {
  display: block;
  line-height: 1.4;
}

/* =========================
   TOP BAR
   ========================= */
.top-bar {
  background: #e1dbd8; /* Greige */
  color: #738d94; /* Agave */
  font-size: 0.9rem;
  padding: 0.4rem 0;
}

.top-bar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.top-bar a.top-phone {
  color: #738d94;
  font-weight: 700;
  text-decoration: none;
}

.top-bar a.top-phone:hover {
  color: #d3a794; /* Sedona hover */
}

/* =========================
   BUTTONS
   ========================= */
/* Book Btn (Menu / Header) */
.book-btn a {
  margin: 8px 0;
  font-size: 18px !important;
  color: #d3a794;
  line-height: 1.25;
  font-weight: 900 !important;
  letter-spacing: 1px;
  text-decoration: none;
}

/* VC Button - Cream */
.vc_btn_cream .vc_btn3 {
  background-color: #fcf2eb !important; /* Cream */
  color: #738d94 !important; /* Agave */
  border: 2px solid #ffffff !important;
  border-radius: 999px !important;
  transition: all 0.25s ease;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  letter-spacing: 0;
  padding: 13px 30px;
  text-decoration: none !important;
  text-transform: uppercase;
  box-shadow: none;
}

.vc_btn_cream .vc_btn3:hover {
  background-color: #738d94 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

/* Header Button (Sedona → Agave) */
.vc_btn3.vc_btn3-size-lg.vc_btn3-shape-round-header {
  background-color: #d3a794 !important; /* Sedona */
  color: #ffffff !important; /* White text */
  border: 2px solid #ffffff !important;
  border-radius: 999px !important;
  transition: all 0.25s ease;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  letter-spacing: 0;
  padding: 13px 30px;
  text-decoration: none !important;
  text-transform: uppercase;
  display: inline-block; /* ensures proper button shape */
  box-shadow: none;
}

/* Hover state */
.vc_btn3.vc_btn3-size-lg.vc_btn3-shape-round-header:hover {
  background-color: #738d94 !important; /* Agave */
  color: #ffffff !important;
  border-color: #ffffff !important;
}

/* VC Button - Invert */
.vc_btn_invert .vc_btn3 {
  background-color: #738d94 !important;
  color: #ffffff !important;
  border: 2px solid #738d94 !important;
  transition: all 0.3s ease;
}

.vc_btn_invert .vc_btn3:hover {
  background-color: transparent !important;
  color: #738d94 !important;
  border-color: #738d94 !important;
}

.wpb_wrapper .vc_btn3.vc_btn3-shape-round,
.wpb_wrapper .vc_btn3.vc_btn3-shape-rounded,
.wpb_wrapper .vc_btn3.vc_btn3-style-custom {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  min-width: 180px;
  padding: 13px 30px !important;
  border: 2px solid #738d94 !important;
  border-radius: 999px !important;
  background: #738d94 !important;
  color: #ffffff !important;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.wpb_wrapper .vc_btn3.vc_btn3-shape-round:hover,
.wpb_wrapper .vc_btn3.vc_btn3-shape-rounded:hover,
.wpb_wrapper .vc_btn3.vc_btn3-style-custom:hover {
  border-color: #d3a794 !important;
  background: #d3a794 !important;
  color: #ffffff !important;
  transform: translateY(-2px);
}

.wpb_wrapper .vc_btn_invert .vc_btn3 {
  border-color: #738d94 !important;
  background: #738d94 !important;
  color: #ffffff !important;
}

.wpb_wrapper .vc_btn_invert .vc_btn3:hover {
  border-color: #738d94 !important;
  background: transparent !important;
  color: #738d94 !important;
}

/* =========================
   FOOTER
   ========================= */
.footer-wrapper-widgets.header-footer-group {
  background: #e1dbd8;
}

.site-footer {
  background: #e1dbd8 !important;
  color: #738d94 !important;
  font-size: 15px;
  padding: 40px 0 15px;
  width: 100% !important;
  text-align: center;
}

.site-footer a {
  color: #738d94 !important;
  text-decoration: none;
  transition: all 0.3s ease;
}

.site-footer a:hover {
  color: #9bb0b6 !important;
}

/* Footer Newsletter */
.footer-newsletter .newsletter-form {
  display: flex;
  gap: 10px;
  max-width: 400px;
}

.footer-newsletter input[type="email"] {
  flex: 1;
  padding: 10px 15px;
  border: 1px solid #738d94;
  border-radius: 25px;
  color: #738d94;
}

.footer-newsletter input::placeholder {
  color: #738d94;
}

.footer-newsletter .vc_btn3 {
  background-color: #738d94 !important;
  color: #ffffff !important;
  border: 2px solid #738d94 !important;
  padding: 8px 20px;
  border-radius: 25px;
  font-weight: 600;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.footer-newsletter .vc_btn3:hover {
  background-color: #9bb0b6 !important;
  border-color: #9bb0b6 !important;
  color: #ffffff !important;
}

.site-footer .footer-info .newsletter-form {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  max-width: 520px;
  margin: 18px 0 0;
}

.site-footer .footer-info .newsletter-form input[type="email"] {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
  padding: 0 18px;
  border: 2px solid #738d94 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #738d94 !important;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif !important;
  font-size: 16px;
  line-height: 44px;
  outline: none;
  box-shadow: none !important;
}

.site-footer .footer-info .newsletter-form input[type="email"]::placeholder {
  color: #99b4ab;
  opacity: 1;
}

.site-footer .footer-info .newsletter-form input[type="email"]:focus {
  border-color: #99b4ab !important;
}

.site-footer .footer-info .newsletter-form .vc_btn3,
.site-footer .footer-info .newsletter-form button[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 98px;
  height: 44px;
  padding: 0 22px !important;
  border: 2px solid #738d94 !important;
  border-radius: 999px !important;
  background: #738d94 !important;
  color: #ffffff !important;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: none !important;
  cursor: pointer;
}

.site-footer .footer-info .newsletter-form .vc_btn3:hover,
.site-footer .footer-info .newsletter-form button[type="submit"]:hover {
  border-color: #99b4ab !important;
  background: #99b4ab !important;
  color: #ffffff !important;
}

/* Mobile Newsletter */
@media (max-width: 480px) {
  .footer-newsletter .newsletter-form {
    flex-direction: column;
  }
  .footer-newsletter .vc_btn3 {
    width: 100%;
  }

  .site-footer .footer-info .newsletter-form {
    flex-direction: column;
    align-items: stretch;
  }

  .site-footer .footer-info .newsletter-form .vc_btn3,
  .site-footer .footer-info .newsletter-form button[type="submit"] {
    width: 100%;
  }
}

/* Footer Social */
.footer-social {
  display: flex;
  gap: 15px;
  margin-top: 15px;
  justify-content: flex-start;
}

.footer-social a {
  font-size: 22px;
  color: #738d94 !important;
  transition: color 0.3s ease;
}

.footer-social a:hover {
  color: #9bb0b6 !important;
}

/* Footer Copyright */
.footer-cpy {
  font-size: 14px;
  margin-top: 10px;
  color: #738d94 !important;
  text-align: center;
}

.site-footer .container {
  max-width: 1140px;
}

/* Site Credit Bottom Bar — extremely subtle, blends into footer */
.site-bottom-bar {
  background: transparent;
  margin-top: 6px;
  padding: 4px 0 2px;
  text-align: center;
}

.site-bottom-bar p {
  margin: 0;
  font-size: 11px;
  font-weight: 400;
  color: #b9b2ab !important; /* barely-there greige on #e1dbd8 */
  letter-spacing: 0.3px;
  opacity: 0.65;
}

.site-bottom-bar a {
  color: #b9b2ab !important;
  font-weight: 400;
  text-decoration: none;
  transition: color 0.3s ease;
}

.site-bottom-bar a:hover {
  color: #738d94 !important; /* Agave on hover, discoverable */
  text-decoration: underline;
}

/* =========================
   NEWSLETTER (Content Block)
   ========================= */
.newsletter-wrapper {
  max-width: 500px;
  margin: 0;
  text-align: left;
  color: #738d94;
}

.newsletter-wrapper p {
  font-size: 1rem;
  margin-bottom: 1rem;
  line-height: 1.4;
}

.newsletter-wrapper p strong {
  font-size: 1.25rem;
  display: block;
  margin-bottom: 0.25rem;
  color: #738d94;
}

.newsletter-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-start;
}

.newsletter-input {
  flex: 1;
  min-width: 220px;
  padding: 0.75rem 1rem;
  border: 2px solid #738d94;
  border-radius: 30px;
  font-size: 1rem;
  color: #738d94;
  outline: none;
  transition: border-color 0.3s ease;
}

.newsletter-input::placeholder {
  color: #99b4ab;
}

.newsletter-input:focus {
  border-color: #d3a794;
}

.newsletter-submit {
  padding: 0.75rem 1.5rem;
  border: 2px solid #738d94;
  border-radius: 30px;
  background-color: #738d94;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.newsletter-submit:hover {
  background-color: #d3a794;
  border-color: #d3a794;
  color: #ffffff;
}

@media (max-width: 480px) {
  .newsletter-form {
    flex-direction: column;
  }
  .newsletter-submit {
    width: 100%;
  }
}

/* =========================
   TYPOGRAPHY SYSTEM
   ========================= */

/* TT Norms Pro */
.font-ttnorms {
  font-family: 'TT Norms Pro', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  color: #333;
}

.font-ttnorms-light {
  font-family: 'TT Norms Pro', sans-serif;
  font-weight: 300;
}

.font-ttnorms-bold {
  font-family: 'TT Norms Pro', sans-serif;
  font-weight: 700;
}

/* Crimson Text */
.font-crimson {
  font-family: 'Crimson Text', serif;
  font-weight: 400;
  line-height: 1.6;
}

.font-crimson-semibold {
  font-family: 'Crimson Text', serif;
  font-weight: 600;
}

.font-crimson-bold {
  font-family: 'Crimson Text', serif;
  font-weight: 700;
}

/* Heading Sizes */
.h1-size {
  font-size: 48px;
  line-height: 1.2;
}

.h2-size {
  font-size: 36px;
  line-height: 1.3;
}

.h3-size {
  font-size: 28px;
  line-height: 1.3;
}

.h4-size {
  font-size: 22px;
  line-height: 1.4;
}

.p-size {
  font-size: 18px;
  line-height: 1.6;
}

/* Utility Colors */
.text-agave {
  color: #738d94 !important;
}

.text-sedona {
  color: #d3a794 !important;
}

.text-minty {
  color: #99b4ab !important;
}

.text-white {
  color: #ffffff !important;
}

/* Hero Heading (extra large) */
.h1-hero {
  font-size: 45px;   /* big and bold */
  line-height: 1.2;
  margin-bottom: 1rem;
}

@media (max-width: 768px) {
  .h1-hero {
    font-size: 38px; /* scale down for tablets */
  }
}

@media (max-width: 480px) {
  .h1-hero {
    font-size: 28px; /* scale down for mobile */
  }
}

/* Medium Heading */
.h3-medium {
  font-size: 28px;
  line-height: 1.3;
  margin-bottom: 0.5rem;
  font-weight: 700;
}

@media (max-width: 768px) {
  .h3-medium {
    font-size: 24px;
  }
}

@media (max-width: 480px) {
  .h3-medium {
    font-size: 20px;
  }
}
/* Large TT Norms Pro text (for quotes or callouts) */
.font-ttnorms-large {
  font-family: 'TT Norms Pro', sans-serif;
  font-weight: 400;   /* normal weight */
  font-size: 22px;    /* larger than body (16â€“18px) */
  line-height: 1.6;
  color: #738d94;     /* Agave */
}

@media (max-width: 768px) {
  .font-ttnorms-large {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .font-ttnorms-large {
    font-size: 18px;
  }
}

/* Special Quote Style */
.quote-crimson {
  font-family: 'Crimson Text', serif;
  font-weight: 400;
  font-size: 38px;   /* your requested size */
  line-height: 1.4;
  color: #738d94;    /* Agave */
}

.quote-crimson + p + p.font-cookie,
p.font-cookie.text-agave {
  font-family: 'Cookie', cursive !important;
  font-size: 50px !important;
  line-height: 1;
  margin-top: 8px;
  color: #3a4f61 !important;
}

.quote-crimson + p + p.font-cookie *,
p.font-cookie.text-agave * {
  font-family: 'Cookie', cursive !important;
  color: inherit !important;
}

.footer-grid {
  display: flex;
  gap: 2rem;
}

.footer-col {
  flex: 1; /* each column takes equal width */
}

@media (max-width: 768px) {
  .footer-grid {
    flex-direction: column; /* stack on mobile */
  }
}

/* Footer Info Text */
.footer-info {
  text-align: left; /* left align everything */
  font-size: 17px;  /* slightly larger than default */
  line-height: 1.6;
  color: #738d94;   /* Agave */
}

.footer-info strong {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 20px;
}

/* Footer Links */
.footer-info a {
  color: #738d94;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-info a:hover {
  color: #d3a794; /* Sedona hover */
}

/* Bold clickable phone numbers */
.footer-info a[href^="tel"] {
  font-weight: 700;
  color: #738d94;
}

.footer-info a[href^="tel"]:hover {
  color: #d3a794;
}

/* Match right column style to left */
.footer-info strong {
  display: block;
  font-weight: 700;
  margin-bottom: 5px;
}

.footer-info p {
  margin-bottom: 15px;
  line-height: 1.6;
}

/* Default (desktop) */
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  text-align: right;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .header-inner {
    flex-direction: column; /* stack logo + right content */
    align-items: flex-start; /* align left */
    text-align: left;
  }

  .header-right {
    flex-direction: column; /* stack text + button */
    align-items: flex-start; /* align left */
    gap: 0.75rem;
    margin-top: 1rem;
    text-align: left;
  }

  .header-right .header-text {
    font-size: 0.9rem;
    line-height: 1.4;
  }

  .vc_btn_cream {
    width: 100%; /* make button full width on mobile */
  }

  .vc_btn_cream .vc_btn3 {
    display: block;
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 768px) {
  .top-bar-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    text-align: left;
  }
}

@media (max-width: 768px) {
  /* Stack and center the header content */
  .header-inner {
    flex-direction: column;   /* stack logo + right content */
    align-items: center;      /* center horizontally */
    justify-content: center;
    text-align: center;       /* center text */
  }

  .header-right {
    flex-direction: column;   /* stack text + button */
    align-items: center;      /* center horizontally */
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1rem;
    text-align: center;
    width: 100%;              /* take full width for centering */
  }

  .header-right .header-text {
    font-size: 0.9rem;
    line-height: 1.4;
    text-align: center;
  }

  /* Center the button */
  .vc_btn_cream {
    display: flex;
    justify-content: center;  /* center button inside container */
    width: 100%;
  }

  .vc_btn_cream .vc_btn3 {
    display: inline-block;
    text-decoration: none;
    text-align: center;
    margin: 0 auto;           /* center horizontally */
  }
}

/* Global link styling - Sedona color */
a {
  color: #d3a794; /* Sedona */
}

a:hover {
  color: #738d94; /* Slightly darker sedona on hover */
}

a:visited {
  color: #d3a794; /* Keep same sedona color for visited */
}

a:active {
  color: #b8896f; /* Darker sedona when clicked */
}
h1 span a:hover {
  color: #738d94 !important; /* Agave */
}

/* =========================
   SERVICE PILL CARDS
   ========================= */
.services-section {
  width: 100%;
  padding: 50px 20px;
  background: #ffffff;
  text-align: center;
}

.vnhc-service-carousel {
  --vnhc-sage: #99b4ab;
}

.vnhc-service-carousel .vnhc-service-button {
  background: #99b4ab !important;
  border-color: #99b4ab !important;
}

.services-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 25px;
  max-width: 1200px;
  margin: 0 auto;
}

.pill-item {
  display: flex;
  flex: 1 1 350px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  padding: 40px 25px;
  border: 2px solid #99b4ab;
  border-radius: 30px;
  background: #99b4ab !important;
  color: #ffffff !important;
  text-align: center;
  box-shadow: 0 4px 10px rgba(211, 167, 148, 0.15);
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.pill-item .icon {
  margin-bottom: 20px;
  color: #ffffff !important;
  font-size: 32px;
  line-height: 1;
  transition: color 0.25s ease;
}

.pill-item h3 {
  max-width: 95%;
  margin: 0 0 12px;
  color: #ffffff !important;
  font-family: 'Crimson Text', Georgia, serif !important;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  transition: color 0.25s ease;
}

.pill-item p,
.pill-item p *,
.pill-item span,
.pill-item div,
.pill-item div *,
.pill-item .font-ttnorms,
.pill-item .font-ttnorms *,
.pill-item .text-agave,
.pill-item .text-agave * {
  margin: 0;
  color: #ffffff !important;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif !important;
  font-size: 15px;
  line-height: 1.5;
}

.pill-item:hover {
  border-color: #d3a794;
  background: #ffffff !important;
  transform: translateY(-5px);
}

.pill-item:hover .icon,
.pill-item:hover h3,
.pill-item:hover p,
.pill-item:hover p *,
.pill-item:hover span,
.pill-item:hover div,
.pill-item:hover div *,
.pill-item:hover .font-ttnorms,
.pill-item:hover .font-ttnorms *,
.pill-item:hover .text-agave,
.pill-item:hover .text-agave * {
  color: #738d94 !important;
}

@media (max-width: 768px) {
  .pill-item {
    flex-basis: 100%;
    max-width: 100%;
    padding: 35px 20px;
  }
}

/* =========================
   SKIN CLINIC CARDS
   ========================= */
.testing-section {
  width: 100%;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
  padding: 4px 0 24px;
}

.testing-section *,
.expect-steps-timeline * {
  box-sizing: border-box;
}

.testing-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 26px;
  margin-bottom: 26px;
  width: 100%;
}

.testing-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  min-height: 475px;
  padding: 30px 42px 28px;
  border: 2px solid transparent;
  border-radius: 24px;
  background: #99b4ab !important;
  color: #ffffff !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.testing-block .icon-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  margin-bottom: 28px;
  border-radius: 999px;
  background: #ffffff;
  color: #738d94;
  box-shadow: none;
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

.testing-block .icon {
  color: #738d94;
  font-size: 25px;
  transition: color 0.25s ease;
}

.testing-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.testing-heading--lg,
.testing-block h3 {
  font-family: 'Crimson Text', Georgia, serif !important;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  color: #ffffff !important;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.testing-block .price {
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #ffffff !important;
  margin-bottom: 24px;
}

.testing-block .font-ttnorms,
.testing-block .text-agave,
.testing-block p,
.testing-block ul {
  width: 100%;
  margin: 0 0 28px;
  padding-left: 18px;
  color: #ffffff !important;
}

.testing-block p *,
.testing-block span,
.testing-block span *,
.testing-block .wpb_wrapper,
.testing-block .wpb_wrapper *,
.testing-block .testing-content,
.testing-block .testing-content * {
  color: #ffffff !important;
}

.testing-block .text-agave *,
.testing-block .font-ttnorms *,
.testing-block ul.text-agave,
.testing-block ul.text-agave li,
.testing-block ul li,
.testing-block li {
  margin-bottom: 10px;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: #ffffff !important;
}

.testing-block .vc_btn_cream {
  margin-top: auto;
}

.testing-block .vc_btn3.vc_btn3-style-book,
.testing-block .vc_btn3.vc_btn3-shape-round-header {
  min-width: 164px;
  padding: 12px 28px;
  border: 2px solid #ffffff !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #738d94 !important;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
}

.testing-block .vc_btn3.vc_btn3-style-book:hover,
.testing-block .vc_btn3.vc_btn3-shape-round-header:hover {
  background: transparent !important;
  color: #ffffff !important;
}

.testing-block:hover {
  border-color: #d3a794;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(115, 141, 148, 0.12);
}

.testing-block:hover .icon-circle {
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(153, 180, 171, 0.35);
}

.testing-block:hover .testing-heading--lg,
.testing-block:hover h3,
.testing-block:hover .price,
.testing-block:hover .font-ttnorms,
.testing-block:hover .font-ttnorms *,
.testing-block:hover .text-agave,
.testing-block:hover .text-agave *,
.testing-block:hover p,
.testing-block:hover ul,
.testing-block:hover ul li,
.testing-block:hover li {
  color: #738d94 !important;
}

.testing-block:hover p *,
.testing-block:hover span,
.testing-block:hover span *,
.testing-block:hover .wpb_wrapper,
.testing-block:hover .wpb_wrapper *,
.testing-block:hover .testing-content,
.testing-block:hover .testing-content * {
  color: #738d94 !important;
}

.testing-block:hover .vc_btn3.vc_btn3-style-book,
.testing-block:hover .vc_btn3.vc_btn3-shape-round-header {
  border-color: #99b4ab !important;
  background: #99b4ab !important;
  color: #ffffff !important;
}

.testing-block:hover .vc_btn3.vc_btn3-style-book:hover,
.testing-block:hover .vc_btn3.vc_btn3-shape-round-header:hover {
  border-color: #d3a794 !important;
  background: #d3a794 !important;
  color: #ffffff !important;
}

@media (max-width: 900px) {
  .testing-row {
    grid-template-columns: 1fr;
  }

  .testing-block {
    min-height: auto;
    padding: 28px 26px;
  }
}

/* =========================
   EXPECTATION TIMELINE
   ========================= */
.expect-steps-timeline {
  width: min(100%, 1080px);
  max-width: 1080px;
  margin: 0 auto;
  padding: 18px 24px 42px;
  overflow: visible;
}

.est-track-wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.est-connector {
  position: absolute;
  top: 123px;
  left: 16%;
  right: 16%;
  height: 2px;
  background: #d3a794;
  opacity: 0.7;
}

.est-nodes {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.est-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  min-width: 0;
}

.est-circle-wrap {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  justify-content: center;
  width: 100%;
  padding-top: 32px;
  margin-bottom: 30px;
}

.est-badge {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  min-width: 38px;
  height: 26px;
  padding: 0 10px;
  border: 2px solid #d3a794;
  border-radius: 999px;
  background: rgba(252, 242, 235, 0.9);
  color: #d3a794;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: 0;
  text-align: center;
}

.est-circle {
  width: 190px;
  height: 190px;
  overflow: hidden;
  border: 4px solid #d3a794;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 0 0 7px rgba(211, 167, 148, 0.18);
}

.est-circle img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.est-dot {
  position: absolute;
  bottom: -19px;
  left: 50%;
  width: 14px;
  height: 14px;
  transform: translateX(-50%);
  border: 3px solid #ffffff;
  border-radius: 999px;
  background: #d3a794;
  box-shadow: 0 0 0 2px rgba(211, 167, 148, 0.35);
}

.expect-steps-timeline .est-dot {
  display: none !important;
}

.est-card {
  width: 100%;
  max-width: 330px;
  min-height: 250px;
  padding: 28px 32px 30px;
  border: 2px solid #d3a794;
  border-radius: 20px;
  background: #ffffff;
  color: #738d94;
  box-shadow: 0 8px 24px rgba(211, 167, 148, 0.14);
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.est-card * {
  color: inherit !important;
}

.est-card h3 {
  font-family: 'Crimson Text', Georgia, serif !important;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
  color: inherit !important;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 18px;
  letter-spacing: 1.5px;
}

.est-card ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.est-card li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 24px;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: inherit !important;
}

.est-card li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  color: inherit;
  font-weight: 700;
}

.expect-steps-timeline .est-card {
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.expect-steps-timeline .est-card:hover,
.expect-steps-timeline .est-node:hover .est-card {
  background: #d3a794 !important;
  border-color: #d3a794 !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(211, 167, 148, 0.22) !important;
  transform: translateY(-4px);
}

.expect-steps-timeline .est-card:hover *,
.expect-steps-timeline .est-node:hover .est-card *,
.expect-steps-timeline .est-card:hover li::before,
.expect-steps-timeline .est-node:hover .est-card li::before {
  color: #ffffff !important;
}

@media (max-width: 980px) {
  .est-connector {
    display: none;
  }

  .est-nodes {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .est-card {
    min-height: auto;
    flex: 0 1 auto;
  }
}

@media (max-width: 600px) {
  .testing-section,
  .expect-steps-timeline {
    padding-right: 16px;
    padding-left: 16px;
  }

  .est-circle {
    width: 150px;
    height: 150px;
  }
}

/* =========================
   PARALLAX BREADCRUMB
   ========================= */
.breadcrumb-hero {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-image: var(--breadcrumb-bg);
  background-size: cover;
  background-position: center 20%;
  background-attachment: scroll;
}

.breadcrumb-hero-inner {
  position: relative;
  z-index: 1;
  padding-top: 150px;
  padding-bottom: 150px;
  text-align: center;
}

.breadcrumb-title-panel {
  display: inline-block;
  width: min(720px, 18%);
  padding: 20px 34px 18px;
  background: rgba(255, 255, 255, 0.82);
  border-radius: 10px;
}

.breadcrumb-title {
  max-width: 660px;
  margin-right: auto;
  margin-left: auto;
  font-family: 'Crimson Text', Georgia, serif;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.2;
  color: #738d94 !important;
  margin-bottom: 8px;
}

.breadcrumb-trail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: #738d94;
  text-transform: uppercase;
  letter-spacing: 0;
}

.breadcrumb-trail a,
.breadcrumb-trail a:visited {
  color: #738d94;
  text-decoration: none;
}

.breadcrumb-trail a:hover,
.breadcrumb-trail a:focus {
  color: #d3a794;
}

.breadcrumb-separator {
  color: #d3a794;
}

@media (max-width: 768px) {
  .breadcrumb-hero {
    min-height: 300px;
    background-attachment: scroll;
  }

  .breadcrumb-hero-inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .breadcrumb-title-panel {
    padding: 18px 20px 16px;
  }

  .breadcrumb-title {
    font-size: 30px;
  }

  .breadcrumb-trail {
    font-size: 13px;
  }
}

/* =========================
   POSTS
   ========================= */
.blog .type-post,
.archive .type-post,
.single-post .type-post,
.search .type-post,
.post,
.entry-content,
.entry-summary,
.entry-content p,
.entry-content li,
.entry-content td,
.entry-content th,
.entry-content .wpb_wrapper,
.entry-content .wpb_text_column,
.entry-content .vc_column-inner {
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif !important;
  color: #738d94 !important;
}

.entry-content .wpb_text_column p {
  margin-top: 0 !important;
  margin-bottom: 1em !important;
}

.entry-content .wpb_text_column p:empty {
  display: none !important;
}

.entry-title,
.entry-title a,
.single-post h1,
.single-post h2,
.single-post h3,
.single-post h4,
.archive h1,
.archive h2,
.archive h3,
.blog h1,
.blog h2,
.blog h3,
.post h1,
.post h2,
.post h3,
.post h4 {
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif !important;
  color: #738d94 !important;
}

.post a,
.entry-content a,
.entry-summary a {
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif !important;
}

.blog .content-area,
.archive .content-area,
.search .content-area {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px 56px;
  max-width: 980px;
  padding-top: 64px;
  padding-bottom: 72px;
}

.content-area > .type-post {
  margin: 0 auto 64px;
}

.blog .content-area > .type-post,
.archive .content-area > .type-post,
.search .content-area > .type-post {
  width: 100%;
  margin: 0;
  border: 1px solid #dedede;
  background: #ffffff;
}

.single-post .content-area > .type-post {
  max-width: 860px;
}

.single-post .content-area {
  padding-top: 56px;
  padding-bottom: 72px;
}

.single-post .entry-title {
  margin-bottom: 10px;
  font-size: 34px;
  line-height: 1.25;
}

.entry-meta {
  margin: 0 0 24px;
  font-size: 17px;
  font-style: italic;
  line-height: 1.35;
}

.entry-featured-image {
  margin: 0 0 38px;
}

.entry-featured-image img,
.entry-content > p:first-child img,
.entry-content .wp-post-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.single-post .entry-featured-image img {
  aspect-ratio: auto;
  object-fit: contain;
}

.blog .entry-featured-image,
.archive .entry-featured-image,
.search .entry-featured-image {
  aspect-ratio: 1.52 / 1;
  overflow: hidden;
  margin-bottom: 0;
}

.blog .entry-featured-image img,
.archive .entry-featured-image img,
.search .entry-featured-image img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.blog .entry-featured-image a:hover img,
.archive .entry-featured-image a:hover img,
.search .entry-featured-image a:hover img {
  transform: scale(1.025);
}

.entry-content p {
  margin-bottom: 1.3em;
}

.blog .entry-title,
.archive .entry-title,
.search .entry-title {
  padding: 30px 30px 0;
  margin-bottom: 14px;
  font-size: 27px;
  line-height: 1.22;
}

.blog .entry-meta,
.archive .entry-meta,
.search .entry-meta,
.blog .entry-summary,
.archive .entry-summary,
.search .entry-summary {
  padding-right: 30px;
  padding-left: 30px;
}

.blog .entry-summary,
.archive .entry-summary,
.search .entry-summary {
  padding-bottom: 30px;
  font-size: 21px;
  line-height: 1.3;
}

.blog .entry-summary p,
.archive .entry-summary p,
.search .entry-summary p {
  margin-bottom: 18px;
}

.read-more-link,
.read-more-link:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  min-height: 44px;
  padding: 12px 26px;
  border: 2px solid #738d94;
  border-radius: 999px;
  background: #738d94;
  color: #ffffff !important;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.read-more-link:hover,
.read-more-link:focus {
  border-color: #738d94;
  background: #ffffff;
  color: #738d94 !important;
  transform: translateY(-2px);
}

.blog .entry-summary a.read-more-link,
.archive .entry-summary a.read-more-link,
.search .entry-summary a.read-more-link {
  color: #ffffff !important;
}

.blog .entry-summary a.read-more-link:hover,
.blog .entry-summary a.read-more-link:focus,
.archive .entry-summary a.read-more-link:hover,
.archive .entry-summary a.read-more-link:focus,
.search .entry-summary a.read-more-link:hover,
.search .entry-summary a.read-more-link:focus {
  color: #738d94 !important;
}

@media (max-width: 768px) {
  .blog .content-area,
  .archive .content-area,
  .search .content-area {
    grid-template-columns: 1fr;
    gap: 36px;
    padding-top: 44px;
    padding-bottom: 52px;
  }

  .content-area > .type-post {
    margin-bottom: 44px;
  }

  .entry-featured-image {
    margin-bottom: 28px;
  }
}


/* In the specific sentence (font-muli block), keep Agave consistently */
.font-muli a,
.font-muli a:link,
.font-muli a:visited {
  color: #d3a794;            /* show Agave even before hover */
  text-decoration: underline;
}
.font-muli a:hover,
.font-muli a:focus,
.font-muli a:active {
  color: #738d94;            /* remain Agave on highlight */
  text-decoration: none;
}

/* Wellness service cards: keep all text white until hover, then invert. */
.services-section .pill-item,
.services-section .pill-item *,
.services-section .pill-item h1,
.services-section .pill-item h2,
.services-section .pill-item h3,
.services-section .pill-item h4,
.services-section .pill-item p,
.services-section .pill-item p *,
.services-section .pill-item span,
.services-section .pill-item span *,
.services-section .pill-item i {
  color: #ffffff !important;
}

.services-section .pill-item:hover,
.services-section .pill-item:hover *,
.services-section .pill-item:hover h1,
.services-section .pill-item:hover h2,
.services-section .pill-item:hover h3,
.services-section .pill-item:hover h4,
.services-section .pill-item:hover p,
.services-section .pill-item:hover p *,
.services-section .pill-item:hover span,
.services-section .pill-item:hover span *,
.services-section .pill-item:hover i {
  color: #738d94 !important;
}

/* Skin clinic treatment carousel buttons: start white, then invert. */
.services-carousel .service-card a.btn,
.services-carousel .service-card .btn,
.services-carousel a.btn {
  background: #738d94 !important;
  border: 2px solid #738d94 !important;
  color: #ffffff !important;
}

.services-carousel .service-card a.btn:hover,
.services-carousel .service-card .btn:hover,
.services-carousel a.btn:hover,
.services-carousel .service-card:hover a.btn,
.services-carousel .service-card:hover .btn {
  background: #ffffff !important;
  border-color: #738d94 !important;
  color: #738d94 !important;
}

body.page-id-115 .expect-steps-timeline .est-badge {
  display: none !important;
}

body.page-id-115 .expect-steps-timeline .est-circle-wrap {
  padding-top: 0;
}

body.page-id-115 .vnhc-contact-card {
  padding-top: 0 !important;
}

body.page-id-115 .vnhc-contact-card::before {
  content: none !important;
  display: none !important;
}

body.page-id-115 .vc_custom_1783259018044,
body.page-id-115 .vnhc-contact-circles,
body.page-id-115 .vnhc-contact-icon,
body.page-id-115 .vnhc-contact-map {
  background: transparent !important;
  background-color: transparent !important;
}

body.page-id-66 .icon-block__circle {
  width: 84px !important;
  height: 84px !important;
}

body.page-id-66 .icon-block__img {
  display: block !important;
  width: 62px !important;
  height: 62px !important;
  max-width: 62px !important;
  max-height: 62px !important;
  object-fit: contain !important;
}

body.page-id-66 .vc_custom_1773866873762 {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up {
  width: 100%;
  max-width: 1320px;
  margin: 30px auto 36px;
  padding: 0 54px 34px;
  overflow: visible;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .carousel-container {
  display: flex;
  align-items: center;
  position: relative;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .carousel-wrapper {
  flex: 1;
  overflow: hidden;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .carousel-track {
  display: flex !important;
  gap: 48px;
  align-items: flex-start;
  transition: transform 520ms ease;
  will-change: transform;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .service-card {
  flex: 0 0 calc((100% - 192px) / 5) !important;
  padding: 0 0 18px !important;
  min-width: 0;
  box-sizing: border-box;
  text-align: center;
  transform: none !important;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .service-card img {
  display: block;
  width: 150px !important;
  height: 150px !important;
  margin: 0 auto 24px !important;
  border: 3px solid #e6e6e6;
  border-radius: 50%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .service-card:hover img {
  transform: scale(1.06);
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .btn,
body.page-id-66 .services-carousel.vnhc-skin-five-up a.btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 194px;
  min-height: 48px;
  padding: 12px 18px !important;
  border: 2px solid #99b4ab !important;
  border-radius: 999px !important;
  background: #99b4ab !important;
  color: #ffffff !important;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.1;
  text-align: center;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: 0 10px 24px rgba(153, 180, 171, 0.18);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .btn:hover,
body.page-id-66 .services-carousel.vnhc-skin-five-up .service-card:hover .btn {
  border-color: #99b4ab !important;
  background: #99b4ab !important;
  color: #ffffff !important;
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(153, 180, 171, 0.24);
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin-top: 12px;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .carousel-btn {
  position: static !important;
  inset: auto !important;
  z-index: 5;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 48px !important;
  height: 48px !important;
  padding: 0 !important;
  border: 1px solid rgba(115, 141, 148, 0.45) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #738d94 !important;
  font-size: 32px !important;
  cursor: pointer;
  transform: none !important;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .carousel-btn:hover {
  border-color: #99b4ab !important;
  background: #99b4ab !important;
  color: #ffffff !important;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .carousel-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 0;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .carousel-dots button {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #d5dedb !important;
  cursor: pointer;
}

body.page-id-66 .services-carousel.vnhc-skin-five-up .carousel-dots button.active {
  background: #738d94 !important;
}

.vnhc-testimonials-btn {
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}

.vnhc-testimonials-btn:hover,
.vnhc-testimonials-btn:focus {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(115, 141, 148, 0.18) !important;
}

body.home .testing-section .vc_btn_cream .vc_btn3.vc_btn3-style-book {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #738d94 !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}

body.home .testing-section .vc_btn_cream .vc_btn3.vc_btn3-style-book:hover,
body.home .testing-section .vc_btn_cream .vc_btn3.vc_btn3-style-book:focus {
  background-color: #738d94 !important;
  border-color: #738d94 !important;
  color: #ffffff !important;
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(255, 255, 255, 0.22) !important;
}

@media (max-width: 1100px) {
  body.page-id-66 .services-carousel.vnhc-skin-five-up .carousel-track {
    gap: 36px;
  }

  body.page-id-66 .services-carousel.vnhc-skin-five-up .service-card {
    flex-basis: calc((100% - 72px) / 3) !important;
  }
}

@media (max-width: 760px) {
  body.page-id-66 .services-carousel.vnhc-skin-five-up {
    padding-right: 42px;
    padding-left: 42px;
  }

  body.page-id-66 .services-carousel.vnhc-skin-five-up .carousel-track {
    gap: 24px;
  }

  body.page-id-66 .services-carousel.vnhc-skin-five-up .service-card {
    flex-basis: calc((100% - 24px) / 2) !important;
  }
}

@media (max-width: 520px) {
  body.page-id-66 .services-carousel.vnhc-skin-five-up .service-card {
    flex-basis: 100% !important;
  }
}

/* Blog listing sidebar and pagination. Scoped to listing views only. */
.blog .blog-layout,
.archive .blog-layout,
.search .blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 44px;
  align-items: start;
  max-width: 1140px;
  padding-top: 64px;
  padding-bottom: 72px;
}

.blog .blog-layout .content-area,
.archive .blog-layout .content-area,
.search .blog-layout .content-area {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.blog .blog-sidebar,
.archive .blog-sidebar,
.search .blog-sidebar {
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 100%;
}

.blog-sidebar .screen-reader-text,
.blog .blog-posts-grid > .navigation.pagination > .screen-reader-text,
.archive .blog-posts-grid > .navigation.pagination > .screen-reader-text,
.search .blog-posts-grid > .navigation.pagination > .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.blog .blog-search-form,
.archive .blog-search-form,
.search .blog-search-form {
  display: flex;
  align-items: stretch;
  width: 100%;
  gap: 8px;
}

.blog .blog-search-form input[type="search"],
.archive .blog-search-form input[type="search"],
.search .blog-search-form input[type="search"] {
  min-width: 0;
  flex: 1;
  height: 42px;
  padding: 0 14px;
  border: 1px solid #99b4ab;
  border-radius: 999px;
  color: #738d94;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif;
  font-size: 16px;
}

.blog .blog-search-form button,
.archive .blog-search-form button,
.search .blog-search-form button {
  height: 42px;
  flex: 0 0 auto;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: #738d94;
  color: #fcf2eb;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(58, 79, 97, 0.12);
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.blog .blog-search-form button:hover,
.blog .blog-search-form button:focus,
.archive .blog-search-form button:hover,
.archive .blog-search-form button:focus,
.search .blog-search-form button:hover,
.search .blog-search-form button:focus {
  background: #fcf2eb;
  color: #738d94;
  transform: translateY(-1px);
}

.blog .blog-newsletter-widget,
.archive .blog-newsletter-widget,
.search .blog-newsletter-widget {
  background: #99b4ab;
  padding: 34px 24px 28px;
  color: #ffffff;
  text-align: center;
}

.blog .blog-newsletter-widget h2,
.archive .blog-newsletter-widget h2,
.search .blog-newsletter-widget h2 {
  margin: 0 0 20px;
  color: #ffffff !important;
  font-family: 'Crimson Text', Georgia, serif !important;
  font-size: 29px;
  line-height: 1.1;
}

.blog .blog-newsletter-leaf,
.archive .blog-newsletter-leaf,
.search .blog-newsletter-leaf {
  display: block;
  width: 76px;
  height: auto;
  margin: 0 auto 14px;
}

.blog .blog-newsletter-widget p,
.archive .blog-newsletter-widget p,
.search .blog-newsletter-widget p {
  max-width: 220px;
  margin: 0 auto 26px;
  color: #ffffff;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.32;
}

.blog .blog-newsletter-form,
.archive .blog-newsletter-form,
.search .blog-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.blog .blog-newsletter-form input[type="email"],
.archive .blog-newsletter-form input[type="email"],
.search .blog-newsletter-form input[type="email"] {
  width: 100%;
  height: 46px;
  padding: 0 11px;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  color: #738d94;
  font-size: 17px;
}

.blog .blog-newsletter-form button,
.archive .blog-newsletter-form button,
.search .blog-newsletter-form button {
  height: 46px;
  border: 0;
  border-radius: 999px;
  background: #fcf2eb;
  background-image: none;
  color: #738d94;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: none;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.blog .blog-newsletter-form button:hover,
.blog .blog-newsletter-form button:focus,
.archive .blog-newsletter-form button:hover,
.archive .blog-newsletter-form button:focus,
.search .blog-newsletter-form button:hover,
.search .blog-newsletter-form button:focus {
  background: #738d94;
  background-image: none;
  color: #fcf2eb;
  box-shadow: none;
  transform: translateY(-1px);
}

.blog .blog-newsletter-honeypot,
.archive .blog-newsletter-honeypot,
.search .blog-newsletter-honeypot {
  position: absolute;
  left: -5000px;
}

.blog .blog-categories-widget,
.archive .blog-categories-widget,
.search .blog-categories-widget {
  background: #738d94;
  padding: 32px 20px;
  text-align: center;
}

.blog .blog-categories-widget h2,
.archive .blog-categories-widget h2,
.search .blog-categories-widget h2 {
  margin: 0 0 18px;
  color: #fcf2eb !important;
  font-family: 'TT Norms Pro', 'Muli', Arial, sans-serif !important;
  font-size: 23px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.blog .blog-categories-widget ul,
.archive .blog-categories-widget ul,
.search .blog-categories-widget ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.blog .blog-categories-widget li,
.archive .blog-categories-widget li,
.search .blog-categories-widget li {
  margin: 0;
  border-bottom: 1px solid rgba(252, 242, 235, 0.45);
}

.blog .blog-categories-widget li:last-child,
.archive .blog-categories-widget li:last-child,
.search .blog-categories-widget li:last-child {
  border-bottom: 0;
}

.blog .blog-categories-widget a,
.archive .blog-categories-widget a,
.search .blog-categories-widget a {
  display: block;
  padding: 8px 4px 7px;
  color: #fcf2eb;
  font-size: 16px;
  line-height: 1.25;
  text-decoration: none;
  text-transform: uppercase;
}

.blog .blog-categories-widget a:hover,
.blog .blog-categories-widget a:focus,
.archive .blog-categories-widget a:hover,
.archive .blog-categories-widget a:focus,
.search .blog-categories-widget a:hover,
.search .blog-categories-widget a:focus {
  background: rgba(252, 242, 235, 0.16);
  color: #ffffff;
}

.blog .blog-posts-grid > .navigation.pagination,
.archive .blog-posts-grid > .navigation.pagination,
.search .blog-posts-grid > .navigation.pagination {
  grid-column: 1 / -1;
  margin-top: 4px;
}

.blog .navigation.pagination .nav-links,
.archive .navigation.pagination .nav-links,
.search .navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.blog .navigation.pagination .page-numbers,
.archive .navigation.pagination .page-numbers,
.search .navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #738d94;
  border-radius: 999px;
  color: #738d94;
  text-decoration: none;
}

.blog .navigation.pagination .page-numbers.current,
.blog .navigation.pagination a.page-numbers:hover,
.blog .navigation.pagination a.page-numbers:focus,
.archive .navigation.pagination .page-numbers.current,
.archive .navigation.pagination a.page-numbers:hover,
.archive .navigation.pagination a.page-numbers:focus,
.search .navigation.pagination .page-numbers.current,
.search .navigation.pagination a.page-numbers:hover,
.search .navigation.pagination a.page-numbers:focus {
  background: #738d94;
  color: #ffffff;
}

@media (max-width: 980px) {
  .blog .blog-layout,
  .archive .blog-layout,
  .search .blog-layout {
    grid-template-columns: 1fr;
    gap: 42px;
    padding-top: 44px;
    padding-bottom: 52px;
  }

  .blog .blog-sidebar,
  .archive .blog-sidebar,
  .search .blog-sidebar {
    max-width: 360px;
    margin: 0 auto;
  }
}
