/* ===================================
   CSS VARIABLES
   =================================== */
:root {
  --blocks-padding: .5rem;
  --blocks-color-level-1: #f19dc9;
  --blocks-color-level-2: #f19dc9;
  --blocks-color-level-3: #db2886;
  --bs-offcanvas-padding-y: 2rem;
  --bs-offcanvas-padding-xy: 2rem;
}


/* ===================================
   BASE STYLES
   =================================== */
body {
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
}

a {
  color: inherit;
  text-decoration: none;
}

hr {
  border-top-width: var(--bs-border-width) !important;
  border-color: var(--bs-border-color);
  opacity: 1;
  padding-bottom: 1rem;
}

.wp-block-separator{
  padding: 0;
  border-color: var(--color-red);
  margin: 2rem 0;
}

article a,
.product a:not(.btn,.wp-block-button__link) {
  text-decoration: underline;
}

.product .te-product-categories > a {
  text-decoration: none;
}

.alert-info{
  --bs-alert-color: var(--color-white);
  --bs-alert-bg: var(--color-black);
  --bs-alert-border-color: var(--color-black);
  --bs-alert-link-color: var(--color-red);
}

.alert-success{
  --bs-alert-color: var(--color-white);
  --bs-alert-bg: var(--color-green);
  --bs-alert-border-color: var(--color-green);
  --bs-alert-link-color: var(--color-red);
}

.alert-danger{
  --bs-alert-color: var(--color-white);
  --bs-alert-bg: var(--color-red);
  --bs-alert-border-color: var(--color-red);
  --bs-alert-link-color: var(--color-red);
}

/* ===================================
   TYPOGRAPHY
   =================================== */
.h1, .h2, .h3, .h4, .h5, h1, h2, h3, h4, h5 {
  font-weight: 800;
  margin-top: 2.5rem;
  margin-bottom: 1.5rem;
  line-height: 1.1;
  text-transform: uppercase;
}

h1, .h1 {
  font-size: var(--fs-h1);
}

h2, .h2 {
  font-size: var(--fs-h2);
}

h3, .h3 {
  font-size: var(--fs-h3);
  line-height: 1.3;
}

h4, .h4 {
  font-size: var(--fs-h4);
  margin-top: 1.5rem;
  margin-bottom: .5rem;
}

h5, .h5 {
  font-size: var(--fs-h5);
  margin-top: 1.5rem;
  margin-bottom: .5rem;
}

article h1{
  margin-bottom: 0;
}


h2 > sup {
  font-size: var(--fs-normal);
  margin-bottom: .2rem;
  color: var(--color-red);
  display: block;
}


.mh-300{min-height: 300px;}
.mw-1000{max-width: 1000px !important;}


p {
  margin-top: 1.4rem;
  margin-bottom: 1.4rem;
}

/* Remove margin before p IF after h4/h5 */
.h4 + p, h4 + p,.h5 + p, h5 + p {
    margin-top: 0;
}

.te-type{
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .08rem;
  text-decoration: none;
}

.spacer.spacer-100{
  display: block;
  height: 100px;
}
.spacer.spacer-200{
  display: block;
  height: 200px;
}

@media (max-width: 1199px) {
  .spacer.spacer-100{
    display: block;
    height: 50px;
  }
  .spacer.spacer-200{
    display: block;
    height: 100px;
  }
}

@media (min-width: 769px) {
  .text-cursive {
    font-size: 45px !important;
  }
}

/* Font Size Utilities */
.fs-xsmall { font-size: var(--fs-xsmall); }
.fs-small { font-size: var(--fs-small); }
.fs-medium { font-size: var(--fs-medium); }
.fs-normal { font-size: var(--fs-normal); }
.fs-large { font-size: var(--fs-large); }
.fs-xlarge { font-size: var(--fs-xlarge); }

.fw-400{font-weight: 400;}
.fw-500{font-weight: 500;}
.fw-600{font-weight: 600;}
.fw-700{font-weight: 700;}
.fw-800{font-weight: 800;}

@media (min-width: 1200px) {
  .w-xl-100{
    width: 100%;
  }
}

.mt-n4 {
    margin-top: -1.5rem !important;
}

/* mt-xl-n6 = -3.5rem on xl breakpoint (custom spacing-6) */
@media (min-width: 1200px) {
    .mt-xl-n6 {
        margin-top: -5rem !important;
    }
}


/* ===================================
   WORDPRESS BLOCKS
   =================================== */

/* Block Editor Base */
html :where(.wp-block) {
  max-width: unset;
}

html :where(.wp-block)[data-align=wide] {
  max-width: unset;
}

html :where(.editor-styles-wrapper) .block-editor-block-list__layout.is-root-container>.wp-block[data-align=full] {
  margin-left: unset;
  margin-right: unset;
}

div[class*="wp-block"] {
  margin-bottom: 1rem;
}

.block-editor-block-list__layout.is-root-container > .alignfull {
  max-width: 100% !important;
}

.block-editor-block-list__layout.is-root-container > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--wp--style--global--content-size) !important;
}

.is-layout-constrained > .row {
  margin-right: calc(-.5 * var(--bs-gutter-x)) !important;
  margin-left: calc(-.5 * var(--bs-gutter-x)) !important;
}

