:root {
  --primary-color: #708a76;
  --primary-color-rgb: 112, 138, 118;
  --secondary-color: #2f5646;
  --secondary-color-rgb: 47, 86, 70;
  --body-font-color: #4f5d55;
  --heading-font-color: #20372e;
  --bg-default: #fbfaf6;
  --bg-light: #f3f5ef;
  --bg-dark-1: #243f34;
  --bg-dark-2: #182c24;
  --bg-dark-3: #315344;
  --bg-dark-1-rgb: 36, 63, 52;
  --bg-color-even: #e9eee7;
  --bg-color-odd: #f7f8f3;
  --border-color: #d5ded4;
  --btn-hover-bg: #1f3b30;
}

body {
  background: #fbfaf6;
  color: var(--body-font-color);
}

h1, h2, h3, h4, h5, h6,
.text-dark,
#mainmenu a.menu-item,
blockquote,
.accordion-section-title,
.de_count h3,
footer h5,
footer h4,
footer h3 {
  color: var(--heading-font-color);
}

#topbar {
  background: #1d342b;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

#topbar, #topbar a, #topbar .topbar-widget a {
  color: #eef3ed !important;
}

header.transparent {
  background: rgba(251,250,246,0.96) !important;
  backdrop-filter: saturate(110%) blur(4px);
  border-bottom: 1px solid rgba(47,86,70,0.08);
}


header.smaller {
  background: rgba(251,250,246,0.98) !important;
  box-shadow: 0 10px 28px rgba(24,44,36,0.10);
  border-bottom: 1px solid rgba(47,86,70,0.08);
}

#logo,
header.transparent #logo,
header.smaller #logo {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#logo img,
.footer-psychonaturalnie-logo {
  filter: drop-shadow(0 2px 8px rgba(31,59,48,0.12));
}

#mainmenu a.menu-item {
  color: #2c4339 !important;
}

#mainmenu a.menu-item:hover,
#mainmenu a.menu-item.active,
#mainmenu li:hover > a.menu-item {
  color: #244d3d !important;
}

#mainmenu li a.menu-item:after {
  background: #708a76 !important;
}

.btn-main,
a.btn-main,
.btn-main:visited,
a.btn-main:visited,
.bg-color,
#back-to-top,
.btn-main.bg-color {
  background: #315847 !important;
  border-color: #315847 !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(47,86,70,0.18);
}

