/*
Theme Name: Naturopharma Premium
Theme URI: https://www.naturopharma.net/
Author: Naturopharma
Description: Thème e-commerce premium Naturopharma pour WordPress et WooCommerce.
Version: 2.5.2
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: naturopharma-premium
Tags: e-commerce, woocommerce, responsive
*/

:root {
  --np-green: #5ca65e;
  --np-green-dark: #2e7a45;
  --np-green-deep: #12331f;
  --np-green-bright: #7cc244;
  --np-green-soft: #e6f7e5;
  --np-green-pale: #f5fbf3;
  --np-blue: #8ed0e6;
  --np-blue-soft: #eef9fd;
  --np-red: #e54a32;
  --np-cream: #faf9f5;
  --np-sand: #f2f0ea;
  --np-white: #fff;
  --np-ink: #303431;
  --np-black: #161a17;
  --np-muted: #626b65;
  --np-light: #969d98;
  --np-line: #e4e1d9;
  --np-shadow: 0 18px 55px rgba(20, 45, 30, 0.09);
  --np-shadow-soft: 0 10px 30px rgba(20, 45, 30, 0.06);
  --np-sans:
    system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial,
    sans-serif;
  --np-display:
    system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial,
    sans-serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-family: var(--np-sans);
  background: var(--np-cream);
  color: var(--np-black);
  line-height: 1.62;
  overflow-x: hidden;
}
img {
  max-width: 100%;
  height: auto;
}
a {
  color: inherit;
}
.screen-reader-text {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
}
.np-container {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}
.np-eyebrow {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--np-green-dark);
  font-weight: 800;
  margin-bottom: 12px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--np-display);
  color: var(--np-ink);
  letter-spacing: -0.02em;
  line-height: 1.12;
}
h1 {
  font-size: clamp(30px, 3.4vw, 44px);
  font-weight: 500;
  text-transform: none;
}
h2 {
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight: 500;
  text-transform: none;
}
h3 {
  font-size: 19px;
  font-weight: 500;
}
p {
  color: var(--np-muted);
}
.np-btn,
.button,
button.button,
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 6px;
  padding: 13px 22px;
  border: 1px solid transparent;
  font-weight: 800;
  font-size: 13px;
  line-height: 1;
  text-decoration: none !important;
  transition: 0.2s ease;
  cursor: pointer;
}
.np-btn-primary,
.button,
button.button,
input[type="submit"] {
  background: var(--np-green) !important;
  color: white !important;
  box-shadow: 0 10px 24px rgba(92, 166, 94, 0.2);
}
.np-btn-primary:hover,
.button:hover,
button.button:hover,
input[type="submit"]:hover {
  background: var(--np-green-dark) !important;
  transform: translateY(-1px);
}
.np-btn-outline {
  background: white;
  border-color: #b9ddb7;
  color: var(--np-green-dark) !important;
}
.np-btn-outline:hover {
  background: var(--np-green-pale);
  border-color: var(--np-green);
}
.np-link {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font-weight: 800;
  font-size: 13px;
  color: var(--np-green-dark);
  text-decoration: none;
}
.np-link::after {
  content: "→";
  transition: 0.2s;
}
.np-link:hover::after {
  transform: translateX(4px);
}
.np-footer {
  background: white;
  padding: 56px 0 26px;
  border-top: 1px solid var(--np-line);
}
.np-footer-grid {
  display: grid;
  grid-template-columns: 1.25fr 1.4fr 0.95fr;
  gap: 60px;
}
.np-footer-title {
  font-size: 24px;
  font-weight: 650;
  color: var(--np-green-bright);
  text-transform: none;
  margin-bottom: 16px;
  font-family: var(--np-display);
}
.np-footer p,
.np-footer a {
  font-size: 15px;
  color: #4e5550;
  line-height: 1.75;
}
.np-footer-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
}
.np-footer-nav a {
  text-decoration: none;
}
.np-footer-nav a::before {
  content: "›";
  color: var(--np-green);
  font-weight: 900;
  margin-right: 10px;
}
.np-footer h4 {
  font-size: 16px;
  color: #929892;
  margin: 0 0 14px;
  text-transform: uppercase;
  font-family: var(--np-display);
}
.np-footer-bottom {
  text-align: center;
  border-top: 1px solid var(--np-line);
  margin-top: 40px;
  padding-top: 22px;
  color: #999;
  font-size: 13px;
}
.np-page-content {
  padding: 74px 0;
  background: white;
}
.np-page-content .entry-content {
  max-width: 920px;
}
.woocommerce ul.products li.product {
  text-align: center;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--np-display);
  font-size: 23px;
  color: #4a4a4a;
  text-transform: none;
}
.woocommerce div.product .product_title {
  font-family: var(--np-display);
  font-size: 44px;
  color: var(--np-ink);
}
.woocommerce .price {
  color: var(--np-green) !important;
  font-weight: 900;
}
.woocommerce span.onsale {
  background: var(--np-red);
  font-weight: 900;
}
@media (max-width: 1050px) {
  .np-footer-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .np-container {
    width: min(100% - 28px, 1180px);
  }
  .np-footer-nav {
    grid-template-columns: 1fr;
  }
}
:root {
  --np-display:
    system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial,
    sans-serif;
}
body {
  font-family: var(--np-sans);
  background: #fbfaf6;
  color: #171b18;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--np-sans) !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
}
h1 {
  font-size: clamp(30px, 3.2vw, 44px) !important;
  line-height: 1.1 !important;
  font-weight: 500 !important;
}
h2 {
  font-size: clamp(24px, 2.35vw, 34px) !important;
  line-height: 1.16 !important;
  font-weight: 500 !important;
}
h3 {
  font-size: 19px !important;
  line-height: 1.24 !important;
  font-weight: 500 !important;
}
.np-footer-title {
  text-transform: none !important;
  font-size: 22px !important;
}
.np-btn {
  font-weight: 700 !important;
  border-radius: 7px !important;
}
.np-footer-v113 {
  margin-top: 72px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(92, 166, 94, 0.16), transparent 32%),
    linear-gradient(180deg, #fbfaf6 0%, #f5f3eb 100%) !important;
  border-top: 1px solid rgba(214, 204, 187, 0.72) !important;
  color: #1b211d !important;
}
.np-footer-v113-inner {
  width: min(1380px, calc(100vw - 72px)) !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 58px 0 42px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) 0.75fr 0.85fr 1fr !important;
  gap: 44px !important;
}
.np-footer-v113-logo img,
.np-footer-v113 .custom-logo {
  max-width: 270px !important;
  height: auto !important;
}
.np-footer-v113-name {
  display: inline-block !important;
  color: #151b17 !important;
  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: -0.018em !important;
  text-decoration: none !important;
}
.np-footer-v113-baseline {
  max-width: 430px !important;
  margin: 22px 0 0 !important;
  color: #607066 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}
.np-footer-v113-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 24px !important;
}
.np-footer-v113-badges span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(92, 166, 94, 0.22) !important;
  background: #fff !important;
  color: #1e2a22 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}
