/* ==========================================
   THE KISS SHOP - BOTIGA RESPONSIVE LAYOUT
   FULL WIDTH WEBSITE
   SHOP FOOTER EDGE-TO-EDGE FIX
   SHOP FOOTER SPACING CORRECTION
   ========================================== */


/* 1. RESET WEBSITE */

html,
body {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* 2. MAIN WEBSITE WIDTH */

body #page.site {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}


/* 3. HEADER AND MAIN CONTENT SPACING */

body #page .site-header .container,
body #page .site-content > .container,
body #page .site-content .content-wrapper > .container {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
}


/* 4. AVOID DOUBLE CONTAINER SPACING */

body #page .site-header .container .container,
body #page .site-content .container .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* 5. CENTER HEADER AND CONTENT */

body #page .site-header,
body #page .site-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}


/* 6. CENTER HOMEPAGE */

body.home #page .site-content,
body.home #page .content-wrapper,
body.home #page .entry-content {
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}


/* 7. TABLET SIDE SPACING */

@media (min-width: 768px) and (max-width: 1023px) {

  body #page .site-header .container,
  body #page .site-content > .container,
  body #page .site-content .content-wrapper > .container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

}


/* 8. DESKTOP SIDE SPACING */

@media (min-width: 1024px) {

  body #page .site-header .container,
  body #page .site-content > .container,
  body #page .site-content .content-wrapper > .container {
    padding-left: 2cm !important;
    padding-right: 2cm !important;
  }

  .bhfb-main_header_row {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
  }

}


/* ==========================================
   COMPACT PAGE TITLES
   ========================================== */


/* 9. BOTIGA PAGE HEADINGS */

body #page .page-header,
body #page .woocommerce-page-header,
body #page .woocommerce-products-header {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-height: 0 !important;
}


/* 10. NORMAL WORDPRESS TITLES */

body.page #page .entry-header {
  padding-top: 15px !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 15px !important;
}


/* 11. REMOVE EXTRA HEADING MARGINS */

body #page .page-header .page-title,
body #page .woocommerce-page-header h1,
body #page .woocommerce-products-header h1,
body.page #page .entry-header .entry-title {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/* 12. CONTENT TOP SPACING */

body:not(.home) #page .content-wrapper {
  margin-top: 15px !important;
}


/* 13. SHOP AND CATEGORY SPACING */

body.woocommerce-shop #page .content-wrapper,
body.tax-product_cat #page .content-wrapper {
  margin-top: 15px !important;
}


/* 14. MOBILE TITLE SPACING */

@media (max-width: 767px) {

  body #page .page-header,
  body #page .woocommerce-page-header,
  body #page .woocommerce-products-header {
    padding-top: 15px !important;
    padding-bottom: 20px !important;
    margin-bottom: 20px !important;
  }

}


/* ==========================================
   HIDE SHOP TITLE ONLY
   ========================================== */


/* 15. HIDE MAIN SHOP TITLE */

body.post-type-archive-product
.woocommerce-products-header__title,
body.post-type-archive-product h1.page-title,
body.woocommerce-shop
.woocommerce-products-header__title,
body.woocommerce-shop h1.page-title,
body.woocommerce-shop .page-header .page-title {
  display: none !important;
}


/* 16. REMOVE EMPTY SHOP TITLE SPACE */

body.woocommerce-shop .woocommerce-products-header,
body.woocommerce-shop .page-header {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}


/* ==========================================
   ELEMENTOR FOOTER - GENERAL COMPATIBILITY
   ========================================== */


/* 17. KEEP FOOTER ELEMENTS RESPONSIVE */

body .hfe-site-footer,
body #colophon,
body footer.site-footer,
body .elementor-location-footer {
  box-sizing: border-box !important;
  max-width: none !important;
}


/* 18. REMOVE BOTIGA FOOTER CONTAINER GAPS */

body .hfe-site-footer .container,
body #colophon .container,
body .site-footer .container,
body .elementor-location-footer .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}


