/* Additional theme styles */
h1, h2, h3, .price {
  font-family: "DM Serif Display", serif;
  font-style: normal;
}
h4, h5, h6, p, ul, ol {
  font-family: "DM Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.hero-hp h2 {
  font-family: "DM Sans", sans-serif !important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
@media (min-width: 1200px) {
  .h1, h1, .fs-1 {
    font-size: 3.8rem !important;
  }
  .h3, h3 {
    font-size: 1.5rem;
  }
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 17px;
}
dl, ol, ul {
  padding-left: 1rem;
}
a {
  text-decoration: none !important;
  transition: all .35s ease-in-out;
  color: #000;
}
.bi {
  transition: all .35s ease-in-out;
}
.bi-arrow-right-circle-fill {
  font-size: 45px;
}
.green-arrow {
  color: #6E851F;
}
.nf-form-fields-required {
  margin-bottom: 10px;
}
.nf-form-content input,
.nf-form-content textarea {
  background: #F2F2F2;
  border: 0;
  padding: 10px;
  border-radius: 10px;
}
.button,
.wc-block-components-button,
.woocommerce-button,
#nf-field-4 {
  background-color: #6E851F !important;
  color: #fff !important;
  padding: 10px 25px !important;
  border-radius: 50px !important;
  display: inline-block !important;
  margin-top: 10px !important;
  border: 0 !important;
  transition: all 0.35s ease !important;
}
.button-white {
  background-color: #fff;
  color: #222;
  padding: 10px 25px;
  border-radius: 50px;
  display: inline-block;
  margin-top: 10px;
  border: 0;
  transition: all 0.35s ease;
}
.button:hover,
.button-white:hover,
.wc-block-components-button:hover,
.woocommerce-button:hover,
#nf-field-4:hover {
  color: #fff;
  background-color: #222 !important;
}
.sign-post,
.sign-post-2 {
  box-shadow: 0px 5px 14px 3px rgba(0,0,0,0.1);
  transition: all .35s ease;
  transform: translateY(0);
}
a:hover .sign-post,
a:hover .sign-post-2 {
  box-shadow: 0px 5px 14px 3px rgba(0,0,0,0.25);
  transform: translateY(-5px);
}
.main-navigation a {
  position: relative;
}
.main-navigation a:hover,
header .bi:hover,
footer .bi:hover,
.current_page_item a {
  color: #AE0000;
}
header .current_page_item a::after {
  content: "";
  width: 30px;
  height: 30px;
  background: url("../img/nyssa-heart.svg") no-repeat;
  background-size: auto;
  background-size: auto;
  display: block;
  position: absolute;
  top: -21px;
  background-size: auto 100%;
  right: -21px;
}
.main-navigation ul {
  list-style: none;
}
header .main-navigation li {
  margin-left: 20px;
  font-size: 19px;
}
.cart-icon {
	position: relative;
	display: inline-block;
}
.cart-count {
  position: absolute;
  top: 0;
  right: -13px;
  background: #000;
  color: #fff;
  font-size: 11px;
  line-height: 1;
  padding: 4px 6px;
  border-radius: 50%;
  min-width: 18px;
  text-align: center;
}
.sub-menu a {
  color: #b95a57;
}
.z-top {
  z-index: 9;
  position: relative;
}
.overlap {
  margin-top: -70px
}
.overlap img {
  width: 100%;
  max-width: 250px;
}
.hero-hp {
  min-height: 600px;
  padding-top: 260px;
  position: relative;
}
.hero {
  padding-top: 190px;
  position: relative;
}
.text-image {
  object-fit: cover;
  height: 460px !important;
}
.feat-img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: top;
}
.cover-img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
.bg-img {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.book-block {
  margin-top: 100px;
}
.book-bg-circle {
  width: 220px;
  height: 220px;
  border-radius: 100%;
  position: absolute;
  transform: translate(-50%, -30%);
  left: 50%;
  top: 0;
}
.green-bg {
  background-color: #7F936E;
}
.blue-bg {
  background-color: #6F868C;
}
.purple-bg {
  background-color: #8A6F86;
}
.cream-bg {
  background-color: #FDF5E4;
}
.lighter-cream-bg {
  background-color: #FFFAF0;
}
.darker-cream-bg {
  background-color: #F9F0DE;
}
.grey-bg {
  background-color: #efefef;
}
.accordion-button:not(.collapsed) {
  background-color: #FDF5E4;
  color: #000 !important;
}
.white-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30px;
  background: #fff;
  z-index: 0;
}
.recipe-bg {
  background-image: url(../img/recipe-bg.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.repeating-heart {
  background-image: url(../img/heart-green.svg);
  background-size: auto;
}
.sign-post .wp-post-image {
  object-fit: cover;
  height: 260px !important;
}
footer ul {
  padding: 0;
}
footer li {
  margin-bottom: 10px;
}
.alizan-logo {
  width: 100%;
  max-width: 100px !important;
}
.book-cover {
  position: relative;
  width: 130px;
  height: auto;
  transform: translate(-0%, -43%) rotate(-9deg);
}
.book-cover-height,
.book-cover-height-download {
  height: 120px;
}
.shop-book-cover {
  transform: translateY(-20px) rotate(-4deg);
  width: 200px;
  height: auto;
}
.download-book-cover {
  transform: translateY(-55px) rotate(4deg);
  width: 200px;
  height: auto;
}
.w-100 {
  height: auto;
}
.recipe-categories a {
  background-color: #FFECBD;
  padding: 5px 20px;
  border-radius: 30px;
}
.recipe-cat {
  transform: translateY(-50%);
}
.recipe-cat span {
  background-color: #FFECBD;
  padding: 5px 20px;
  border-radius: 30px;
}
.single-product .upsells.products {
  display: none;
}
.woocommerce-cart .wp-block-woocommerce-product-collection h2.wp-block-heading {
  font-size: 1.2rem !important;
  transform: translateY(-20px);
}
.woocommerce-cart .wc-block-cart__main .wc-block-cart-items {
  margin-bottom: 20px;
}
.woocommerce-cart .wp-block-woocommerce-product-collection {
  background-color: #FDF5E4;
  padding: 20px;  
}
.wc-block-components-checkout-place-order-button__text {
  justify-content: center;
  font-weight: bold;
  font-size: 16px
}
.single-product .wp-post-image {
   rotate: -5deg;
   max-width: 380px;
  height: auto;
}
.single-product .plate {
  background-color: #FFFAF0;
  position: absolute;
  top: 0;
  left: 0;
  width: 550px;
  height: 550px;
  border-radius: 100%;
  z-index: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.single-product .related.products ul {
  padding: 0;
}
.single-product .related.products li {
  list-style: none;
}
.single-product .related.products h2.woocommerce-loop-product__title,
.single-product .related.products .amount {
 font-size: 20px;
  display: block; 
}
.single-product .related.products {
  border-top: 1px solid #eee;
  padding-top: 20px;
  margin-top: 40px;
}
.woocommerce .quantity,
.woocommerce .tabs {
  display: none;
}
.woocommerce-notices-wrapper {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-45px);
}
.woocommerce-notices-wrapper .woocommerce-message {
  padding: 10px;
}
.woocommerce-notices-wrapper .woocommerce-message a {
  margin: 0;
}
.woocommerce .price {
  font-size: 30px;
}
.woocommerce .more-book h2 {
  margin-bottom: 20px;
}
.woocommerce .more-book h3 {
  font-size: 1.2rem;
  margin-top: 24px;
}
.book {
  transform: translateY(-20px) rotate(-4deg);
}
.download-form input {
  flex-grow: 1;
}
.download-form input {
  padding: 10px 20px;
  border-radius: 30px 0 0 30px;
    border-color: #6E851F;
  border-style: solid;
}
.download-form button {
  border-radius: 0 30px 30px 0;
  padding: 0 20px;
}
button {
  background-color: #6E851F;
  color: #fff;
  border: 0;
  transition: all .35s ease;
}
button {
  background-color: #6E851F;
  color: #fff;
  border: 0;
  transition: all .35s ease;
}
button:hover {
  background-color: #222;
}
.input-highlight {
	box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.12) !important;
	transition: box-shadow 0.25s ease !important;
}
.mobile-menu {
	width: 32px;
	height: 32px;
}
/* Mobile menu entry animation only */

#mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 9999;
    opacity: 1;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-100%);
    transition:
        transform 0.75s cubic-bezier(.16, 1, .3, 1),
        opacity 0.35s ease,
        visibility 0.35s ease;
    overflow: hidden;
}
body.mobile-menu-open #mobile-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition:
        transform 0.75s cubic-bezier(.16, 1, .3, 1),
        opacity 0.35s ease,
        visibility 0s linear 0s;
}