.np-footer-v113-col h2 {
  margin: 0 0 18px !important;
  color: #151b17 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.13em !important;
  font-weight: 500 !important;
}
.np-footer-v113-col a {
  display: block !important;
  margin: 0 0 12px !important;
  color: #526159 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}
.np-footer-v113-col a:hover {
  color: #2f8045 !important;
}
.np-footer-v113-col p {
  margin: 0 0 14px !important;
  color: #607066 !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
}
.np-footer-v113-address {
  font-weight: 800 !important;
  color: #1c231f !important;
}
.np-footer-v113-bottom {
  width: min(1380px, calc(100vw - 72px)) !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 20px 0 26px !important;
  border-top: 1px solid rgba(214, 204, 187, 0.72) !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  color: #6b766f !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}
@media (max-width: 1080px) {
  .np-footer-v113-inner {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 720px) {
  .np-footer-v113-inner,
  .np-footer-v113-bottom {
    width: min(100vw - 28px, 1380px) !important;
  }
  .np-footer-v113-inner {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding-top: 42px !important;
  }
  .np-footer-v113-bottom {
    flex-direction: column !important;
  }
}
body.np-blog-premium-v113 {
  background:
    radial-gradient(circle at 92% 5%, rgba(92, 166, 94, 0.12), transparent 30%),
    linear-gradient(180deg, #fbfaf6 0%, #fff 58%, #fbfaf6 100%) !important;
}
body.np-blog-premium-v113 .site,
body.np-blog-premium-v113 .site-content,
body.np-blog-premium-v113 .content-area,
body.np-blog-premium-v113 .site-main,
body.np-blog-premium-v113 main,
body.np-blog-premium-v113 article,
body.np-blog-premium-v113 .entry-content,
body.np-blog-premium-v113 .page-content,
body.np-blog-premium-v113 .container,
body.np-blog-premium-v113 .wrap {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}
.np-blog-v113 {
  width: 100% !important;
  overflow: hidden !important;
}
.np-blog-v113-hero,
.np-blog-v113-content {
  width: min(1380px, calc(100vw - 72px)) !important;
  max-width: 1380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.np-blog-v113-hero {
  margin-top: 34px !important;
  margin-bottom: 34px !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  border-radius: 34px !important;
  background:
    radial-gradient(
      circle at 96% 12%,
      rgba(92, 166, 94, 0.16),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.96),
      rgba(248, 251, 245, 0.86)
    ) !important;
  box-shadow: 0 24px 72px rgba(29, 57, 38, 0.08) !important;
}
.np-blog-v113-hero-inner {
  max-width: 920px !important;
  padding: 56px 62px !important;
}
.np-blog-v113-kicker {
  display: block !important;
  color: #2f8045 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  font-weight: 600 !important;
  margin-bottom: 14px !important;
}
.np-blog-v113-hero h1 {
  margin: 0 !important;
  color: #151b17 !important;
  font-size: clamp(34px, 3.8vw, 52px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.025em !important;
  font-weight: 500 !important;
}
.np-blog-v113-hero p {
  max-width: 820px !important;
  margin: 22px 0 0 !important;
  color: #56625a !important;
  font-size: 19px !important;
  line-height: 1.58 !important;
}
.np-blog-v113-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 28px !important;
}
.np-blog-v113-pills span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(92, 166, 94, 0.22) !important;
  background: #f4fbf1 !important;
  color: #1e2a22 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}
.np-blog-v113-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}
.np-blog-v113-card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  border-radius: 30px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 20px 58px rgba(29, 57, 38, 0.07) !important;
  overflow: hidden !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease !important;
}
.np-blog-v113-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(92, 166, 94, 0.32) !important;
  box-shadow: 0 26px 72px rgba(29, 57, 38, 0.11) !important;
}
.np-blog-v113-media {
  min-height: 230px !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(
      circle at 50% 42%,
      rgba(92, 166, 94, 0.08),
      transparent 42%
    ),
    #fbfaf6 !important;
  text-decoration: none !important;
  overflow: hidden !important;
}
.np-blog-v113-media img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.18s ease !important;
}
.np-blog-v113-card:hover .np-blog-v113-media img {
  transform: scale(1.035) !important;
}
.np-blog-v113-media-fallback {
  color: #2f8045 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-weight: 600 !important;
}
.np-blog-v113-card-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 25px 25px 27px !important;
}
.np-blog-v113-meta {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
  color: #2f8045 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-weight: 600 !important;
}
.np-blog-v113-card h2 {
  margin: 0 !important;
  color: #151b17 !important;
  font-size: 25px !important;
  line-height: 1.12 !important;
  letter-spacing: -0.016em !important;
  font-weight: 500 !important;
}
.np-blog-v113-card h2 a {
  color: inherit !important;
  text-decoration: none !important;
}
.np-blog-v113-card p {
  margin: 14px 0 0 !important;
  color: #607066 !important;
  font-size: 15px !important;
  line-height: 1.58 !important;
}
.np-blog-v113-read {
  margin-top: auto !important;
  padding-top: 22px !important;
  color: #2f8045 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.np-blog-v113-pagination {
  margin-top: 46px !important;
}
.np-blog-v113-pagination .nav-links {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
}
.np-blog-v113-pagination a,
.np-blog-v113-pagination span {
  min-width: 42px !important;
  min-height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  background: #fff !important;
  color: #151b17 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
}
.np-blog-v113-pagination .current {
  background: #5ca65e !important;
  color: #fff !important;
  border-color: #5ca65e !important;
}
.np-blog-v113-empty {
  padding: 42px !important;
  border-radius: 26px !important;
  background: #fff !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
}
@media (max-width: 1180px) {
  .np-blog-v113-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 720px) {
  .np-blog-v113-hero,
  .np-blog-v113-content {
    width: min(100vw - 28px, 1380px) !important;
  }
  .np-blog-v113-hero-inner {
    padding: 36px 24px !important;
  }
  .np-blog-v113-hero h1 {
    font-size: 40px !important;
  }
  .np-blog-v113-hero p {
    font-size: 17px !important;
  }
  .np-blog-v113-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
}
.np-footer-v116-logo-wrap {
  display: block !important;
  margin: 0 0 4px !important;
}
body.page-template-page-blog-premium,
body.np-blog-template-v116 {
  background:
    radial-gradient(circle at 92% 5%, rgba(92, 166, 94, 0.12), transparent 30%),
    linear-gradient(180deg, #fbfaf6 0%, #fff 58%, #fbfaf6 100%) !important;
}
body.page-template-page-blog-premium .site,
body.page-template-page-blog-premium .site-content,
body.page-template-page-blog-premium .content-area,
body.page-template-page-blog-premium .site-main,
body.page-template-page-blog-premium main,
body.page-template-page-blog-premium article,
body.page-template-page-blog-premium .entry-content,
body.page-template-page-blog-premium .page-content,
body.page-template-page-blog-premium .container,
body.page-template-page-blog-premium .wrap {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}
body.page-template-page-blog-premium .entry-header,
body.page-template-page-blog-premium .entry-title {
  display: none !important;
}
@media (max-width: 720px) {
  .np-footer-v116-logo-img,
  .np-footer-v116-logo-wrap img {
    max-width: 260px !important;
  }
}
.np-blog-v119-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 30px !important;
}
.np-blog-v119-cats a {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(92, 166, 94, 0.22) !important;
  background: #fff !important;
  color: #1e2a22 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(29, 57, 38, 0.04) !important;
}
.np-blog-v119-cats a:hover,
.np-blog-v119-cats a.is-active {
  background: #5ca65e !important;
  border-color: #5ca65e !important;
  color: #fff !important;
}
.np-blog-v119-pagination {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 48px auto 0 !important;
}
.np-blog-v119-pagination .page-numbers {
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  background: #fff !important;
  color: #151b17 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(29, 57, 38, 0.04) !important;
}
.np-blog-v119-pagination .page-numbers.current {
  background: #5ca65e !important;
  border-color: #5ca65e !important;
  color: #fff !important;
}
.np-blog-v119-pagination .page-numbers.dots {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  min-width: 22px !important;
  padding: 0 !important;
}
.np-blog-v119-pagination .page-numbers.prev,
.np-blog-v119-pagination .page-numbers.next {
  min-width: 48px !important;
}
.np-blog-v113-pagination {
  display: none !important;
}
@media (max-width: 720px) {
  .np-blog-v119-cats {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding-bottom: 8px !important;
    scrollbar-width: none !important;
  }
  .np-blog-v119-cats::-webkit-scrollbar {
    display: none !important;
  }
  .np-blog-v119-cats a {
    flex: 0 0 auto !important;
  }
  .np-blog-v119-pagination {
    gap: 8px !important;
  }
  .np-blog-v119-pagination .page-numbers {
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
  }
}
body.np-single-post-v120 {
  background:
    radial-gradient(circle at 92% 5%, rgba(92, 166, 94, 0.1), transparent 30%),
    linear-gradient(180deg, #fbfaf6 0%, #fff 58%, #fbfaf6 100%) !important;
}
body.np-single-post-v120 .site,
body.np-single-post-v120 .site-content,
body.np-single-post-v120 .content-area,
body.np-single-post-v120 .site-main,
body.np-single-post-v120 main,
body.np-single-post-v120 article,
body.np-single-post-v120 .entry-content,
body.np-single-post-v120 .page-content,
body.np-single-post-v120 .container,
body.np-single-post-v120 .wrap {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}
.np-single-v120 {
  width: 100% !important;
  overflow: hidden !important;
}
.np-single-v120-article {
  width: min(1160px, calc(100vw - 72px)) !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
}
.np-single-v120-hero {
  padding: 44px 0 26px !important;
}
.np-single-v120-back,
.np-single-v120-footer a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(92, 166, 94, 0.22) !important;
  background: #fff !important;
  color: #237b3e !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(29, 57, 38, 0.04) !important;
}
.np-v120-single-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin: 26px 0 22px !important;
}
.np-single-v120 h1 {
  max-width: 1040px !important;
  margin: 0 !important;
  color: #202521 !important;
  font-size: clamp(32px, 3.6vw, 50px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.025em !important;
  font-weight: 500 !important;
}
.np-single-v120-meta {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  margin-top: 22px !important;
  color: #607066 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.np-single-v120-meta span::before {
  content: "•" !important;
  margin-right: 12px !important;
  color: #9aa69f !important;
}
.np-single-v120-image {
  margin: 34px 0 0 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  background: #fbfaf6 !important;
  box-shadow: 0 24px 72px rgba(29, 57, 38, 0.08) !important;
}
.np-single-v120-image img {
  width: 100% !important;
  max-height: 640px !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
}
.np-single-v120-content {
  width: min(860px, 100%) !important;
  margin: 42px auto 0 !important;
  color: #2b332e !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
}
.np-single-v120-content p {
  margin: 0 0 1.35em !important;
}
.np-single-v120-content h2,
.np-single-v120-content h3 {
  color: #151b17 !important;
  letter-spacing: -0.016em !important;
  line-height: 1.12 !important;
  font-weight: 500 !important;
  margin: 1.65em 0 0.65em !important;
}
.np-single-v120-content h2 {
  font-size: 38px !important;
}
.np-single-v120-content h3 {
  font-size: 28px !important;
}
.np-single-v120-content a {
  color: #2f8045 !important;
  font-weight: 650 !important;
}
.np-single-v120-footer {
  width: min(860px, 100%) !important;
  margin: 46px auto 0 !important;
  padding-top: 26px !important;
  border-top: 1px solid rgba(214, 204, 187, 0.72) !important;
}
@media (max-width: 720px) {
  .np-single-v120-article {
    width: min(100vw - 28px, 1160px) !important;
  }
  .np-single-v120 h1 {
    font-size: 40px !important;
  }
  .np-single-v120-content {
    font-size: 17px !important;
  }
  .np-single-v120-content h2 {
    font-size: 30px !important;
  }
  .np-single-v120-content h3 {
    font-size: 24px !important;
  }
}
body.np-single-post-v120,
body.single-post {
  background:
    radial-gradient(circle at 92% 5%, rgba(92, 166, 94, 0.1), transparent 30%),
    linear-gradient(180deg, #fbfaf6 0%, #fff 58%, #fbfaf6 100%) !important;
}
body.single-post .site,
body.single-post .site-content,
body.single-post .content-area,
body.single-post .site-main,
body.single-post main,
body.single-post article,
body.single-post .entry-content,
body.single-post .page-content,
body.single-post .container,
body.single-post .wrap {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}
.np-single-v121 {
  width: 100% !important;
  overflow: hidden !important;
}
.np-single-v121-article {
  width: min(1240px, calc(100vw - 72px)) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}
.np-single-v121-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.78fr) !important;
  gap: 46px !important;
  align-items: center !important;
  padding: 46px 0 40px !important;
}
.np-single-v121-back,
.np-single-v121-footer a,
.np-single-v121-card a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(92, 166, 94, 0.22) !important;
  background: #fff !important;
  color: #237b3e !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(29, 57, 38, 0.04) !important;
}
.np-v120-single-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin: 24px 0 18px !important;
}
.np-v120-single-cats a {
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  background: #f4fbf1 !important;
  border: 1px solid rgba(92, 166, 94, 0.22) !important;
  color: #2f8045 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.np-single-v121 h1 {
  max-width: 760px !important;
  margin: 0 !important;
  color: #202521 !important;
  font-size: clamp(32px, 3.5vw, 48px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.025em !important;
  font-weight: 500 !important;
}
.np-single-v121-intro {
  max-width: 720px !important;
  margin: 22px 0 0 !important;
  color: #56625a !important;
  font-size: 20px !important;
  line-height: 1.58 !important;
}
.np-single-v121-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin-top: 24px !important;
}
.np-single-v121-meta time,
.np-single-v121-meta span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  color: #607066 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}
.np-single-v121-image {
  margin: 0 !important;
  border-radius: 32px !important;
  overflow: hidden !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  background: #fbfaf6 !important;
  box-shadow: 0 24px 72px rgba(29, 57, 38, 0.1) !important;
}
.np-single-v121-image img {
  width: 100% !important;
  height: 480px !important;
  display: block !important;
  object-fit: cover !important;
}
.np-single-v121-layout {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 820px) !important;
  gap: 56px !important;
  align-items: start !important;
  justify-content: center !important;
  margin-top: 28px !important;
}
.np-single-v121-aside {
  position: sticky !important;
  top: 120px !important;
}
.np-single-v121-card {
  padding: 24px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  background: #fff !important;
  box-shadow: 0 18px 50px rgba(29, 57, 38, 0.06) !important;
}
.np-single-v121-card > span,
.np-single-v121-kicker {
  display: block !important;
  color: #2f8045 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
}
.np-single-v121-card strong {
  display: block !important;
  color: #151b17 !important;
  font-size: 25px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.018em !important;
  font-weight: 600 !important;
}
.np-single-v121-card p {
  margin: 12px 0 18px !important;
  color: #607066 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
.np-single-v121-content {
  color: #2b332e !important;
  font-size: 19px !important;
  line-height: 1.82 !important;
}
.np-single-v121-content > *:first-child {
  margin-top: 0 !important;
}
.np-single-v121-content p {
  margin: 0 0 1.35em !important;
}
.np-single-v121-content h2,
.np-single-v121-content h3 {
  color: #151b17 !important;
  letter-spacing: -0.016em !important;
  line-height: 1.12 !important;
  font-weight: 500 !important;
  margin: 1.65em 0 0.65em !important;
}
.np-single-v121-content h2 {
  font-size: 38px !important;
}
.np-single-v121-content h3 {
  font-size: 28px !important;
}
.np-single-v121-content ul,
.np-single-v121-content ol {
  margin: 0 0 1.4em 1.25em !important;
  padding: 0 !important;
}
.np-single-v121-content li {
  margin: 0.42em 0 !important;
}
.np-single-v121-content a {
  color: #2f8045 !important;
  font-weight: 650 !important;
}
.np-single-v121-content blockquote {
  margin: 2em 0 !important;
  padding: 24px 28px !important;
  border-left: 4px solid #5ca65e !important;
  border-radius: 18px !important;
  background: #f4fbf1 !important;
  color: #1f2a23 !important;
  font-size: 21px !important;
  line-height: 1.55 !important;
  font-weight: 750 !important;
}
.np-single-v121-related {
  margin-top: 64px !important;
  padding-top: 40px !important;
  border-top: 1px solid rgba(214, 204, 187, 0.72) !important;
}
.np-single-v121-related h2 {
  margin: 0 0 22px !important;
  color: #151b17 !important;
  font-size: 40px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  font-weight: 500 !important;
}
.np-single-v121-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
}
.np-single-v121-related-card a {
  display: block !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  background: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 18px 50px rgba(29, 57, 38, 0.06) !important;
}
.np-single-v121-related-card img {
  width: 100% !important;
  height: 170px !important;
  display: block !important;
  object-fit: cover !important;
  background: #fbfaf6 !important;
}
.np-single-v121-related-card strong {
  display: block !important;
  padding: 18px 18px 6px !important;
  color: #151b17 !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.018em !important;
  font-weight: 600 !important;
}
.np-single-v121-related-card span {
  display: block !important;
  padding: 0 18px 18px !important;
  color: #2f8045 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}
.np-single-v121-footer {
  margin: 48px 0 0 !important;
  padding-top: 26px !important;
  border-top: 1px solid rgba(214, 204, 187, 0.72) !important;
}
@media (max-width: 1080px) {
  .np-single-v121-hero {
    grid-template-columns: 1fr !important;
  }
  .np-single-v121-image img {
    height: auto !important;
    max-height: 560px !important;
  }
  .np-single-v121-layout {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  .np-single-v121-aside {
    position: static !important;
  }
  .np-single-v121-related-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 920px) {
  .np-wp-mega-desc {
    font-size: 14px !important;
  }
}
@media (max-width: 720px) {
  .np-single-v121-article {
    width: min(100vw - 28px, 1240px) !important;
  }
  .np-single-v121 h1 {
    font-size: 38px !important;
  }
  .np-single-v121-intro {
    font-size: 17px !important;
  }
  .np-single-v121-content {
    font-size: 17px !important;
  }
  .np-single-v121-content h2 {
    font-size: 30px !important;
  }
  .np-single-v121-content h3 {
    font-size: 24px !important;
  }
}
body.np-single-post-v123,
body.single-post {
  background:
    radial-gradient(circle at 94% 4%, rgba(92, 166, 94, 0.1), transparent 30%),
    linear-gradient(180deg, #fbfaf6 0%, #fff 55%, #fbfaf6 100%) !important;
  overflow-x: hidden !important;
}
body.np-single-post-v123 .site,
body.np-single-post-v123 .site-content,
body.np-single-post-v123 .content-area,
body.np-single-post-v123 .site-main,
body.np-single-post-v123 main,
body.np-single-post-v123 article,
body.np-single-post-v123 .entry-content,
body.np-single-post-v123 .page-content,
body.np-single-post-v123 .container,
body.np-single-post-v123 .wrap,
body.single-post .site,
body.single-post .site-content,
body.single-post .content-area,
body.single-post .site-main {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
.np-single-v123 {
  width: 100% !important;
  max-width: none !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.np-single-v123-article {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
.np-single-v123-shell {
  width: min(1120px, calc(100vw - 160px)) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
.np-single-v123-hero-shell {
  padding-top: 52px !important;
  padding-bottom: 38px !important;
}
.np-single-v123-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 480px) !important;
  gap: 44px !important;
  align-items: center !important;
  width: 100% !important;
}
.np-single-v123-hero-copy {
  min-width: 0 !important;
  max-width: 680px !important;
}
.np-single-v123-back,
.np-single-v123-footer a,
.np-single-v123-card a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(92, 166, 94, 0.22) !important;
  background: #fff !important;
  color: #237b3e !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(29, 57, 38, 0.04) !important;
}
.np-single-v123 .np-v120-single-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin: 24px 0 18px !important;
}
.np-single-v123 .np-v120-single-cats a {
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  background: #f4fbf1 !important;
  border: 1px solid rgba(92, 166, 94, 0.22) !important;
  color: #2f8045 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.np-single-v123 h1 {
  max-width: 680px !important;
  margin: 0 !important;
  color: #202521 !important;
  font-size: clamp(30px, 3.2vw, 44px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.02em !important;
  font-weight: 500 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}
.np-single-v123-intro {
  max-width: 660px !important;
  margin: 22px 0 0 !important;
  color: #56625a !important;
  font-size: 18px !important;
  line-height: 1.62 !important;
}
.np-single-v123-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin-top: 24px !important;
}
.np-single-v123-meta time,
.np-single-v123-meta span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  color: #607066 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}
.np-single-v123-image {
  width: 100% !important;
  max-width: 480px !important;
  justify-self: end !important;
  margin: 0 !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  background: #fbfaf6 !important;
  box-shadow: 0 24px 72px rgba(29, 57, 38, 0.1) !important;
}
.np-single-v123-image img {
  width: 100% !important;
  height: 380px !important;
  max-height: 380px !important;
  display: block !important;
  object-fit: cover !important;
}
.np-single-v123-content-shell {
  padding-top: 26px !important;
}
.np-single-v123-layout {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 760px) !important;
  gap: 48px !important;
  align-items: start !important;
  justify-content: center !important;
  width: 100% !important;
}
.np-single-v123-aside {
  position: sticky !important;
  top: 120px !important;
}
.np-single-v123-card {
  padding: 24px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  background: #fff !important;
  box-shadow: 0 18px 50px rgba(29, 57, 38, 0.06) !important;
}
.np-single-v123-card > span,
.np-single-v123-kicker {
  display: block !important;
  color: #2f8045 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
}
.np-single-v123-card strong {
  display: block !important;
  color: #151b17 !important;
  font-size: 24px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.018em !important;
  font-weight: 600 !important;
}
.np-single-v123-card p {
  margin: 12px 0 18px !important;
  color: #607066 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
.np-single-v123-content {
  width: 100% !important;
  max-width: 760px !important;
  min-width: 0 !important;
  color: #2b332e !important;
  font-size: 18px !important;
  line-height: 1.82 !important;
}
.np-single-v123-content > *:first-child {
  margin-top: 0 !important;
}
.np-single-v123-content p {
  margin: 0 0 1.35em !important;
  font-size: 18px !important;
  line-height: 1.82 !important;
}
.np-single-v123-content h2,
.np-single-v123-content h3 {
  color: #151b17 !important;
  letter-spacing: -0.016em !important;
  line-height: 1.12 !important;
  font-weight: 500 !important;
  margin: 1.65em 0 0.65em !important;
}
.np-single-v123-content h2 {
  font-size: 36px !important;
}
.np-single-v123-content h3 {
  font-size: 27px !important;
}
.np-single-v123-content ul,
.np-single-v123-content ol {
  margin: 0 0 1.4em 1.25em !important;
  padding: 0 !important;
}
.np-single-v123-content li {
  margin: 0.42em 0 !important;
  font-size: 18px !important;
  line-height: 1.78 !important;
}
.np-single-v123-content a {
  color: #2f8045 !important;
  font-weight: 650 !important;
}
.np-single-v123-content blockquote {
  margin: 2em 0 !important;
  padding: 24px 28px !important;
  border-left: 4px solid #5ca65e !important;
  border-radius: 18px !important;
  background: #f4fbf1 !important;
  color: #1f2a23 !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
  font-weight: 750 !important;
}
.np-single-v123-related {
  margin-top: 64px !important;
  padding-top: 40px !important;
  border-top: 1px solid rgba(214, 204, 187, 0.72) !important;
}
.np-single-v123-related h2 {
  margin: 0 0 22px !important;
  color: #151b17 !important;
  font-size: 38px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  font-weight: 500 !important;
}
.np-single-v123-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
}
.np-single-v123-related-card a {
  display: block !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  background: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 18px 50px rgba(29, 57, 38, 0.06) !important;
}
.np-single-v123-related-card img {
  width: 100% !important;
  height: 170px !important;
  display: block !important;
  object-fit: cover !important;
  background: #fbfaf6 !important;
}
.np-single-v123-related-card strong {
  display: block !important;
  padding: 18px 18px 6px !important;
  color: #151b17 !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.018em !important;
  font-weight: 600 !important;
}
.np-single-v123-related-card span {
  display: block !important;
  padding: 0 18px 18px !important;
  color: #2f8045 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}
.np-single-v123-footer {
  margin-top: 48px !important;
  padding-top: 26px !important;
  border-top: 1px solid rgba(214, 204, 187, 0.72) !important;
}
body.single-post:not(.np-single-post-v123) .entry-header,
body.single-post:not(.np-single-post-v123) .entry-content,
body.single-post:not(.np-single-post-v123) .post-thumbnail,
body.single-post:not(.np-single-post-v123) .entry-footer {
  width: min(860px, calc(100vw - 120px)) !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 1180px) {
  .np-single-v123-shell {
    width: min(100vw - 72px, 1120px) !important;
  }
  .np-single-v123-hero {
    grid-template-columns: 1fr !important;
  }
  .np-single-v123-image {
    max-width: none !important;
    justify-self: stretch !important;
  }
  .np-single-v123-image img {
    height: auto !important;
    max-height: 560px !important;
  }
  .np-single-v123-layout {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  .np-single-v123-aside {
    position: static !important;
  }
  .np-single-v123-related-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 720px) {
  .np-single-v123-shell {
    width: min(100vw - 30px, 1120px) !important;
  }
  .np-single-v123-hero-shell {
    padding-top: 34px !important;
  }
  .np-single-v123 h1 {
    font-size: 35px !important;
    line-height: 1.07 !important;
  }
  .np-single-v123-intro {
    font-size: 16.5px !important;
  }
  .np-single-v123-content,
  .np-single-v123-content p,
  .np-single-v123-content li {
    font-size: 16.5px !important;
  }
  .np-single-v123-content h2 {
    font-size: 29px !important;
  }
  .np-single-v123-content h3 {
    font-size: 23px !important;
  }
  body.single-post:not(.np-single-post-v123) .entry-header,
  body.single-post:not(.np-single-post-v123) .entry-content,
  body.single-post:not(.np-single-post-v123) .post-thumbnail,
  body.single-post:not(.np-single-post-v123) .entry-footer {
    width: min(100vw - 30px, 860px) !important;
  }
}
.np-single-v124 .np-single-v123-aside,
.np-single-v124 .np-single-v121-aside,
.np-single-v124 .np-single-v120-aside,
.np-single-v124 .np-single-v123-card,
.np-single-v124 .np-single-v121-card {
  display: none !important;
}
.np-single-v124-shell {
  width: min(1080px, calc(100vw - 160px)) !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
.np-single-v124-content-shell {
  padding-top: 30px !important;
}
.np-single-v124-content {
  width: min(880px, 100%) !important;
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #2b332e !important;
  font-size: 18.5px !important;
  line-height: 1.84 !important;
}
.np-single-v124-content > *:first-child {
  margin-top: 0 !important;
}
.np-single-v124-content p {
  font-size: 18.5px !important;
  line-height: 1.84 !important;
}
.np-single-v124-content h2 {
  font-size: 38px !important;
  line-height: 1.12 !important;
  letter-spacing: -0.018em !important;
  margin-top: 1.7em !important;
}
.np-single-v124-content h3 {
  font-size: 28px !important;
  line-height: 1.16 !important;
  letter-spacing: -0.03em !important;
}
.np-single-v124 .np-single-v123-layout,
.np-single-v124 .np-single-v121-layout {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.np-single-v124-related,
.np-single-v124-footer {
  width: min(1080px, calc(100vw - 160px)) !important;
  max-width: 1080px !important;
}
@media (max-width: 1180px) {
  .np-single-v124-shell,
  .np-single-v124-related,
  .np-single-v124-footer {
    width: min(100vw - 72px, 1080px) !important;
  }
}
@media (max-width: 720px) {
  .np-single-v124-shell,
  .np-single-v124-related,
  .np-single-v124-footer {
    width: min(100vw - 30px, 1080px) !important;
  }
  .np-single-v124-content,
  .np-single-v124-content p {
    font-size: 16.5px !important;
    line-height: 1.78 !important;
  }
  .np-single-v124-content h2 {
    font-size: 29px !important;
  }
  .np-single-v124-content h3 {
    font-size: 23px !important;
  }
}
body.page-template-page-contact-premium {
  background:
    radial-gradient(circle at 92% 4%, rgba(92, 166, 94, 0.12), transparent 32%),
    linear-gradient(180deg, #fbfaf6 0%, #fff 56%, #fbfaf6 100%) !important;
  overflow-x: hidden !important;
}
body.page-template-page-contact-premium .site,
body.page-template-page-contact-premium .site-content,
body.page-template-page-contact-premium .content-area,
body.page-template-page-contact-premium .site-main,
body.page-template-page-contact-premium main,
body.page-template-page-contact-premium .entry-content,
body.page-template-page-contact-premium .page-content,
body.page-template-page-contact-premium .container,
body.page-template-page-contact-premium .wrap {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
body.page-template-page-contact-premium .entry-header,
body.page-template-page-contact-premium .entry-title {
  display: none !important;
}
.np-contact-v125 {
  width: 100% !important;
  overflow: hidden !important;
  color: #151b17 !important;
}
.np-contact-v125-hero,
.np-contact-v125-main {
  width: min(1280px, calc(100vw - 96px)) !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
.np-contact-v125-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 390px !important;
  gap: 38px !important;
  align-items: stretch !important;
  margin-top: 42px !important;
  margin-bottom: 34px !important;
  padding: 46px !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  border-radius: 36px !important;
  background:
    radial-gradient(
      circle at 92% 12%,
      rgba(92, 166, 94, 0.16),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98),
      rgba(248, 251, 245, 0.86)
    ) !important;
  box-shadow: 0 24px 72px rgba(29, 57, 38, 0.08) !important;
}
.np-contact-v125-hero-copy {
  min-width: 0 !important;
  align-self: center !important;
}
.np-contact-v125-kicker {
  display: block !important;
  color: #2f8045 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  font-weight: 600 !important;
  margin-bottom: 14px !important;
}
.np-contact-v125 h1 {
  margin: 0 !important;
  max-width: 760px !important;
  color: #151b17 !important;
  font-size: clamp(34px, 3.8vw, 52px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.025em !important;
  font-weight: 500 !important;
}
.np-contact-v125-hero-copy p {
  max-width: 740px !important;
  margin: 22px 0 0 !important;
  color: #56625a !important;
  font-size: 19px !important;
  line-height: 1.6 !important;
}
.np-contact-v125-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 28px !important;
}
.np-contact-v125-pills span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(92, 166, 94, 0.22) !important;
  background: #fff !important;
  color: #1e2a22 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}
.np-contact-v125-card {
  padding: 30px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  background: #fff !important;
  box-shadow: 0 22px 68px rgba(29, 57, 38, 0.08) !important;
}
.np-contact-v125-card > span,
.np-contact-v125-side-block > span {
  display: block !important;
  color: #2f8045 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}
.np-contact-v125-card strong {
  display: block !important;
  color: #151b17 !important;
  font-size: 34px !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
  font-weight: 600 !important;
}
.np-contact-v125-card p {
  margin: 14px 0 22px !important;
  color: #607066 !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
}
.np-contact-v125-details {
  display: grid !important;
  gap: 12px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(214, 204, 187, 0.72) !important;
}
.np-contact-v125-details a,
.np-contact-v125-details span {
  display: block !important;
  color: #1f2a23 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
.np-contact-v125-details a {
  color: #2f8045 !important;
}
.np-contact-v125-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 34px !important;
  align-items: start !important;
}
.np-contact-v125-form-card,
.np-contact-v125-side-block,
.np-contact-v125-side-list {
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  border-radius: 30px !important;
  background: #fff !important;
  box-shadow: 0 22px 68px rgba(29, 57, 38, 0.07) !important;
}
.np-contact-v125-form-card {
  padding: 42px !important;
}
.np-contact-v125-form-card h2,
.np-contact-v125-side-block h2 {
  margin: 0 !important;
  color: #151b17 !important;
  font-size: clamp(26px, 2.3vw, 34px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
  font-weight: 500 !important;
}
.np-contact-v125-form-intro {
  max-width: 720px !important;
  margin: 16px 0 28px !important;
  color: #607066 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}
.np-contact-v125-notice {
  margin: 0 0 22px !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}
.np-contact-v125-notice p {
  margin: 0 0 6px !important;
}
.np-contact-v125-notice p:last-child {
  margin-bottom: 0 !important;
}
.np-contact-v125-success {
  background: #f0fbf0 !important;
  border: 1px solid rgba(92, 166, 94, 0.35) !important;
  color: #237b3e !important;
}
.np-contact-v125-error {
  background: #fff1f0 !important;
  border: 1px solid rgba(223, 65, 55, 0.32) !important;
  color: #b42318 !important;
}
.np-contact-v125-form {
  display: grid !important;
  gap: 18px !important;
}
.np-contact-v125-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.np-contact-v125-form label {
  display: block !important;
  min-width: 0 !important;
}
.np-contact-v125-form label span {
  display: block !important;
  margin: 0 0 8px !important;
  color: #4f5c54 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
}
.np-contact-v125-form input,
.np-contact-v125-form select,
.np-contact-v125-form textarea {
  width: 100% !important;
  min-height: 58px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(214, 204, 187, 0.95) !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: #151b17 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
  box-shadow: none !important;
  outline: none !important;
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease !important;
  box-sizing: border-box !important;
}
.np-contact-v125-form textarea {
  min-height: 190px !important;
  padding-top: 16px !important;
  resize: vertical !important;
}
.np-contact-v125-form input:focus,
.np-contact-v125-form select:focus,
.np-contact-v125-form textarea:focus {
  border-color: #5ca65e !important;
  box-shadow: 0 0 0 4px rgba(92, 166, 94, 0.12) !important;
}
.np-contact-v125-submit-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding-top: 6px !important;
}
.np-contact-v125-submit-row button {
  min-height: 60px !important;
  padding: 0 28px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #5ca65e !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  box-shadow: 0 18px 42px rgba(92, 166, 94, 0.22) !important;
}
.np-contact-v125-submit-row button:hover {
  background: #4e9852 !important;
}
.np-contact-v125-submit-row small {
  max-width: 340px !important;
  color: #607066 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}
.np-contact-v125-hp {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0.001 !important;
  height: 0 !important;
  overflow: hidden !important;
}
.np-contact-v125-side {
  display: grid !important;
  gap: 22px !important;
}
.np-contact-v125-side-block {
  padding: 30px !important;
}
.np-contact-v125-side-block p {
  margin: 16px 0 0 !important;
  color: #607066 !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
}
.np-contact-v125-side-list {
  padding: 8px !important;
}
.np-contact-v125-side-list div {
  padding: 20px !important;
  border-bottom: 1px solid rgba(214, 204, 187, 0.62) !important;
}
.np-contact-v125-side-list div:last-child {
  border-bottom: 0 !important;
}
.np-contact-v125-side-list strong {
  display: block !important;
  color: #151b17 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}
.np-contact-v125-side-list p {
  margin: 8px 0 0 !important;
  color: #607066 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
@media (max-width: 1050px) {
  .np-contact-v125-hero,
  .np-contact-v125-main {
    grid-template-columns: 1fr !important;
  }
  .np-contact-v125-card,
  .np-contact-v125-side {
    max-width: none !important;
  }
}
@media (max-width: 720px) {
  .np-contact-v125-hero,
  .np-contact-v125-main {
    width: min(100vw - 28px, 1280px) !important;
  }
  .np-contact-v125-hero {
    padding: 30px 22px !important;
    border-radius: 26px !important;
  }
  .np-contact-v125 h1 {
    font-size: 42px !important;
  }
  .np-contact-v125-hero-copy p {
    font-size: 16.5px !important;
  }
  .np-contact-v125-form-card {
    padding: 28px 20px !important;
    border-radius: 24px !important;
  }
  .np-contact-v125-grid {
    grid-template-columns: 1fr !important;
  }
  .np-contact-v125-submit-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .np-contact-v125-submit-row small {
    max-width: none !important;
  }
}
.np-contact-v125-side-list div {
  position: relative !important;
}
.np-contact-v125-side-list div::before {
  content: "" !important;
  position: absolute !important;
  left: 20px !important;
  top: 22px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #5ca65e !important;
}
.np-contact-v125-side-list strong,
.np-contact-v125-side-list p {
  padding-left: 20px !important;
}
.np-contact-v125-side-block h2 {
  font-size: clamp(28px, 2.4vw, 38px) !important;
}
.np-v115-mega,
.np-v117-dropdown-mega,
#np-v117-mega-complements,
#np-v117-mega-packs {
  display: none !important;
  visibility: hidden !important;
  opacity: 0.001 !important;
  pointer-events: none !important;
}
body.np-v115-mega-open::before {
  display: none !important;
}
.np-footer-v115 {
  margin-top: 72px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(92, 166, 94, 0.15), transparent 32%),
    linear-gradient(180deg, #fbfaf6 0%, #f5f3eb 100%) !important;
  border-top: 1px solid rgba(214, 204, 187, 0.72) !important;
  color: #1b211d !important;
}
.np-footer-v115-inner {
  width: min(1380px, calc(100vw - 72px)) !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 58px 0 42px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) 0.72fr 0.72fr 1.05fr !important;
  gap: 44px !important;
}
.np-footer-v115-logo img,
.np-footer-v115 .custom-logo {
  max-width: 290px !important;
  height: auto !important;
}
.np-footer-v115-name {
  display: inline-block !important;
  color: #151b17 !important;
  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: -0.018em !important;
  text-decoration: none !important;
}
.np-footer-v115-baseline {
  max-width: 450px !important;
  margin: 22px 0 0 !important;
  color: #607066 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}
.np-footer-v115-socials {
  display: flex !important;
  gap: 10px !important;
  margin-top: 24px !important;
}
.np-footer-v115-socials a {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(214, 204, 187, 0.72) !important;
  background: #fff !important;
  color: #2f8045 !important;
  text-decoration: none !important;
}
.np-footer-v115-socials svg {
  width: 22px !important;
  height: 22px !important;
  fill: currentColor !important;
}
.np-footer-v115-col h2 {
  margin: 0 0 18px !important;
  color: #151b17 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.13em !important;
  font-weight: 500 !important;
}
.np-footer-v115-col a {
  display: block !important;
  margin: 0 0 12px !important;
  color: #526159 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}
.np-footer-v115-col a:hover {
  color: #2f8045 !important;
}
.np-footer-v115-col p {
  margin: 0 0 16px !important;
  color: #607066 !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
}
.np-footer-v115-payment {
  width: 100% !important;
  max-width: 330px !important;
  height: auto !important;
  display: block !important;
  margin: 16px 0 18px !important;
  border-radius: 12px !important;
}
.np-footer-v115-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 18px !important;
}
.np-footer-v115-links a {
  margin: 0 !important;
}
.np-footer-v115-bottom {
  width: min(1380px, calc(100vw - 72px)) !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 20px 0 26px !important;
  border-top: 1px solid rgba(214, 204, 187, 0.72) !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  color: #6b766f !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}
@media (max-width: 1080px) {
  .np-footer-v115-inner {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 720px) {
  .np-footer-v115-inner,
  .np-footer-v115-bottom {
    width: min(100vw - 28px, 1380px) !important;
  }
  .np-footer-v115-inner {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding-top: 42px !important;
  }
  .np-footer-v115-bottom {
    flex-direction: column !important;
  }
}
.np-footer-v116-logo-link,
.np-footer-v116-logo-img-link {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
.np-footer-v116-logo-img,
.np-footer-v116-logo-wrap img {
  display: block !important;
  width: auto !important;
  max-width: 310px !important;
  max-height: 82px !important;
  height: auto !important;
  object-fit: contain !important;
}
.np-footer-v116 .np-footer-v115-socials a[href="#"] {
  opacity: 0.45 !important;
}
.np-footer-v147,
.np-footer-v148 {
  display: none !important;
}
.np-footer-v115 {
  display: block !important;
}
.np-footer-v115-inner {
  display: grid !important;
}
.np-footer-v118-logo-img {
  display: block !important;
  width: auto !important;
  max-width: 310px !important;
  max-height: 82px !important;
  height: auto !important;
  object-fit: contain !important;
}
.np-footer-v115-col a {
  font-weight: 750 !important;
}
.np-footer-v115-col h2 {
  font-weight: 500 !important;
}
body.np-premium-checkout-page .wc-block-components-sidebar {
  width: auto !important;
}
body.np-premium-checkout-page .wc-block-components-totals-item__value,
body.np-premium-checkout-page
  .wc-block-components-order-summary-item__total-price {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: right !important;
}
body.np-premium-checkout-page table,
body.np-premium-checkout-page .shop_table {
  max-width: 100% !important;
  table-layout: fixed !important;
}
@media (max-width: 1180px) {
  body.np-premium-checkout-page .wc-block-components-sidebar {
    padding: 20px !important;
  }
}
@media (max-width: 980px) {
  body.np-premium-checkout-page .wc-block-components-sidebar {
    position: relative !important;
    top: auto !important;
    order: -1 !important;
  }
}
@media (max-width: 1050px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}
body.np-premium-checkout-page .wc-block-components-main,
body.np-premium-checkout-page .wc-block-components-sidebar {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.np-premium-checkout-page .wc-block-components-sidebar {
  width: 100% !important;
}
body.np-premium-checkout-page .wc-block-components-order-summary,
body.np-premium-checkout-page .wc-block-components-order-summary__content,
body.np-premium-checkout-page
  .wc-block-components-sidebar
  .wc-block-components-panel,
body.np-premium-checkout-page
  .wc-block-components-sidebar
  .wc-block-components-totals-wrapper {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}
body.np-premium-checkout-page .wc-block-components-totals-item,
body.np-premium-checkout-page .wc-block-components-totals-footer-item,
body.np-premium-checkout-page .wc-block-components-order-summary-item {
  min-width: 0 !important;
}
body.np-premium-checkout-page .wc-block-components-totals-item__value,
body.np-premium-checkout-page
  .wc-block-components-order-summary-item__total-price {
  white-space: nowrap !important;
  max-width: 100% !important;
}
@media (max-width: 980px) {
  body.np-premium-checkout-page .wc-block-components-main,
  body.np-premium-checkout-page .wc-block-components-sidebar {
    width: 100% !important;
  }
}
html,
body {
  max-width: 100% !important;
}