/* ==========================================
   SHOP PAGE - FULL BLEED FOOTER
   THIS SECTION ONLY AFFECTS SHOP
   ========================================== */


/* 19. BREAK THE FOOTER OUT OF ITS
       SHOP PAGE CONTENT CONTAINER */

body.woocommerce-shop .hfe-site-footer,
body.woocommerce-shop #colophon,
body.woocommerce-shop footer.site-footer,
body.woocommerce-shop .elementor-location-footer,
body.woocommerce-shop #hfe-footer {
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}


/* 20. SHOP FOOTER ELEMENTOR ROOT WIDTH */

body.woocommerce-shop .hfe-site-footer .elementor,
body.woocommerce-shop #colophon .elementor,
body.woocommerce-shop .site-footer .elementor,
body.woocommerce-shop .elementor-location-footer .elementor {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}


/* 21. EXPAND ROOT ELEMENTOR SECTIONS
       EVEN IF THEIR PARENT IS NARROW */

body.woocommerce-shop .hfe-site-footer
.elementor > .elementor-element,
body.woocommerce-shop #colophon
.elementor > .elementor-element,
body.woocommerce-shop .site-footer
.elementor > .elementor-element,
body.woocommerce-shop .elementor-location-footer
.elementor > .elementor-element {
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}


/* 22. REMOVE BOXED SECTION WIDTH
       INSIDE SHOP FOOTER ONLY */

body.woocommerce-shop .hfe-site-footer
.elementor-section-boxed > .elementor-container,
body.woocommerce-shop #colophon
.elementor-section-boxed > .elementor-container,
body.woocommerce-shop .site-footer
.elementor-section-boxed > .elementor-container {
  width: 100% !important;
  max-width: none !important;
}


/* 23. REMOVE FLEXBOX INNER WIDTH LIMITS */

body.woocommerce-shop .hfe-site-footer
.e-con-boxed > .e-con-inner,
body.woocommerce-shop #colophon
.e-con-boxed > .e-con-inner,
body.woocommerce-shop .site-footer
.e-con-boxed > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
}


/* 24. PREVENT HORIZONTAL PAGE SCROLL
       CAUSED BY FULL BLEED FOOTER */

body.woocommerce-shop {
  overflow-x: hidden;
}


/* ==========================================
   25. SPACE ABOVE SHOP FOOTER
   CORRECTED - FOOTER MARGIN
   ========================================== */

/* DESKTOP DEFAULT */

body.woocommerce-shop .hfe-site-footer,
body.woocommerce-shop #colophon,
body.woocommerce-shop footer.site-footer,
body.woocommerce-shop .elementor-location-footer,
body.woocommerce-shop #hfe-footer {
  margin-top: 55px !important;
}


/* TABLET */

@media (min-width: 768px) and (max-width: 1023px) {

  body.woocommerce-shop .hfe-site-footer,
  body.woocommerce-shop #colophon,
  body.woocommerce-shop footer.site-footer,
  body.woocommerce-shop .elementor-location-footer,
  body.woocommerce-shop #hfe-footer {
    margin-top: 40px !important;
  }

}


/* MOBILE */

@media (max-width: 767px) {

  body.woocommerce-shop .hfe-site-footer,
  body.woocommerce-shop #colophon,
  body.woocommerce-shop footer.site-footer,
  body.woocommerce-shop .elementor-location-footer,
  body.woocommerce-shop #hfe-footer {
    margin-top: 30px !important;
  }

}


/* PREVENT DOUBLE SPACING
   IF FOOTER WRAPPERS ARE NESTED */

body.woocommerce-shop .hfe-site-footer
.elementor-location-footer,
body.woocommerce-shop #colophon
.elementor-location-footer,
body.woocommerce-shop #colophon
.hfe-site-footer,
body.woocommerce-shop footer.site-footer
.hfe-site-footer,
body.woocommerce-shop footer.site-footer
.elementor-location-footer,
body.woocommerce-shop #hfe-footer
.hfe-site-footer {
  margin-top: 0 !important;
}


/* ==========================================
   END - THE KISS SHOP
   ========================================== */