/* Quote Block */
.wp-block-quote {
  font-weight: 600;
  padding-left: 1.3rem;
  position: relative;
  overflow: hidden;
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
}

.wp-block-quote::before {
  content: '"';
  position: absolute;
  left: 0;
  font-size: 1.4em;
  line-height: 1;
  color: var(--color-black);
}

.wp-block-quote p {
  margin: 0;
}

.wp-block-quote p + p {
  margin-top: 1rem;
}

/* Groups */
.wp-block-post-content .wp-block-group {
  border: 1px dashed var(--blocks-color-level-1);
}

@media (max-width: 768px) {
  .container,
  .container-fluid,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl,
  .row {
    --bs-gutter-x: 3rem;
  }

  body:not(.editor-styles-wrapper) .wp-block-group {
    padding-left: 0;
    padding-right: 0;
  }

  body:not(.editor-styles-wrapper) .wp-block-group.alignwide {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .wp-block-group {
    max-width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* Columns */
.wp-block-columns {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
  gap: 0;
}

.wp-block-post-content .wp-block-columns {
  --bs-gutter-y: 0 !important;
  padding: .5rem;
  border: 1px dashed var(--blocks-color-level-1);
}

.wp-block-post-content .wp-block-column {
  border: 1px dashed var(--blocks-color-level-2);
}

.wp-block-columns .wp-block-column {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: unset;
}

/* Background Images & Overlay */
.wp-block-columns.has-background-image,
.wp-block-column.has-background-image,
div.has-background-image[class*="col"] {
  position: relative;
}

.wp-block-columns.has-background-image:before,
.wp-block-column.has-background-image:before,
div.has-background-image[class*="row"] > .background-image:before,
div.has-background-image[class*="col"] > .background-image:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: var(--bg-overlay-opacity);
  background-color: #000;
  z-index: 0;
}

.wp-block-column.has-background-image > * {
  z-index: 1;
  position: relative;
}

div.has-background-image[class*="col"] > .background-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
}

div.has-background-image[class*="col"] > .background-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* File Block */
.wp-block-file {
  margin: 3rem 0;
}

.wp-block-file a:not(.wp-element-button) {
  font-size: var(--fs-small);
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: .04rem;
  font-weight: 600;
}

.wp-block-file a.wp-element-button {
  text-decoration: none !important;
  margin-left: 1rem;
}

/* Gallery */
.wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
}

.wp-block-gallery > figure {
  width: 100%;
}

@media (max-width: 768px) {
  .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: 100%;
  }
}

/* Cover Block */
@media (min-width: 769px) {
  .wp-block-cover {
    padding: 2em;
  }
}

@media (max-width: 1199px) {
  .wp-block-cover > .wp-block-cover__inner-container {
    max-width: 100% !important;
  }
}

/* Images */
figure.wp-block-image {
  margin: 2rem 0;
}
div[class*="col-"] > .wp-block-image:only-child {
    margin-top: 0;
    margin-bottom: 0;
}

figure.wp-block-image:not(.block-editor-block-list__block) {
  width: 100%;
}

figure.wp-block-image > figcaption {
  font-size: var(--fs-small);
}

.wp-block-image.alignright {
  text-align: right;
}

.wp-block-image.alignleft {
  text-align: left;
}

/* Alignment Utilities */
.are-vertically-aligned-top {
  align-items: flex-start;
}

.are-vertically-aligned-center {
  align-items: center;
}

.are-vertically-aligned-bottom {
  align-items: flex-end;
}

/* Spacer Block */
.editor-styles-wrapper .block-library-spacer__resize-container {
  background: repeating-linear-gradient(45deg, transparent, transparent 10px, #ded8df 10px, #ded8df 20px);
}


/* ===================================
   FORMS
   =================================== */
.form-label {
  font-size: 17px;
  margin-bottom: .3rem;
  font-weight: 400;
  color: var(--color-grey-dark);
}

.form-control,
.form-select,
.woocommerce form .form-row .input-text{
  padding: 1.125rem 1.5rem;
  font-size: 16px;
  font-weight: 500;
  border-radius: 10px;
  border: 0;
  background-color: #fff;
  border-radius: 0;
  outline: 0 !important;
  box-shadow: none !important;
  color: var(--color-black);
}

.form-select{
  padding-right: 2.5rem;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  background-color: #fff;
  color: var(--color-black);
}

.form-control::placeholder
 {
    color: var(--color-black);
    opacity: .6;
    text-transform: uppercase;
    letter-spacing: .08rem;
    font-size: 15px;
}

.form-control[type="date"]{
  min-width: 230px;
}
.form-control[type="number"]{
  min-width: 100px;
}

.form-text {
  font-size: 15px;
  color: var(--color-black);
}

.form-check-label {
  font-size: 17px;
  font-weight: 400;
  color: var(--color-black);
}

.form-check {
  padding-left: 1.8em;
}

.form-check-input {
  width: 1.2em;
  height: 1.2em;
  margin-left: -1.8em;
  border-color: var(--color-grey);
}

.form-check-input:checked {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}


input.form-control[type="date"][placeholder]:before{
  content: attr(placeholder);
  position: absolute;
  background-color: #fff;
  color: #0000008c;
  text-transform: uppercase;
  font-size: 15px;
  letter-spacing: .08rem;
}

css/* ===================================
   Select2 Styling - Match Form Design
   =================================== */

/* Main select2 container */
.select2-container {
    width: 100% !important;
}

/* Selection box */
.select2-container--default .select2-selection--single {
    height: auto !important;
    padding: 1.125rem 1.5rem !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    border-radius: 0 !important;
    border: 0 !important;
    background-color: #fff !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Selected value text */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.5 !important;
    padding: 0 !important;
    color: var(--color-black) !important;
    text-transform: uppercase;
    letter-spacing: .08rem;
    font-size: 15px;
}

/* Dropdown arrow */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    right: 1.5rem !important;
    top: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--color-black) transparent transparent transparent !important;
    border-width: 6px 5px 0 5px !important;
}

