@font-face {
  font-family: "Trajan Pro 3";
  src: url("../fonts/trajan-pro/TrajanPro-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Trajan Pro 3";
  src: url("../fonts/trajan-pro/TrajanPro-Bold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
}

h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0;
  color: inherit;
}

a,
span,
div {
  color: inherit;
}
p,
li {
  color: inherit;
}
html {
  scroll-behavior: smooth;
}
p,
ul {
  padding: 0;
  margin: 0;
}

html,
body {
  margin: 0 !important;
  padding: 0;
  color: #191d23;
}
.mb-0 {
  margin-bottom: 0 !important;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.flex-child-1 > * {
  flex: 1;
}
.items-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.items-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.items-end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.justify-start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.justify-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.justify-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.flex-col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}
.container-padding {
  padding-left: 80px;
  padding-right: 80px;
}

.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-white {
  color: white;
}
.text-uppercase {
  text-transform: uppercase;
}
.child-flex-1 > * {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.mt-auto {
  margin-top: auto;
}
.mt-10 {
  margin-top: 10px;
}
.mt-20 {
  margin-top: 20px;
}
.mt-30 {
  margin-top: clamp(20px, 1.56vw, 30px);
}
.mt-40 {
  margin-top: clamp(20px, 2.083vw, 40px);
}
.mt-50 {
  margin-top: clamp(20px, 2.605vw, 50px);
}
.mt-60 {
  margin-top: clamp(40px, 3.125vw, 60px);
}
.mt-70 {
  margin-top: clamp(40px, 3.64vw, 70px);
}
.mt-80 {
  margin-top: clamp(60px, 4.166vw, 80px);
}
.mt-90 {
  margin-top: clamp(60px, 4.678vw, 90px);
}
.mt-100 {
  margin-top: clamp(60px, 5.208vw, 100px);
}
.mt-110 {
  margin-top: clamp(60px, 5.729vw, 110px);
}
.mt-120 {
  margin-top: clamp(60px, 6.25vw, 120px);
}
.mt-130 {
  margin-top: clamp(60px, 6.77vw, 130px);
}
.mt-140 {
  margin-top: clamp(60px, 7.29vw, 140px);
}
.mt-150 {
  margin-top: clamp(60px, 7.8vw, 150px);
}
.mt-160 {
  margin-top: clamp(60px, 8.33vw, 160px);
}
.mt-170 {
  margin-top: clamp(70px, 8.854vw, 170px);
}
.mt-180 {
  margin-top: clamp(70px, 9.375vw, 180px);
}
.mt-190 {
  margin-top: clamp(70px, 9.89vw, 190px);
}
.mt-200 {
  margin-top: clamp(80px, 10.41vw, 200px);
}
.mb-10 {
  margin-bottom: 10px;
}
.mb-20 {
  margin-bottom: 20px;
}
.mb-25 {
  margin-bottom: 25px;
}
.mb-30 {
  margin-bottom: clamp(20px, 1.56vw, 30px);
}
.mb-40 {
  margin-bottom: clamp(20px, 2.083vw, 40px);
}
.mb-45 {
  margin-bottom: clamp(20px, 2.34375vw, 45px);
}
.mb-50 {
  margin-bottom: clamp(20px, 2.605vw, 50px);
}
.mb-60 {
  margin-bottom: clamp(40px, 3.125vw, 60px);
}
.mb-70 {
  margin-bottom: clamp(40px, 3.64vw, 70px);
}
.mb-80 {
  margin-bottom: clamp(60px, 4.166vw, 80px);
}
.mb-90 {
  margin-bottom: clamp(60px, 4.678vw, 90px);
}
.mb-100 {
  margin-bottom: clamp(60px, 5.208vw, 100px);
}
.mb-110 {
  margin-bottom: clamp(60px, 5.729vw, 110px);
}
.mb-120 {
  margin-bottom: clamp(60px, 6.25vw, 120px);
}
.mb-130 {
  margin-bottom: clamp(60px, 6.77vw, 130px);
}
.mb-140 {
  margin-bottom: clamp(60px, 7.29vw, 140px);
}
.mb-150 {
  margin-bottom: clamp(60px, 7.8vw, 150px);
}
.mb-160 {
  margin-bottom: clamp(60px, 8.33vw, 160px);
}
.mb-170 {
  margin-bottom: clamp(70px, 8.854vw, 170px);
}
.mb-180 {
  margin-bottom: clamp(70px, 9.375vw, 180px);
}
.mb-190 {
  margin-bottom: clamp(70px, 9.89vw, 190px);
}
.mb-200 {
  margin-bottom: clamp(80px, 10.41vw, 200px);
}
.pt-10 {
  padding-top: 10px;
}
.pt-20 {
  padding-top: 20px;
}
.pt-30 {
  padding-top: clamp(20px, 1.56vw, 30px);
}
.pt-40 {
  padding-top: clamp(20px, 2.083vw, 40px);
}
.pt-50 {
  padding-top: clamp(20px, 2.605vw, 50px);
}
.pt-60 {
  padding-top: clamp(40px, 3.125vw, 60px);
}
.pt-70 {
  padding-top: clamp(40px, 3.64vw, 70px);
}
.pt-80 {
  padding-top: clamp(60px, 4.166vw, 80px);
}
.pt-90 {
  padding-top: clamp(60px, 4.678vw, 90px);
}
.pt-100 {
  padding-top: clamp(60px, 5.208vw, 100px);
}
.pt-110 {
  padding-top: clamp(60px, 5.729vw, 110px);
}
.pt-120 {
  padding-top: clamp(60px, 6.25vw, 120px);
}
.pt-130 {
  padding-top: clamp(60px, 6.77vw, 130px);
}
.pt-140 {
  padding-top: clamp(60px, 7.29vw, 140px);
}
.pt-150 {
  padding-top: clamp(60px, 7.8vw, 150px);
}
.pt-160 {
  padding-top: clamp(60px, 8.33vw, 160px);
}
.pt-170 {
  padding-top: clamp(70px, 8.854vw, 170px);
}
.pt-180 {
  padding-top: clamp(70px, 9.375vw, 180px);
}
.pt-190 {
  padding-top: clamp(70px, 9.89vw, 190px);
}
.pt-200 {
  padding-top: clamp(80px, 10.41vw, 200px);
}
.pt-330 {
  padding-top: clamp(100px, 17.1875vw, 330px);
}
.pt-550 {
  padding-top: clamp(450px, 23.90625vw, 550px);
}
.pb-10 {
  padding-bottom: 10px;
}
.pb-20 {
  padding-bottom: 20px;
}
.pb-30 {
  padding-bottom: clamp(20px, 1.56vw, 30px);
}
.pb-40 {
  padding-bottom: clamp(20px, 2.083vw, 40px);
}
.pb-50 {
  padding-bottom: clamp(20px, 2.605vw, 50px);
}
.pb-60 {
  padding-bottom: clamp(40px, 3.125vw, 60px);
}
.pb-70 {
  padding-bottom: clamp(40px, 3.64vw, 70px);
}
.pb-80 {
  padding-bottom: clamp(60px, 4.166vw, 80px);
}
.pb-90 {
  padding-bottom: clamp(60px, 4.678vw, 90px);
}
.pb-100 {
  padding-bottom: clamp(60px, 5.208vw, 100px);
}
.pb-110 {
  padding-bottom: clamp(60px, 5.729vw, 110px);
}
.pb-120 {
  padding-bottom: clamp(60px, 6.25vw, 120px);
}
.pb-130 {
  padding-bottom: clamp(60px, 6.77vw, 130px);
}
.pb-140 {
  padding-bottom: clamp(60px, 7.29vw, 140px);
}
.pb-150 {
  padding-bottom: clamp(60px, 7.8vw, 150px);
}
.pb-160 {
  padding-bottom: clamp(60px, 8.33vw, 160px);
}
.pb-170 {
  padding-bottom: clamp(70px, 8.854vw, 170px);
}
.pb-180 {
  padding-bottom: clamp(70px, 9.375vw, 180px);
}
.pb-190 {
  padding-bottom: clamp(70px, 9.89vw, 190px);
}
.pb-200 {
  padding-bottom: clamp(80px, 10.41vw, 200px);
}
.pb-250 {
  padding-bottom: clamp(120px, 11.1979vw, 250px);
}

a {
  text-decoration: unset;
  cursor: pointer;
}

.bg-white {
  background-color: #fff;
}
.w-max {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.w-full {
  width: 100%;
}

li {
  list-style: none;
}

.gap-5 {
  gap: 5px;
}
.gap-20 {
  gap: 20px;
}
.gap-10 {
  gap: 10px;
}
.gap-15 {
  gap: 15px;
}
.paragraph__16 p {
  font-size: 16px;
  color: #2f3624;
}
.paragraph__30 p {
  font-size: clamp(18px, 1.5625vw, 30px);
}
.paragraph__18 p {
  font-size: clamp(16px, 0.9375vw, 18px);
}
.paragraph__20 p {
  font-size: clamp(16px, 1.04166666667vw, 20px);
  color: #2f3624;
  letter-spacing: -0.014em;
  opacity: 0.8;
}

#page {
  overflow-x: hidden;
}

.subtitle__classic {
  font-family: "trajan-pro-3", serif;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 20px;
  display: inline-block;
  font-size: clamp(16px, 1.04166666667vw, 20px);
}
.outlined__button {
  display: inline-block;
  padding: clamp(12px, 0.9375vw, 18px) clamp(28px, 1.5625vw, 30px);
  white-space: nowrap;
  border: 1px solid #fff;
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
  font-size: clamp(12px, 0.729vw, 14px);
  line-height: 18px;
  letter-spacing: 2.5px;
  transition: 0.3s;
  border-radius: 3px;
}
.outlined__button:hover {
  background: white;
  color: #191d23;
  transition: 0.3s;
}
.outlined__button--gold {
  display: inline-block;
  padding: clamp(12px, 0.9375vw, 18px) clamp(28px, 1.5625vw, 30px);
  border: 1px solid #bd9831;
  white-space: nowrap;
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
  border-radius: 3px;
  font-size: clamp(12px, 0.729vw, 14px);
  line-height: 18px;
  letter-spacing: 2.5px;
  transition: 0.3s;
}
.outlined__button--gold:hover {
  background: #bd9831;
  color: #fff;
}
.black--header a {
  color: inherit;
}
.black--header .site-logo img {
  filter: invert(1) !important;
}
.black--header svg path {
  stroke: #2f3624;
}
.filled__button {
  display: inline-block;
  padding: clamp(12px, 0.9375vw, 18px) clamp(28px, 1.5625vw, 30px);
  border: 1px solid #fff;
  color: #2f3624;
  white-space: nowrap;
  text-transform: uppercase;
  border-radius: 3px;
  font-weight: 600;
  font-size: clamp(12px, 0.729vw, 14px);
  line-height: 18px;
  background: #fff;
  letter-spacing: 2.5px;
  transition: 0.3s;
}
.filled__button:hover {
  background: transparent;

  color: #fff;
  transition: 0.3s;
}
.filled__button-green {
  display: inline-block;
  padding: clamp(12px, 0.9375vw, 18px) clamp(28px, 1.5625vw, 30px);
  border: 1px solid #9bb939;
  white-space: nowrap;
  text-transform: uppercase;
  border-radius: 3px;
  color: #fff;
  font-weight: 600;
  font-size: clamp(12px, 0.729vw, 14px);
  line-height: 18px;
  background: #9bb939;
  letter-spacing: 2.5px;
  transition: 0.3s;
}
.filled__button-green:hover {
  background: transparent;
  color: #9bb939;
  transition: 0.3s;
}
.underlined__button {
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: underline;
  letter-spacing: 2.5px;
}
.subtitle {
  font-size: clamp(12px, 0.729vw, 14px);
  letter-spacing: 2px;
  display: inline-block;
  font-weight: 400;
  margin-bottom: 20px;
  text-transform: uppercase;
}
.subtitle__12 {
  font-size: 12px;
  letter-spacing: 2px;
  display: inline-block;
  font-weight: 400;
  margin-bottom: 20px;
  text-transform: uppercase;
}
.h2__size {
  font-size: clamp(35px, 3.125vw, 60px);
  letter-spacing: -0.06em;
  text-transform: uppercase;
  font-weight: 400;
  line-height: 1.2;
}
.title--gradient {
  background: linear-gradient(150deg, #272f0f 0%, #9bb939 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
.h3__size {
  font-size: clamp(24px, 1.5625vw, 30px);
  /* font-size: 32px; */
  line-height: 1.3;
  font-weight: 400;
}
.h4__size {
  font-size: 24px;
  word-wrap: wrap;
  font-weight: 400;
  line-height: 34px;
}
body.page-id-31,
body.page-id-265,
body.page-id-267,
body.page-child {
  background-color: #e4e8d4;
}
body {
  /* background: url("../icons/bg_main.webp"); */
  background-color: #f5f8eb;
  background-repeat: repeat;

  background-size: 256px;
  color: #272f0f;
}
.arrow__button {
  position: relative;
  color: #2f3624;
  font-size: clamp(12px, 0.729vw, 14px);
  font-weight: 600;
  padding-right: 26px;
  padding-bottom: 5px;
  line-height: 1.3;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}
.arrow__button::before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #2f3624;
}
.arrow__button::after {
  content: "";
  position: absolute;
  right: 0;
  top: 3px;
  width: 14px;
  height: 14px;
  background-image: url("../icons/arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#page .slick-dots li {
  width: 8px;
  height: 8px;
}
#page .slick-dots button {
  padding: 0;
  width: 8px;
  height: 8px;
}
#page .slick-dots button::before {
  background: #191d23;
  content: "";
  border-radius: 50%;
  opacity: 0.3;
  width: 8px;
  height: 8px;
}
#page .slick-dots li.slick-active button::before {
  opacity: 1;
  width: 38px;
  border-radius: 6px;
  transition: 0.3s;
}
#page .slick-dots li.slick-active button {
  width: 38px;
  transition: 0.3s;
}
#page .slick-dots li.slick-active {
  width: 38px;
  transition: 0.3s;
}
.product-card .onsale {
  display: none !important;
}
.o-8 {
  opacity: 0.8;
}
.mobile-only {
  display: none;
}
@media only screen and (max-width: 991px) {
  .mobile-only {
    display: inline-block;
  }
  .desktop-only {
    display: none;
  }
}
a,
button {
  cursor: pointer;
}
#page .text-white p {
  color: #fff;
}
.price__label {
  display: block;
  color: #fff;
  font-size: 14px;
  opacity: 0.5;
  font-weight: 400;
}
.price__value {
  color: #fff;
  font-family: "trajan-pro-3", serif;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
}

/* ─── AOS overrides — subtle, premium movement ─── */
[data-aos="fade-up"] {
  transform: translateY(28px) !important;
}
[data-aos="fade-up"].aos-animate {
  transform: translateY(0) !important;
}
[data-aos] {
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
}
@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    transition-duration: 1ms !important;
    transition-delay: 0ms !important;
  }
}
@media only screen and (max-width: 575px) {
  .subtitle {
    margin-bottom: 15px;
  }
}