/* Open state */
body.mobile-menu-open #mobile-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

/* Menu item entry state */
#mobile-menu li {
    opacity: 0;
  list-style: none;
	  margin-bottom: 20px !important;
    transform: translateY(18px);
}

/* Staggered boot-up reveal */
body.mobile-menu-open #mobile-menu li {
    animation: area52MenuItemIn 0.45s ease forwards;
}

body.mobile-menu-open #mobile-menu li:nth-child(1) { animation-delay: 0.42s; }
body.mobile-menu-open #mobile-menu li:nth-child(2) { animation-delay: 0.49s; }
body.mobile-menu-open #mobile-menu li:nth-child(3) { animation-delay: 0.56s; }
body.mobile-menu-open #mobile-menu li:nth-child(4) { animation-delay: 0.63s; }
body.mobile-menu-open #mobile-menu li:nth-child(5) { animation-delay: 0.70s; }
body.mobile-menu-open #mobile-menu li:nth-child(6) { animation-delay: 0.77s; }
body.mobile-menu-open #mobile-menu li:nth-child(7) { animation-delay: 0.84s; }
body.mobile-menu-open #mobile-menu li:nth-child(8) { animation-delay: 0.91s; }

@keyframes area52MenuItemIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Reduced motion fallback */
@media (prefers-reduced-motion: reduce) {
    #mobile-menu,
    #mobile-menu::after,
    #mobile-menu li {
        transition: none;
        animation: none !important;
        transform: none;
    }

    body.mobile-menu-open #mobile-menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    body.mobile-menu-open #mobile-menu li {
        opacity: 1;
    }
}