/* Focus state */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    background-color: #fff !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Dropdown menu */
.select2-container--default .select2-results > .select2-results__options {
    max-height: 300px !important;
    background-color: #fff !important;
}

/* Dropdown options */
.select2-container--default .select2-results__option {
    padding: 0.75rem 1.5rem !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--color-black) !important;
}

/* Highlighted option */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--color-beige) !important;
    color: var(--color-black) !important;
}

/* Selected option */
.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: var(--color-red) !important;
    color: #fff !important;
}

/* Dropdown container */
.select2-dropdown {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
}

/* Search input in dropdown */
.select2-container--default .select2-search--dropdown .select2-search__field {
    padding: 0.75rem 1rem !important;
    font-size: 15px !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
}

/* Placeholder */
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--color-black) !important;
    opacity: 0.6 !important;
    text-transform: uppercase;
    letter-spacing: .08rem;
    font-size: 15px;
}


/* ===================================
   Fixed backgorund article
   =================================== */

 .fixed-bg-article {
   position: relative;
   min-height: 100vh;
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
 }
 .fixed-bg-article:before{
   content: "";
  background-color: #0000002e;
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
 }
 .fixed-bg-content {
   position: relative;
   z-index: 1;
 }


/* ===================================
   Product categories block
   =================================== */
.product-categories-block .cover-image{
  min-height: inherit;
  height: 400px;
}

@media (max-width: 1199px) {
  .product-categories-block .cover-image{
    height: 300px;
  }
}

.product-categories-block .pop{
  background-color: var(--color-red);
  font-size: var(--fs-small);
  padding: 1px 8px 1px 15px;
  left: 0;
  position: absolute;
  top: 1.5rem;
}

.product-categories-block a{
  text-decoration: none;
}

.product-categories-block .subcategories{
  color: var(--color-red);
  margin-top: -.25rem;
}

.product-categories-block h3{
    margin-top: -1.7rem;
    z-index: 1;
    position: relative;
}