.btn-main:hover,
a.btn-main:hover,
.btn-line:hover,
a.btn-line:hover {
  background: #1f3b30 !important;
  border-color: #1f3b30 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.btn-line,
a.btn-line,
a.btn-main.btn-line {
  border-color: #708a76 !important;
  color: #2f5646 !important;
  background: transparent !important;
  box-shadow: none;
}

.btn-line:hover,
a.btn-line:hover,
a.btn-main.btn-line:hover {
  color: #fff !important;
}

.bg-dark-1,
section.bg-dark-1 {
  background: linear-gradient(180deg, #28483a 0%, #1b3128 100%) !important;
}

.bg-color-op-1,
section.bg-color-op-1 {
  background: linear-gradient(180deg, #f0f3ed 0%, #f7f8f3 100%) !important;
}

.bg-color-op-2,
section.bg-color-op-2 {
  background: #e4ebe3 !important;
}

[data-bgcolor="#eef5ec"],
[data-bgcolor="#EAF5F9"] {
  background: #edf1eb !important;
}

.subtitle,
.id-color,
a.btn-text:after,
.btn-right:after,
.btn-left:before,
.feature-box-small-icon i,
.de-icon,
.social-icons i,
.social-icons-sm i,
ul.ul-style-2 li:before,
.list li:before,
.accordion a:before,
.expand-custom .toggle:before {
  color: #5f7c68 !important;
}

section,
.container,
.container-fluid {
  --bs-border-color: #d5ded4;
}

.rounded-1,
.rounded-2,
.hover.rounded-1,
.accordion-section-title,
.bloglist .post-content,
.de-box-cat {
  border-color: rgba(47,86,70,0.10) !important;
}

footer,
footer.bg-dark-1 {
  background: linear-gradient(180deg, #1f392f 0%, #15271f 100%) !important;
  color: rgba(255,255,255,0.88);
}

footer a,
footer .widget address,
footer .widget,
footer p,
footer li,
footer .widget a,
footer .subfooter {
  color: rgba(255,255,255,0.82) !important;
}

footer .widget a:hover,
footer a:hover,
footer .social-icons i:hover {
  color: #dbe8dd !important;
}

.footer-psychonaturalnie-logo {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.sw-overlay.op-2 {
  background: linear-gradient(90deg, rgba(18,32,26,0.74) 0%, rgba(18,32,26,0.42) 48%, rgba(18,32,26,0.16) 100%) !important;
}

.abs.bg-color,
.abs.bg-color.z-2 {
  background: rgba(47,86,70,0.86) !important;
}

.owl-dot.active,
.swiper-pagination-bullet-active {
  background: #708a76 !important;
}

::selection {
  background: #315847;
  color: #fff;
}

@media (max-width: 767px) {
  header.transparent {
    background: rgba(251,250,246,0.98) !important;
  }
}


/* Czytelne przyciski na kafelkach materiałów */
.hover.text-light .btn-line,
.hover.text-light a.btn-line,
.hover .btn-line,
.hover a.btn-line {
  background: #ffffff !important;
  color: #234236 !important;
  border-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

.hover.text-light .btn-line:hover,
.hover.text-light a.btn-line:hover,
.hover .btn-line:hover,
.hover a.btn-line:hover {
  background: #315847 !important;
  color: #ffffff !important;
  border-color: #315847 !important;
}

/* Długi adres e-mail nie wychodzi poza kafelek */
.de-simple-card {
  min-width: 0;
  overflow: hidden;
}

.de-simple-card .ms-80px {
  min-width: 0;
}

.de-simple-card a[href^="mailto:"] {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 1199px) {
  .de-simple-card a[href^="mailto:"] {
    font-size: 14px;
  }
}


/* Podstrony: zachowanie typografii i komponentów oryginalnego szablonu Calmind */
.psycho-subpage,
.psycho-subpage p,
.psycho-subpage li,
.psycho-subpage input,
.psycho-subpage textarea,
.psycho-subpage button {
  font-family: var(--body-font);
}

.psycho-subpage h1,
.psycho-subpage h2,
.psycho-subpage h3,
.psycho-subpage h4,
.psycho-subpage h5,
.psycho-subpage h6,
.psycho-subpage .cam-style {
  font-family: var(--heading-font);
  font-weight: var(--heading-font-weight);
}

.psycho-subheader {
  min-height: 520px;
  padding-top: 190px;
  padding-bottom: 120px;
  display: flex;
  align-items: center;
  background-position: center;
}

.psycho-subheader .cam-style {
  font-size: clamp(54px, 7vw, 92px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: #fff;
  text-shadow: 0 4px 28px rgba(15, 32, 25, .3);
}

.psycho-subheader .crumb-wrapper {
  z-index: 4;
}

.psycho-subpage section:not(#subheader) {
  padding-top: 110px;
  padding-bottom: 110px;
}

.psycho-subpage h2.split {
  font-size: clamp(42px, 5vw, 62px);
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.psycho-subpage .subtitle {
  font-family: var(--body-font);
  font-weight: 700;
  letter-spacing: .28em;
}

.psycho-subpage .d-tab-nav li,
.psycho-subpage .de-timeline-s2 h3,
.psycho-subpage .bloglist h4,
.psycho-subpage .widget h2 {
  font-family: var(--heading-font);
}

.psycho-overlap-images {
  min-height: 610px;
}

.contact-native-item {
  border-bottom: 1px solid rgba(47,86,70,.14);
  padding: 22px 0;
  min-width: 0;
}

.contact-native-item > div {
  min-width: 0;
}

.contact-email {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.contact-form-template {
  box-shadow: 0 18px 50px rgba(31,59,48,.08);
}

/* Przyciski w kafelkach są czytelne także bez hovera */
.hover.text-light .btn-line,
.hover.text-light a.btn-line,
.hover .btn-line,
.hover a.btn-line {
  background: #fff !important;
  color: #234236 !important;
  border-color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

.hover.text-light .btn-line span,
.hover a.btn-line span,
.hover .btn-line span {
  color: inherit !important;
}

@media (max-width: 991px) {
  .psycho-subheader { min-height: 430px; padding-top: 160px; padding-bottom: 90px; }
  .psycho-subpage section:not(#subheader) { padding-top: 80px; padding-bottom: 80px; }
  .psycho-overlap-images { min-height: 540px; }
}

@media (max-width: 767px) {
  .psycho-subheader { min-height: 390px; padding-top: 150px; padding-bottom: 80px; }
  .psycho-subheader .cam-style { font-size: 46px; }
  .psycho-subpage h2.split { font-size: 38px; }
  .psycho-overlap-images { min-height: 460px; }
}


/* Czytelniejsze tytuły kategorii w sklepie */
.shop-category-card {
  position: relative;
}

.shop-category-card .shop-category-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 58%;
  background: linear-gradient(180deg, rgba(18,32,26,0.00) 0%, rgba(18,32,26,0.28) 38%, rgba(18,32,26,0.78) 100%);
  z-index: 2;
  pointer-events: none;
}

.shop-category-card .shop-category-title {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.4rem;
  z-index: 3;
  margin: 0;
  color: #fff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.35);
  background: rgba(27,49,40,0.62);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 14px;
  padding: 12px 16px;
  line-height: 1.2;
  font-size: 34px;
}

@media (max-width: 991px) {
  .shop-category-card .shop-category-title {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .shop-category-card .shop-category-title {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    font-size: 24px;
    padding: 10px 14px;
  }
}


/* Estetyczne znaczniki kroków zakupowych */
.purchase-step-badge {
  width: 74px;
  height: 74px;
  min-width: 74px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #426b57 0%, #315847 100%) !important;
  color: #fff !important;
  font-size: 30px !important;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(47,86,70,0.18);
  border: 4px solid rgba(255,255,255,0.82);
}

@media (max-width: 767px) {
  .purchase-step-badge {
    width: 64px;
    height: 64px;
    min-width: 64px;
    font-size: 26px !important;
  }
}