.error404 .col-lg-7 img {
  width: 100%;
  max-width: 360px;
  margin-bottom: 20px;
}

/* Responsive styles */
@media (max-width: 1399px) {

}

@media (max-width: 1199px) {

}

@media (max-width: 991px) {
  .recipe-cat {
    transform: translateY(0);
    margin-bottom: 20px;
  }
  .book-cover {
    transform: translate(0%, 1%) rotate(-9deg);
      width: 150px;
  }
  .overlap {
    margin-top: -40px;
  }
  .overlap img {
    max-width: 150px;
  }
  .book-block {
    margin-top: 0px;
  }
  .book-cover-height-download {
    height: 30px;
  }
  .download-book-cover {
    transform: translateY(-71px) rotate(4deg);
    width: 120px;
  }
  .sign-post .wp-post-image {
    height: 300px !important;
  }
}

@media (max-width: 767px) {
  .hero-hp {
    min-height: auto;
  }
  .hero-hp .h-100 {
    height: 50% !important;
  }
  .hero-hp .w-50 {
    width: 100% !important;
  }
  .text-image {
    height: 260px !important;
    object-position: top;
  }
  .download-book-cover {
    transform: translateY(-41px) rotate(4deg);
    width: 120px;
  }
  .download-form input {
    border-radius: 30px;
    margin-bottom: 10px;
  }
  .download-form button {
    border-radius: 30px;
    padding: 10px;
  }
  .post-type-archive-product .sign-post-2 .h-100 {
    height: auto !important;
  }
  .single-product .wp-post-image {
    width: 90%;
    margin-left: 5%;
  }
}

@media (max-width: 575px) {
  .recipe-cat {
    transform: translateY(-50%);
    margin-bottom: 0px;
  }
  .book-cover {
    transform: translate(-0%, -9%) rotate(-9deg);
  }
  .book-cover-height {
    height: auto;
  }
  .post-type-archive-product .wp-post-image {
    width: 80%;
  }
  .sign-post .wp-post-image {
    height: 260px !important;
  }
}