/* ===================================
   Woocommerce Archive
   =================================== */

   ul.products .cover-image .content{
         max-width: 75%;
   }
   ul.products .cover-image .content .product-categories{
     font-size: var(--fs-small);
   }



   .woocommerce ul.products li.product .onsale{
     background-color: var(--color-red);
     font-size: var(--fs-small);
     padding: 1px 8px 1px 15px;
     left: 0;
     position: absolute;
     top: 1.5rem;
     font-weight: 800;
      line-height: 1.6;
   }

 /* ===================================
    Woocommerce Price wrapper
    =================================== */
    .product p.price{
      margin-top: 0;
      margin-bottom: 0;
    }
  .product .price{
    color: var(--color-white) !important;
    font-size: var(--fs-large) !important;
    display: flex;
    flex-direction: column;
  }

  .product .price > del{
    order: 2;
    font-size: var(--fs-normal) !important;
  }
  .product .price > ins{
    text-decoration: none !important;
    line-height: 1;
    color: var(--color-red);
  }
  .product .price span{
    font-weight: 800;
      line-height: 1;
  }
  .product .price:after{
    display: block;
    content: "/per person";
    text-transform: uppercase;
    font-weight: 800;
    font-size: 25px;
  }
  .woocommerce-variation-price {
      display: none !important;
  }

  .product span.onsale{
    background-color: var(--color-red);
    display: flex;
    align-items: center;
    justify-content: center;
    right: 0;
    position: relative;
    width: 50px;
    border-radius: 0;
    min-height: inherit;
    line-height: 1.2;
    font-size: var(--fs-normal);
    top: inherit;
    left: inherit;
  }

  /* ===================================
     Product attributes table
     =================================== */
  table.product-attributes {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: transparent;
    --bs-table-color: var(--color-black);
    --bs-table-striped-color: var(--color-black);
    --bs-table-border-color: #181f261c;
    font-weight: 500;
    text-transform: uppercase;
  }
  /* table.product-attributes th{
    --bs-table-color: var(--color-red);
    --bs-table-striped-color: var(--color-red);
  } */


  /* ===================================
     Woocommerce messages
     =================================== */

    /* Success messages (e.g., "Product added to cart") */
    .woocommerce-message {
      border-top-color: var(--color-green);
    }

    .woocommerce-message::before {
      color: var(--color-green);
    }

    .woocommerce-message a.button {
      display: none;
    }

    /* Error messages (e.g., "Please enter a valid email") */
    .woocommerce-error {
      border-top-color: var(--color-red);
    }

    .woocommerce-error::before {
      color: var(--color-red);
    }

    .woocommerce-error li {

    }

    /* Info messages (e.g., "Shipping costs updated") */
    .woocommerce-info {
      border-top-color: var(--color-black);
    }

    .woocommerce-info::before {
      content: "\e016";
      color: var(--color-black);
    }

    .woocommerce-info a {

    }

    /* General notices */
    .woocommerce-notice {

    }

    /* All notices wrapper */
    .woocommerce-notices-wrapper {

    }

    /* All message types (general styling) */
    .woocommerce-message,
    .woocommerce-error,
    .woocommerce-info,
    .woocommerce-notice {
      outline: 0;
    }

    /* Close/dismiss button (if applicable) */
    .woocommerce-message .woocommerce-message-close,
    .woocommerce-error .woocommerce-error-close,
    .woocommerce-info .woocommerce-info-close {

    }


  /* ===================================
     Woocommerce Add-to cart
     =================================== */
     .woocommerce div.product form.cart{
       margin-bottom: 0;
     }
    .woocommerce div.product form.cart .variations select{
      background-color: var(--color-white);
      margin-right: 0;
    }
    .woocommerce div.product form.cart .variations th.label,
    .woocommerce div.product form.cart .reset_variations{
      display: none !important;
    }
    .woocommerce div.product form.cart .variations select#pa_datum{
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23181F26'%3E%3Cpath d='M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-40q0-17 11.5-28.5T280-880q17 0 28.5 11.5T320-840v40h320v-40q0-17 11.5-28.5T680-880q17 0 28.5 11.5T720-840v40h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-160 0q-17 0-28.5-11.5T280-440q0-17 11.5-28.5T320-480q17 0 28.5 11.5T360-440q0 17-11.5 28.5T320-400Zm320 0q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-160 0q-17 0-28.5-11.5T280-280q0-17 11.5-28.5T320-320q17 0 28.5 11.5T360-280q0 17-11.5 28.5T320-240Zm320 0q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z'/%3E%3C/svg%3E");
      background-size: 20px;
    }
    .woocommerce div.product form.cart table.variations td{
      padding-bottom: 1.5rem;
    }
    .woocommerce div.product form.cart table.variations{
      margin-bottom: 1.5rem;
      border-bottom: 2px solid var(--color-red);
    }
    .woocommerce div.product form.cart div.quantity{
      margin-right: 1rem;
    }
    .woocommerce div.product form.cart div.quantity > input{
      width: 100px;
    }
    .woocommerce div.product form.cart button[type=submit]{
      width: calc(100% - 100px - 1rem);
      --bs-btn-bg: var(--color-red) !important;
    }


 /* ===================================
    Woocommerce Single product
    =================================== */
.woocommerce #content div.product div.summary,
 .woocommerce div.product div.summary,
  .woocommerce-page #content div.product div.summary,
   .woocommerce-page div.product div.summary{
     width: 100%;
     float: none;
   }

body.single-product #primary{
  background-color: var(--color-beige);
  color: var(--color-black);
}

.single-product #productTabs .nav-tabs{
  --bs-nav-tabs-border-width: 0;
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
}
.single-product #productTabs .nav-link{
  --bs-nav-link-font-size: 15px;
  --bs-nav-link-font-weight: 500;
  --bs-nav-link-color: var(--color-beige);
  --bs-nav-link-hover-color: var(--color-beige);
  --bs-nav-tabs-link-active-color: var(--color-beige);
  --bs-nav-tabs-link-active-bg: var(--color-red);
  --bs-nav-link-padding-y: 1.2rem;
}
.single-product #productTabs .nav-link:after{
  content: "";
  border-bottom: 1px solid var(--color-red);
  display: block;
}
.single-product #productTabs .nav-link:not(.active):hover:after{
  border-bottom-color: var(--color-beige);
}
.single-product #productTabs .nav-link.active:before{
  content: "";
  width: 20px;
  height: 20px;
  clip-path: polygon(93.3% 75%, 6.7% 75%, 50% 0%);
  position: absolute;
  top: calc(100% - 14px);
  background: #fff;
  left: calc(50% - 10px);
  border-bottom: 0;
  aspect-ratio: 1;
}
.single-product .price-card{
  background-color: var(--color-black);
  color: var(--color-white);
  border-radius: 25px;
}

.related.products h2{
  color: #fff;
}

.single-product .te-tab-content > h2:first-of-type{margin-top: 0;}

.single-product .te-tab-content .wp-block-separator{
  margin: 5rem 0;
}


/* ===================================
   Cart page
   =================================== */

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals{
  float: none;
  width: 100%;
}


.woocommerce table.shop_table{
  border: 0;
}
.woocommerce table.cart .cart_item > td{
  border: 0;
  border-bottom: 2px solid #181f261c;
  padding: 1rem 1rem;
}
.woocommerce table.cart tr:last-of-type td,
.woocommerce table.cart tr.cart_item:last-of-type td{
  border: 0;
}
.woocommerce table.cart td .variation{display: none;}


.woocommerce table.shop_table th{
  font-weight: 400;
}

.woocommerce-cart-form .product-name .date {
  margin-top: -5px;
}
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal{
  font-weight: 600;
}

.woocommerce-cart-form .product-quantity > .quantity{
  display: flex;
}
.woocommerce-cart-form .product-quantity button{
  background: transparent;
  padding: 0;
  border: 0;
}
.woocommerce-cart-form .product-quantity button > span{
  font-size: 30px;
}
.woocommerce-cart-form .product-quantity button:hover > span{
  font-weight: 700;
}
.woocommerce table.cart .quantity > input{
  background-color: var(--color-beige);
  padding-left: 0;
  padding-right: 0;
  min-width: 0px;
}

.woocommerce a.remove{
      line-height: .85;
}

.woocommerce-cart-form .product-thumbnail {
    display: none;
}
.woocommerce-cart-form .coupon{
  display: none;
}

.woocommerce .woocommerce-cart-form button[name="update_cart"]{
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x) !important;
}

.woocommerce .cart-collaterals .cart_totals h2{
  display: none;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button.alt.wc-forward{
  --bs-btn-bg: var(--color-green) !important;
  --bs-btn-padding-y: 1.5rem !important;
  border: 0 !important;
  font-size: var(--bs-btn-font-size);
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x) !important;
}

.cart_totals table .shipping{display: none;}


/* ===================================
   Checkout
   =================================== */
.woocommerce-checkout .woocommerce-form-coupon-toggle{display: none;}
.woocommerce form.checkout_coupon{
  display: flex !important;
  margin-top: 0;
  border: 0;
  padding: 0;
}

.woocommerce-checkout .checkout button#place_order{
  --bs-btn-bg: var(--color-green) !important;
  --bs-btn-padding-y: 1.5rem !important;
  border: 0 !important;
}


.woocommerce-checkout #payment{
  background: transparent;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment div.form-row{
  padding: 0;
}


/* Order recieved */

.woocommerce-checkout .woocommerce-thankyou-order-received{
  font-size: var(--fs-medium);
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 4rem;
}
.woocommerce-checkout .woocommerce-thankyou-order-details{
  padding: 0;
}
/* Hide default customer details on order received page */
.woocommerce-order .woocommerce-customer-details {
    display: none;
}


/* ===================================
   Animals carousel
   =================================== */


   /* Animal Link States */
   .te-animal-link {
       transition: all 0.3s ease;
       cursor: pointer;
       text-decoration: none !important;
   }

   .te-animal-link:hover {
       text-decoration: underline !important;
   }

   .te-animal-link.active {
       text-decoration: underline !important;
   }




/* ===================================
   Stock status
   =================================== */
   .stock{
    display: inline-block;
    font-size: 16px !important;
    padding: 5px 6px;
    line-height: 1;
    margin: 0 0 .5rem 0;
   }
   .stock.out-of-stock{
     background-color: var(--color-red) !important;
     color: var(--color-white) !important;
   }
   .stock.in-stock{
     background-color: var(--color-red) !important;
     color: var(--color-white) !important;
   }


/* ===================================
  Included section
  =================================== */
.included-section h2{
  border-bottom: 2px solid #181f261c;
}

.included-section ul {
    list-style: none;
    padding-left: 0;
}

.included-section ul li {
    position: relative;
    padding-left: 3rem;
    margin-bottom: 0.8rem;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: .08rem;
}

.included-section ul li::before {
  font-family: 'Material Symbols Rounded';
  content: 'check_circle';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-black);
  font-size: 28px;
  line-height: 1.2;
}

.included-section .not-included ul li::before{
  content: 'block';
}



/* ===================================
   BUTTONS
   =================================== */
.wp-block-buttons {
  display: flex;
  gap: .5rem;
  margin: 2.5rem 0 2rem;
  flex-wrap: wrap;
}

.wp-block-buttons > .wp-block-button {
  white-space: nowrap;
}

.wp-block-button__link, .btn{
  --bs-btn-padding-x: 2.5rem;
  --bs-btn-padding-y: calc(1.414rem - 2px);
  --bs-btn-font-size: 14px;
  --bs-btn-font-weight: 600;
  --bs-btn-line-height: 1.2;
  --bs-btn-border-radius: 0;
  --bs-btn-color: var(--color-white);
  --bs-btn-bg: var(--color-black);
  --bs-btn-border-width: 1px;
  --bs-btn-border-color: var(--color-black);
  --bs-btn-hover-color: var(--color-white);
  --bs-btn-hover-bg: var(--color-black);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-body-color);
  --bs-btn-active-bg: var(--bs-btn-bg);
  --bs-btn-active-border-color: transparent;
  --bs-btn-text-color: var(--color-black);
  --bs-btn-text-hover-color: var(--color-grey-dark);
  --bs-btn-disabled-opacity: 0.65;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color) !important;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .1rem;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg) !important;
  transition: color .05s ease-in-out, background-color .05s ease-in-out, border-color .05s ease-in-out;
  position: relative;
}

.btn-icon{
  padding: .688rem;
  line-height: 1;
}

/* Button Styles */
.is-style-outline > .wp-block-button__link {
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  --bs-btn-bg: transparent;
  --bs-btn-color: var(--color-black);
}

.is-style-text > .wp-block-button__link {
  --bs-btn-bg: transparent;
  --bs-btn-hover-bg: transparent;
  --bs-btn-active-bg: transparent;
  --bs-btn-active-border-color: transparent;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-color: var(--bs-btn-text-color);
  --bs-btn-hover-color: var(--bs-btn-text-hover-color);
  --bs-btn-border-color: transparent;
}

/* Button States */
.wp-block-button__link:before,
.btn:before {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 2px;
  left: 0;
  border-radius: var(--bs-btn-border-radius);
  background-color: #ffffff;
  opacity: 0;
  transition: opacity .05s ease-in-out;
}

.wp-block-button__link:hover:before,
.btn:hover:before {
  opacity: 0.15;
}

.wp-block-button__link:active:before {
  opacity: 0.2;
}

.is-style-text > .wp-block-button__link:before {
  background-color: var(--bs-btn-color);
}

.is-style-outline > .wp-block-button__link:before {
  background-color: var(--bs-btn-border-color);
}

.wp-block-button__link[disabled] {
  --bs-btn-bg: var(--bs-btn-disabled-bg);
  --bs-btn-color: var(--bs-btn-disabled-color) !important;
  --bs-btn-border-color: var(--bs-btn-disabled-bg);
  opacity: var(--bs-btn-disabled-opacity);
  cursor: not-allowed;
}

.wp-block-button__link[disabled]:before {
  display: none;
}

/* Button Icons */
.wp-block-button__link > .material-symbols-rounded {
  vertical-align: middle;
  line-height: 0;
  font-size: 20px;
  max-width: 20px;
}

.wp-block-button__link > svg {
  --button-icon-svg-size: 20px;
  height: var(--button-icon-svg-size);
  width: var(--button-icon-svg-size);
  transform: translateY(2px);
  margin-top: -5px;
  max-width: 20px;
}

/* Button Colors */
.has-blue-background-color {
  --bs-btn-active-bg: var(--color-blue-hover);
  --bs-btn-hover-bg: var(--color-blue-hover);
  --bs-btn-active-border-color: var(--color-blue-hover);
  --bs-btn-hover-border-color: var(--color-blue-hover);
  --bs-btn-active-color: var(--color-white);
  --bs-btn-hover-color: var(--color-white);
  --bs-btn-text-color: var(--color-blue);
  --bs-btn-text-hover-color: var(--color-blue-hover);
}

.has-red-background-color {
  --bs-btn-active-bg: var(--color-red-hover);
  --bs-btn-hover-bg: var(--color-red-hover);
  --bs-btn-active-border-color: var(--color-red-hover);
  --bs-btn-hover-border-color: var(--color-red-hover);
  --bs-btn-active-color: var(--color-white);
  --bs-btn-hover-color: var(--color-white);
  --bs-btn-text-color: var(--color-red);
  --bs-btn-text-hover-color: var(--color-red-hover);
}


/* ===================================
   COMPONENTS
   =================================== */

   body#tinymce{
     color: #1f1e33;
   }

/* Number Counter */
.number-counter {
  font-size: var(--fs-small);
  font-weight: 500;
}

.number-counter .value {
  font-size: var(--fs-xlarge);
  line-height: 1.2;
}

/* Posts Grid */
.posts-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}

.posts-grid > .post,
.posts-grid > li {
  width: calc(50% - 2rem);
}

@media (max-width: 1199px) {
  .posts-grid {
    gap: 2rem;
  }

  .posts-grid > .post {
    width: calc(50% - 1rem);
  }
}

@media (max-width: 768px) {
  .posts-grid > .post {
    width: 100%;
  }
}

/* Cover & Featured Images */
.cover-image,
.featured-image,
.posts-grid .wp-block-latest-posts__featured-image {
  align-items: center;
  background-position: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  min-height: 500px;
  width: 100%;
  overflow: clip;
  position: relative;
  z-index: 0;
}

.posts-grid .wp-block-latest-posts__featured-image {
  max-height: 300px;
}

@media (max-width: 1199px) {


  .posts-grid .featured-image {
    min-height: 300px;
  }

  /* article .cover-image {
    aspect-ratio: 16 / 9;
    min-height: inherit !important;
  } */
}

.cover-image > img,
.featured-image > img,
.posts-grid .featured-image > a > img,
.woocommerce ul.products li.product .cover-image > img{
  border: none;
  bottom: 0;
  box-shadow: none;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  object-fit: cover;
  outline: none;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: -1;
}

.cover-image > img.object-position-top,
.featured-image > img.object-position-top,
.posts-grid .featured-image > a > img.object-position-top {
  object-position: top;
}

.cover-image:not(.logo):before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  z-index: 0;
  opacity: 0;
}

.cover-image.overlay-1:before { opacity: .1; }
.cover-image.overlay-2:before { opacity: .2; }
.cover-image.overlay-3:before { opacity: .3; }
.cover-image.overlay-4:before { opacity: .4; }
.cover-image.overlay-5:before { opacity: .5; }
.cover-image.overlay-6:before { opacity: .6; }
.cover-image.overlay-7:before { opacity: .7; }
.cover-image.overlay-8:before { opacity: .8; }
.cover-image.overlay-9:before { opacity: .9; }

.cover-image > .content {
  z-index: 0;
}

.featured-image.logo > svg,
.featured-image.logo > a > svg,
.cover-image.logo > svg,
.cover-image.logo > a > svg {
  height: 130px;
  padding: 1rem;
}

.cover-image.hover-zoom img{
  transition: transform 6s ease;
}
a:hover .cover-image.hover-zoom img{
  transform: scale(1.3);
}
.cover-image.gradient:not(.logo):before {
  background: linear-gradient(0deg, rgba(24, 31, 38, 1) 0%, rgba(24, 31, 38, 0) 50%);
  opacity: 1 !important;
  mix-blend-mode: multiply;
  transition: opacity .5s ease;
}
a:hover .cover-image.gradient:not(.logo):before{
  opacity: .7 !important;
}
.cover-image > span.arrow{
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  transition: right .5s ease;
}
a:hover .cover-image > span.arrow{
  right: .5rem;
}

@media (min-width: 1200px) {

  .cover-image.mh-400,
  .featured-image.mh-400 { min-height: 400px; }

  .cover-image.mh-600,
  .featured-image.mh-600 { min-height: 600px; }

  .cover-image.mh-700,
  .featured-image.mh-700 { min-height: 700px; }

  .cover-image.mh-800,
  .featured-image.mh-800 { min-height: 800px; }
}

  .cover-image.h-500,
  .featured-image.h-500 { height: 500px; }


/* Collapse Component */
.kwb-collapse > a {
  border-bottom: 1px solid var(--color-black);
  font-size: var(--fs-large);
  font-weight: 500;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  color: var(--bs-body-color);
  padding: 1rem 0 .5rem 1rem;
  line-height: 1.4;
  transition: padding .35s ease;
}

.kwb-collapse > a:hover {
  padding-left: 1.5rem;
}

.kwb-collapse > a:hover:after {
  transform: rotate(15deg);
}

.kwb-collapse > a > span {
  font-size: var(--fs-small);
  font-weight: 300;
  margin-left: auto;
}

.kwb-collapse > a:after {
  content: "\f3dd";
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  font-size: 50px;
  font-weight: 100;
  color: var(--color-olive-dark);
  transition: transform .35s ease;
  margin-left: 1rem;
}

.kwb-collapse > a[aria-expanded="true"]:after {
  transform: rotate(90deg);
}

.kwb-collapse > .collapse > .wrap,
.kwb-collapse > .collapsing > .wrap {
  background-color: rgb(147 129 91 / 90%);
  color: var(--color-olive);
  width: 80%;
  margin-left: auto;
}

@media (max-width: 1199px) {
  .kwb-collapse > .collapse > .wrap,
  .kwb-collapse > .collapsing > .wrap {
    width: 100%;
  }
}

@media (max-width: 700px) {
  .kwb-collapse > a {
    flex-wrap: wrap;
  }

  .kwb-collapse > a > span {
    width: 100%;
    order: 3;
    padding: 0 !important;
    text-align: start !important;
  }
}



/* ===================================
   BOOTSTRAP EXTENSIONS
   =================================== */

/* Padding Level 6 (5rem) */
.p-6 { padding: 5rem !important; }
.px-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
.py-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
.ps-6 { padding-left: 5rem !important; }
.pe-6 { padding-right: 5rem !important; }
.pt-6 { padding-top: 5rem !important; }
.pb-6 { padding-bottom: 5rem !important; }

/* Grid Gap Level 6 (5rem) */
.g-6 { --bs-gutter-x: 5rem !important; --bs-gutter-y: 5rem !important; }
.gx-6 { --bs-gutter-x: 5rem !important; }
.gy-6 { --bs-gutter-y: 5rem !important; }

/* Margin Level 6 (5rem) */
.m-6 { margin: 5rem !important; }
.mx-6 { margin-inline: 5rem !important; }
.my-6 { margin-block: 5rem !important; }
.mt-6 { margin-block-start: 5rem !important; }
.me-6 { margin-inline-end: 5rem !important; }
.mb-6 { margin-block-end: 5rem !important; }
.ms-6 { margin-inline-start: 5rem !important; }

/* Responsive Utilities - SM (≥576px) */
@media (min-width: 576px) {
  .p-sm-6 { padding: 5rem !important; }
  .px-sm-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
  .py-sm-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
  .ps-sm-6 { padding-left: 5rem !important; }
  .pe-sm-6 { padding-right: 5rem !important; }
  .pt-sm-6 { padding-top: 5rem !important; }
  .pb-sm-6 { padding-bottom: 5rem !important; }

  .g-sm-6 { --bs-gutter-x: 5rem !important; --bs-gutter-y: 5rem !important; }
  .gx-sm-6 { --bs-gutter-x: 5rem !important; }
  .gy-sm-6 { --bs-gutter-y: 5rem !important; }

  .m-sm-6 { margin: 5rem !important; }
  .mx-sm-6 { margin-inline: 5rem !important; }
  .my-sm-6 { margin-block: 5rem !important; }
  .mt-sm-6 { margin-block-start: 5rem !important; }
  .me-sm-6 { margin-inline-end: 5rem !important; }
  .mb-sm-6 { margin-block-end: 5rem !important; }
  .ms-sm-6 { margin-inline-start: 5rem !important; }
}

/* Responsive Utilities - MD (≥768px) */
@media (min-width: 768px) {
  .p-md-6 { padding: 5rem !important; }
  .px-md-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
  .py-md-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
  .ps-md-6 { padding-left: 5rem !important; }
  .pe-md-6 { padding-right: 5rem !important; }
  .pt-md-6 { padding-top: 5rem !important; }
  .pb-md-6 { padding-bottom: 5rem !important; }

  .g-md-6 { --bs-gutter-x: 5rem !important; --bs-gutter-y: 5rem !important; }
  .gx-md-6 { --bs-gutter-x: 5rem !important; }
  .gy-md-6 { --bs-gutter-y: 5rem !important; }

  .m-md-6 { margin: 5rem !important; }
  .mx-md-6 { margin-inline: 5rem !important; }
  .my-md-6 { margin-block: 5rem !important; }
  .mt-md-6 { margin-block-start: 5rem !important; }
  .me-md-6 { margin-inline-end: 5rem !important; }
  .mb-md-6 { margin-block-end: 5rem !important; }
  .ms-md-6 { margin-inline-start: 5rem !important; }
}

/* Responsive Utilities - LG (≥992px) */
@media (min-width: 992px) {
  .p-lg-6 { padding: 5rem !important; }
  .px-lg-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
  .py-lg-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
  .ps-lg-6 { padding-left: 5rem !important; }
  .pe-lg-6 { padding-right: 5rem !important; }
  .pt-lg-6 { padding-top: 5rem !important; }
  .pb-lg-6 { padding-bottom: 5rem !important; }

  .g-lg-6 { --bs-gutter-x: 5rem !important; --bs-gutter-y: 5rem !important; }
  .gx-lg-6 { --bs-gutter-x: 5rem !important; }
  .gy-lg-6 { --bs-gutter-y: 5rem !important; }

  .m-lg-6 { margin: 5rem !important; }
  .mx-lg-6 { margin-inline: 5rem !important; }
  .my-lg-6 { margin-block: 5rem !important; }
  .mt-lg-6 { margin-block-start: 5rem !important; }
  .me-lg-6 { margin-inline-end: 5rem !important; }
  .mb-lg-6 { margin-block-end: 5rem !important; }
  .ms-lg-6 { margin-inline-start: 5rem !important; }
}

/* Responsive Utilities - XL (≥1200px) */
@media (min-width: 1200px) {
  .p-xl-6 { padding: 5rem !important; }
  .px-xl-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
  .py-xl-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
  .ps-xl-6 { padding-left: 5rem !important; }
  .pe-xl-6 { padding-right: 5rem !important; }
  .pt-xl-6 { padding-top: 5rem !important; }
  .pb-xl-6 { padding-bottom: 5rem !important; }

  .g-xl-6 { --bs-gutter-x: 5rem !important; --bs-gutter-y: 5rem !important; }
  .gx-xl-6 { --bs-gutter-x: 5rem !important; }
  .gy-xl-6 { --bs-gutter-y: 5rem !important; }

  .m-xl-6 { margin: 5rem !important; }
  .mx-xl-6 { margin-inline: 5rem !important; }
  .my-xl-6 { margin-block: 5rem !important; }
  .mt-xl-6 { margin-block-start: 5rem !important; }
  .me-xl-6 { margin-inline-end: 5rem !important; }
  .mb-xl-6 { margin-block-end: 5rem !important; }
  .ms-xl-6 { margin-inline-start: 5rem !important; }
}

/* Responsive Utilities - XXL (≥1400px) */
@media (min-width: 1400px) {
  .p-xxl-6 { padding: 5rem !important; }
  .px-xxl-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
  .py-xxl-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
  .ps-xxl-6 { padding-left: 5rem !important; }
  .pe-xxl-6 { padding-right: 5rem !important; }
  .pt-xxl-6 { padding-top: 5rem !important; }
  .pb-xxl-6 { padding-bottom: 5rem !important; }

  .g-xxl-6 { --bs-gutter-x: 5rem !important; --bs-gutter-y: 5rem !important; }
  .gx-xxl-6 { --bs-gutter-x: 5rem !important; }
  .gy-xxl-6 { --bs-gutter-y: 5rem !important; }

  .m-xxl-6 { margin: 5rem !important; }
  .mx-xxl-6 { margin-inline: 5rem !important; }
  .my-xxl-6 { margin-block: 5rem !important; }
  .mt-xxl-6 { margin-block-start: 5rem !important; }
  .me-xxl-6 { margin-inline-end: 5rem !important; }
  .mb-xxl-6 { margin-block-end: 5rem !important; }
  .ms-xxl-6 { margin-inline-start: 5rem !important; }
}