/*!
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: A child theme for the Kadence Theme.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/

/* Theme customization starts here
-------------------------------------------------------------- */

/* ==========================================================================
   Header Styles
   ========================================================================== */
/* Navigation */
    /* Sticky Header - Remove bottom border */
    .header-desktop-sticky.header-tablet-sticky.header-mobile-sticky.mobile-offcanvas.wp-block-kadence-header.kb-header-placeholder-wrapper {
    margin-bottom: -1px;
    }
    .kb-nav-dropdown-toggle-btn{
        display: none !important;
    }
    .kb-nav-link-content {
        padding: 6px 16px !important;
    }
    .wc-cart-menu .wc-block-mini-cart__button  {
        padding: 0 !important;
    }
    .menu-login {
        border: 1px solid white !important;
        border-radius: 100px !important;
        padding: 0 12px !important;
    }
    /* Menu */
    @media (max-width: 1090px) {
        .main-menu .kb-link-wrap .kb-nav-link-content {
            padding: 10px 10px !important;
            font-size: 14px !important;
        }
    }
    /* Logo */
    .wp-block-site-logo a, .wp-block-site-logo img {
        -webkit-border-radius: inherit !important;
                border-radius: inherit !important;
        width: 314px !important;
    }
    
    @media (max-width: 1024px) {
        .wp-block-site-logo a, .wp-block-site-logo img {
            width: 240px !important;
        }
    }

	.col-2 .kb-nav-link-content img {
        display: inline-block !important;
        margin-left: 4px;
      }


      .bread-onDark.alignCenter .kadence-breadcrumbs {
        color: white;
        text-align: center;
      }
      .bread-onDark.alignLeft .kadence-breadcrumbs {
        color: white;
        text-align: left;
      }

      .bread-onLight .kadence-breadcrumbs a {
        color: var(--global-palette3);
      }

/*********************************
    Typography
*********************************/

      /* Typography - Tablet */
  @media (max-width: 1024px) {
    h1 { font-size: 4rem !important; line-height: 1.2 !important; }    /* 64px */
    h2 { font-size: 3rem !important; line-height: 1.2 !important; }    /* 48px */
    h3 { font-size: 2.375rem !important; line-height: 1.3 !important; } /* 38px */
    h4 { font-size: 2rem !important; line-height: 1.3 !important; }    /* 32px */
    h5 { font-size: 1.75rem !important; line-height: 1.4 !important; } /* 28px */
    h6 { font-size: 1.375rem !important; line-height: 1.4 !important; } /* 22px */
  }
  
  /* Typography - Mobile */
  @media (max-width: 767px) {
    h1 { font-size: 2.25rem !important; line-height: 1.2 !important; }  /* 36px */
    h2 { font-size: 2rem !important; line-height: 1.2 !important; }     /* 32px */
    h3 { font-size: 1.75rem !important; line-height: 1.3 !important; }  /* 28px */
    h4 { font-size: 1.5rem !important; line-height: 1.3 !important; }   /* 24px */
    h5 { font-size: 1.25rem !important; line-height: 1.4 !important; }  /* 20px */
    h6 { font-size: 1.125rem !important; line-height: 1.4 !important; } /* 18px */
  }

  /*********************************
    Homepage
  *********************************/

  
  /*********************************
    Camp Registration Modal
  *********************************/
.camp-registration-form-modal {
    position: fixed !important;
    width: 100% !important;
    height: 100vh !important;
    z-index: 9999 !important;
    background-color: rgba(0, 0, 0, 0.7) !important;
    left: 0 !important;
    top: 0 !important;
    padding: 60px 40px !important;
    -webkit-backdrop-filter: blur(5px) !important;
            backdrop-filter: blur(5px) !important;
}

.camp-registration-modal-inner {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
    height: 100% !important;
}

.camp-registration-form {
    max-width: 600px !important;
    position: relative !important;
    -webkit-transform: translateZ(0) !important;
            transform: translateZ(0) !important;
}

.camp-registration-modal-close {
    position: absolute !important;
    left: 100% !important;
    top: 0 !important;
    width: 20px !important;
    height: 20px !important;
    cursor: pointer !important;
    -webkit-transition: opacity 0.2s ease !important;
    -o-transition: opacity 0.2s ease !important;
    transition: opacity 0.2s ease !important;
}

a.custom-camp-register-btn {
    -webkit-border-radius: 50px !important;
            border-radius: 50px !important;    
}

.camp_dates_range {
    font-size: 20px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    margin-bottom: 1rem !important;
    background-image: -webkit-linear-gradient(315deg,var(--global-palette1) 1%,var(--global-palette3) 99%) !important;
    background-image: -o-linear-gradient(315deg,var(--global-palette1) 1%,var(--global-palette3) 99%) !important;
    background-image: linear-gradient(135deg,var(--global-palette1) 1%,var(--global-palette3) 99%) !important;
    -webkit-box-decoration-break: clone !important;
            box-decoration-break: clone !important;
    background-clip: text !important;
    text-transform: uppercase !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: var(--global-palette3) !important;
}

.camp_prices {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
    gap: .5em !important;
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important;
}

.register_btns_row {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
    -webkit-column-gap: 24px !important;
       -moz-column-gap: 24px !important;
            column-gap: 24px !important;
}

@media (max-width: 612px) {
    .register_btns_row {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        row-gap: 24px !important;
    }
}


/* .register_btns_row > a.button  {
    border-color: var(--global-palette1) !important;
    color: var(--global-palette-btn) !important;
    -webkit-transition: all 0.2s ease !important;
    -o-transition: all 0.2s ease !important;
    transition: all 0.2s ease !important;
    background: var(--global-palette1) !important;
} */

.register_btns_row > a.button  {
    border-color: none !important;
    color: var(--global-palette-btn) !important;
    -webkit-transition: all 0.2s ease !important;
    -o-transition: all 0.2s ease !important;
    transition: all 0.2s ease !important;
    background-image: linear-gradient(135deg,var(--global-palette1) 1%,#1c57cc 99%) !important;
    border: none;
    padding: 14px 24px;
    transform: translateY(0);
}

.register_btns_row > a.button:hover {
    transform: translateY(-3px);
}


.register_btns_row > a.button svg {
    width: 1em !important;
    height: 1em !important;
}

.register_large_btns_row_inner {
    padding-inline: 1.5rem !important;
    max-width: 1290px !important;
    margin: 0 auto !important;
    padding-top: 1.5rem !important;
    padding-bottom: 3rem !important;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important;
    -webkit-column-gap: 1rem !important;
       -moz-column-gap: 1rem !important;
            column-gap: 1rem !important;
    row-gap: 2rem !important;
}

a.register_large_btn {
    -webkit-border-radius: 20px !important;
            border-radius: 20px !important;
    border: 2px solid var(--global-palette3, #1A202C) !important;
    padding: 1.5rem !important;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
    font-weight: 800 !important;
    font-size: 32px !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    color: var(--global-palette3, #1A202C) !important;
    gap: 0.25em !important;
    -webkit-box-flex: 1 !important;
    -webkit-flex: 1 !important;
        -ms-flex: 1 !important;
            flex: 1 !important;
    -webkit-transition: all .3s ease !important;
    -o-transition: all .3s ease !important;
    transition: all .3s ease !important;
    -webkit-transform: translateZ(0) !important;
            transform: translateZ(0) !important;
    -webkit-backface-visibility: hidden !important;
            backface-visibility: hidden !important;
}

a.register_large_btn .kb-svg-icon-wrap {
    display: inline-block !important;
    line-height: 1 !important;
}

a.register_large_btn svg {
    width: 1em !important;
    height: 1em !important;
    -webkit-transform: rotate(-45deg) !important;
        -ms-transform: rotate(-45deg) !important;
            transform: rotate(-45deg) !important;
}

a.register_large_btn:hover {
    background-color: var(--global-palette1, #3182CE) !important;
    color: var(--global-palette9, #ffffff) !important;
    border: 2px solid #e00235 !important;
}

@media (max-width: 1024px) {
    a.register_large_btn {
        font-size: 1.75rem !important;
        line-height: 1.4 !important;
    }
}   

@media (max-width: 767px) {
    a.register_large_btn {
        font-size: 1.25rem !important;
        line-height: 1.4 !important;
        width: 100% !important;
    }

    .register_large_btns_row_inner {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
    }
}   

.booking_status_banner > div:not([class$="_pill"]) {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
    padding: 16px !important;
    background-color: rgba(238, 242, 248, 0.12) !important;
    border: 1px solid rgba(238,242,248,0.24) !important;
    -webkit-border-radius: 12px !important;
            border-radius: 12px !important;
    text-align: center !important;
    font-size: 14px !important;
    font-style: normal !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    gap: 6px !important;
}

.booking_status_banner .booking_patch {
    padding: 4px 8px !important;
    background-color: #fff !important;
    -webkit-border-radius: 4px !important;
            border-radius: 4px !important;
    margin-right: 4px !important;
    font-weight: bold !important;
}

.booking_status_banner .booking_open .booking_patch {
    color: blue !important;
}

.booking_status_banner .booking_open {
    color: #eef2f8 !important;
}

.booking_status_banner .booking_closed .booking_patch {
    color: #f80039 !important;
}

.booking_status_banner .booking_icon_svg {
    margin-left: 4px !important;
    line-height: 1 !important;
}

.booking_status_banner .booking_icon_svg svg {
    width: 18px !important;
    height: 18px !important;
}

.booking_closed {
    background-color: rgba(41, 38, 143, 0) !important;
    border: 1px solid rgb(245, 8, 8) !important;
    color: #f80039 !important;
}

/* Add specific styling for booking_closed inside the banner */
.booking_status_banner .booking_closed {
    background-color: rgba(41, 38, 143, 0) !important;
    border: 1px solid rgb(245, 8, 8) !important;
    color: #fff !important;
}

.booking_status_banner > div[class$="_pill"] {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    font-size: 13px !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
    gap: 0.25em !important;
    -webkit-border-radius: 100px !important;
            border-radius: 100px !important;
    padding: 4px 12px !important;
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
}

.booking_status_banner  > div[class$="_pill"]  > .booking_icon_svg svg {
    margin-left: 0 !important;
    margin-right: 4px !important;
}

.booking_open_pill {
    color: #067248 !important;
    background-color: rgba(41, 187, 38, 0.21) !important;
}

.booking_closed_pill {
    color: #580417 !important;
    background-color: rgba(248, 0, 57, 0.22) !important;
}

.camp_prices_prorated_label {
    order: 2 !important;
    width: 100% !important;
    color: #f80039 !important;
}

.camp_dates_range.camp_date_label {
    margin-bottom: 4px !important;

}

.camp_times_container {
    text-align: center;
  }

.camp_time_range.camp_half_day {
    font-size: 13px;
    text-align: center;
  }

/*--------------------------------
* Custom CSS Moved Here 
--------------------------------*/
  
  /* Breadcrumbs */
  .yoast-breadcrumbs.bc-center {
      text-align: center !important;
  }
  .bc-center span,
  .breadcrumb_last {
    color: var(--global-palette9) !important;
  }
  .bc-center a {
    color: var(--global-palette9) !important;
  }
  
  /* Buttons */
  .modal-btn-outline button.kt-blocks-modal-link {
    padding: 10px 24px 10px 24px !important;
  }
  
  /* Video Group */
  .video-group {
    margin: 0 auto !important;
    position: relative !important;
    padding: 64px 16px !important;
  }
  
  /* Grids */ 
  /* Camp Rows */
  @media (max-width: 557px) {
    .camp-row-grid .kt-inside-inner-col {
      border: none !important;
      justify-content: center !important;
    }
  }
  
  @media (min-width: 558px) and (max-width: 902px) {
    .camp-row-grid .kt-row-column-wrap {
      grid-template-columns: minmax(300px, 1.5fr) minmax(200px, 1fr) !important;
      grid-template-areas: 
        "title age"
        "content content" !important;
    }
    
    .camp-row-grid .kt-inside-inner-col {
      border-top: 0px solid var(--global-palette7, #E1E8F1) !important;
      border-right: 1px solid #e1e8f1 !important;
      border-bottom: 0px solid var(--global-palette7, #E1E8F1) !important;
      border-left: 1px solid var(--global-palette7, #E1E8F1) !important;
    }
  
    .camp-row-grid .kt-row-column-wrap.kt-has-4-columns.kt-row-layout-equal.kt-tab-layout-inherit.kt-mobile-layout-row.kt-row-valign-middle {
      gap: 0 !important;
    }
  }
  
  @media (min-width: 903px) {
    .camp-row-grid .kt-row-column-wrap {
      grid-template-columns: minmax(300px, 1fr) minmax(140px, 0.5fr) minmax(260px, 2.3fr) minmax(100px, 1.5fr) !important;
    }
  }
  
  /* CPT Pages */
  .camp_dates_range {
      line-height: 1.5 !important;
      text-align: center !important;
      margin-bottom: 1rem !important;
      background-image: linear-gradient(135deg,var(--global-palette1) 1%,var(--global-palette3) 99%) !important;
      box-decoration-break: clone !important;
      background-clip: text !important;
      text-transform: uppercase !important;
      -webkit-background-clip: text !important;
      -webkit-text-fill-color: transparent !important;
      color: var(--global-palette3) !important;
  }
  .camp_price_label {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: var(--global-palette5) !important;
  }
  .camp_prices {
      display: flex !important;
      align-items: center !important;
      justify-content: start !important;
      gap: .5em !important;
      flex-wrap: wrap !important;
  }
  
  .booking_status_banner > div:not([class$="_pill"]) {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 16px !important;
      background-color: rgba(238, 242, 248, 0.12) !important;
      border: 1px solid rgba(238,242,248,0.24) !important;
      border-radius: 12px !important;
      text-align: center !important;
      font-size: 14px !important;
      font-style: normal !important;
      text-transform: none !important;
      letter-spacing: 0.5px !important;
      gap: 6px !important;
  }
  
  .booking_status_banner .booking_patch {
      padding: 4px 8px !important;
      background-color: #fff !important;
      border-radius: 4px !important;
      margin-right: 4px !important;
      font-weight: bold !important;
  }
  
  .booking_status_banner .booking_open .booking_patch {
      color: blue !important;
  }
  
  .booking_status_banner .booking_open {
      color: #eef2f8 !important;
  }
  
  .booking_status_banner .booking_closed .booking_patch {
      color: #f80039 !important;
  }
  
  .booking_status_banner .booking_icon_svg {
      margin-left: 4px !important;
      line-height: 1 !important;
  }
  
  .booking_status_banner .booking_icon_svg svg {
      width: 18px !important;
      height: 18px !important;
  }
  
  .booking_closed {
      background-color: rgba(41, 38, 143, 0) !important;
      border: 1px solid rgb(245, 8, 8) !important;
      color: #f80039 !important;
  }
  
  .booking_status_banner > div[class$="_pill"] {
      display: flex !important;
      align-items: center !important;
      font-size: 13px !important;
      justify-content: center !important;
      gap: 0.25em !important;
      border-radius: 100px !important;
      padding: 4px 12px !important;
      width: fit-content !important;
  }
  
  .booking_status_banner  > div[class$="_pill"]  > .booking_icon_svg svg {
      margin-left: 0 !important;
      margin-right: 4px !important;
  }
  
  .booking_open_pill {
      color: #067248 !important;
      background-color: rgba(41, 187, 38, 0.21) !important;
  }
  
  .booking_closed_pill {
      color: #580417 !important;
      background-color: rgba(248, 0, 57, 0.22) !important;
  }
  
  .camp_prices_prorated_label {
      order: 2 !important;
      width: 100% !important;
      text-align: center !important;
      color: #f80039 !important;
  }
  
  h3.camp_dates_range.camp_ages_range {
      font-size: 32px !important;
  }

  /* ==========================================================================
   WooCommerce Styles   
   ========================================================================== */

   .product-title.product-above {
    margin-top: 64px;
  }
    .product h1 {
        font-size: 24px !important;
    }
    .product h2 {
        font-size: 18px !important;
    }
    .wc-block-mini-cart__badge {
        color: white;
        font-size: 16px !important;
      }

/* ==========================================================================
   Footer Styles
   ========================================================================== */
 /* Removes plus icon **/
    .site-middle-footer-inner-wrap .kb-nav-link-content img {
        display: none !important;
    }
    .site-middle-footer-inner-wrap .kb-nav-link-content {
        padding-left: 0 !important;
      }

    .site-top-footer-inner-wrap {
        border-bottom: 1px solid #b0bacf !important;
      }
  
  /* Footer Credits */
  .footer-credits-container {
      display: -webkit-box !important;
      display: -webkit-flex !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-box-orient: horizontal !important;
      -webkit-box-direction: normal !important;
      -webkit-flex-direction: row !important;
          -ms-flex-direction: row !important;
              flex-direction: row !important;
      -webkit-box-pack: justify !important;
      -webkit-justify-content: space-between !important;
          -ms-flex-pack: justify !important;
              justify-content: space-between !important;
      -webkit-box-align: center !important;
      -webkit-align-items: center !important;
          -ms-flex-align: center !important;
              align-items: center !important;
      text-align: left !important;
      padding: 10px 0 !important;
      width: 100% !important;
      -webkit-flex-wrap: nowrap !important;
          -ms-flex-wrap: nowrap !important;
              flex-wrap: nowrap !important;
  }
  
  .footer-credits {
      display: -webkit-box !important;
      display: -webkit-flex !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-box-orient: horizontal !important;
      -webkit-box-direction: normal !important;
      -webkit-flex-direction: row !important;
          -ms-flex-direction: row !important;
              flex-direction: row !important;
      gap: 15px !important;
      -webkit-box-align: center !important;
      -webkit-align-items: center !important;
          -ms-flex-align: center !important;
              align-items: center !important;
      text-align: left !important;
      white-space: nowrap !important;
  }
  
  .footer-copyright, .footer-creator {
      display: block !important;
      margin: 0 !important;
      text-align: left !important;
  }
  
  /* Badge Container */
  .footer-badges {
      display: -webkit-box !important;
      display: -webkit-flex !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-flex-wrap: nowrap !important;
          -ms-flex-wrap: nowrap !important;
              flex-wrap: nowrap !important;
      -webkit-box-align: center !important;
      -webkit-align-items: center !important;
          -ms-flex-align: center !important;
              align-items: center !important;
      gap: 10px !important;
      -webkit-box-pack: end !important;
      -webkit-justify-content: flex-end !important;
          -ms-flex-pack: end !important;
              justify-content: flex-end !important;
  }
  
  /* Badge Wrapper - Ensures No Extra Space */
  .badge-wrapper {
      display: -webkit-box !important;
      display: -webkit-flex !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-box-align: center !important;
      -webkit-align-items: center !important;
          -ms-flex-align: center !important;
              align-items: center !important;
      -webkit-box-pack: center !important;
      -webkit-justify-content: center !important;
          -ms-flex-pack: center !important;
              justify-content: center !important;
      padding: 0 !important;
      margin: 0 !important;
  }
  
  /* Badge Image Styling */
  .badge-wrapper img {
      height: 42px !important;
      width: auto !important;
      max-width: 100% !important;
      -o-object-fit: contain !important;
         object-fit: contain !important;
      display: block !important;
  }
  
  /* Order Specific Styling */
  .badge-ssl { order: 4 !important; }
  .badge-guarantee { order: 4 !important; }
  .badge-visa { order: 2 !important; }
  .badge-mastercard { order: 2 !important; }
  .badge-authorize { order: 1 !important; }

  
  /* Tablet Styles */
  @media (max-width: 1024px) {
      .footer-credits-container {
          -webkit-box-orient: vertical !important;
          -webkit-box-direction: normal !important;
          -webkit-flex-direction: column !important;
              -ms-flex-direction: column !important;
                  flex-direction: column !important;
          -webkit-box-align: center !important;
          -webkit-align-items: center !important;
              -ms-flex-align: center !important;
                  align-items: center !important;
          text-align: center !important;
          gap: 24px !important;
      }
      .footer-credits,
      .footer-badges {
          width: 100% !important;
          display: -webkit-box !important;
          display: -webkit-flex !important;
          display: -ms-flexbox !important;
          display: flex !important;
          -webkit-box-orient: horizontal !important;
          -webkit-box-direction: normal !important;
          -webkit-flex-direction: row !important;
              -ms-flex-direction: row !important;
                  flex-direction: row !important;
          -webkit-box-align: center !important;
          -webkit-align-items: center !important;
              -ms-flex-align: center !important;
                  align-items: center !important;
          text-align: center !important;
          -webkit-box-pack: center !important;
          -webkit-justify-content: center !important;
              -ms-flex-pack: center !important;
                  justify-content: center !important;
          -webkit-flex-wrap: wrap !important;
              -ms-flex-wrap: wrap !important;
                  flex-wrap: wrap !important;
      }
      .footer-copyright, .footer-creator {
          text-align: center !important;
                 white-space: wrap !important;
      }
  }
  
  /* Mobile Styles */
  @media (max-width: 490px) {
      .footer-credits-container {
          -webkit-box-orient: vertical !important;
          -webkit-box-direction: normal !important;
          -webkit-flex-direction: column !important;
              -ms-flex-direction: column !important;
                  flex-direction: column !important;
          -webkit-box-align: center !important;
          -webkit-align-items: center !important;
              -ms-flex-align: center !important;
                  align-items: center !important;
          text-align: center !important;
      }
      .footer-credits {
          -webkit-box-orient: vertical !important;
          -webkit-box-direction: normal !important;
          -webkit-flex-direction: column !important;
              -ms-flex-direction: column !important;
                  flex-direction: column !important;
          gap: 5px !important;
          text-align: center !important;
          -webkit-box-align: center !important;
          -webkit-align-items: center !important;
              -ms-flex-align: center !important;
                  align-items: center !important;
      }
      .footer-copyright, .footer-creator {
          text-align: center !important;
      }
      .footer-badges {
          -webkit-flex-wrap: wrap !important;
              -ms-flex-wrap: wrap !important;
                  flex-wrap: wrap !important;
          -webkit-box-pack: center !important;
          -webkit-justify-content: center !important;
              -ms-flex-pack: center !important;
                  justify-content: center !important;
      }
  }

/* Safari-specific fixes */
@supports (-webkit-touch-callout: none) {
    a.register_large_btn,
    .camp-registration-form,
    .booking_status_banner > div {
        -webkit-transform: translateZ(0) !important;
                transform: translateZ(0) !important;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
        -webkit-backface-visibility: hidden !important;
                backface-visibility: hidden !important;
        -webkit-tap-highlight-color: transparent !important;
    }
}



/* Email Signup Form */
.wpforms-container.email-signup-inline .wpforms-field input[type="text"],
.wpforms-container.email-signup-inline .wpforms-field input[type="email"] {
    border-radius: 100px !important;
    height: 45px !important;
    padding: 8px 20px !important;
}

.wpforms-container.email-signup-inline .wpforms-submit-container {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.wpforms-container.email-signup-inline .wpforms-submit {
    border-radius: 100px !important;
    height: 45px !important;
    padding: 8px 30px !important;
    margin: 0 !important;
    background: var(--global-palette-btn-bg) !important;
    color: var(--global-palette-btn) !important;
    border: none !important;
    cursor: pointer !important;
    width: 100% !important;
}

.wpforms-container.email-signup-inline .wpforms-submit:hover,
.wpforms-container.email-signup-inline .wpforms-submit:focus,
.wpforms-container.email-signup-inline .wpforms-submit:active {
    color: var(--global-palette-btn-hover) !important;
    background: var(--global-palette-btn-bg-hover) !important;
    box-shadow: 0px 15px 25px -7px rgba(0,0,0,0.1) !important;
}

/* Hide unnecessary elements */
.wpforms-container.email-signup-inline .wpforms-field-label {
    display: none !important;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .wpforms-container.email-signup-inline .wpforms-layout-row {
        flex-direction: column !important;
    }
    
    .wpforms-container.email-signup-inline .wpforms-layout-column {
        width: 100% !important;
    }
    
    .wpforms-container.email-signup-inline .wpforms-submit {
        width: 100% !important;
    }
}

/* Hide honeypot field properly */
.wpforms-container.email-signup-inline #wpforms-5630-field_5-container,
.wpforms-container.email-signup-inline #wpforms-5630-field_1-container {
    position: absolute !important;
    left: -9999px !important;
}

/* ==========================================================================
   Camp and Clinic Event Styling
   ========================================================================== */
/* Event SEO Introduction and Description Formatting */
.event-seo-intro {
    line-height: 1.5;
    color: var(--global-palette5);
    margin: 8px 0 24px;
    font-size: 15px;
    font-weight: 500;
}

@media (max-width: 767px) {
    .event-seo-intro {
        font-size: 15px;
        padding: 12px 16px;
        margin-bottom: 20px;
    }
}

/* Fix for full width buttons */
.wp-block-button__link {
  width: auto !important;
}

/* ========================================================
   Booking Page Styling
   ======================================================== */

/* Amelia Booking Plugin */
.kt-inside-inner-col .amelia-v2-booking #amelia-container.am-fs__wrapper {
    margin:-100px auto 100px !important;
    box-shadow:0 30px 40px #243b938a !important;
}

/* ========================================================
   Consent Button Styling
   ======================================================== */

/* Consent Accept Trigger Button - !important so it wins over Kadence/block styles */
span.consent-accept-trigger {
    background: #F80039 !important;
    color: var(--global-palette-btn, #ffffff) !important;
    font-style: normal !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border-radius: var(--global-button-border-radius, 50px) !important;
    padding: var(--global-button-padding, 10px 24px) !important;
    border: var(--global-button-border, 0) !important;
    font-size: 0.9rem !important;
    line-height: var(--global-button-line-height, 1.6) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-family: inherit !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all var(--global-button-transition, .2s) ease !important;
    box-shadow: var(--global-button-shadow, 0px 0px 0px -7px rgba(0, 0, 0, 0)) !important;
    z-index: 1 !important;
    position: relative !important;
    overflow: hidden !important;
}

span.consent-accept-trigger:hover {
    background: #F80039 !important;
    color: var(--global-palette-btn-hover, #ffffff) !important;
    box-shadow: 0px 4px 12px rgba(248, 0, 57, 0.3) !important;
    transform: translateY(-1px) !important;
}

span.consent-accept-trigger:active {
    transform: translateY(0) !important;
    box-shadow: 0px 2px 6px rgba(248, 0, 57, 0.25) !important;
}

span.consent-accept-trigger:visited {
    background: var(--global-palette-btn-bg, #F80039) !important;
    color: var(--global-palette-btn, #ffffff) !important;
}

span.consent-accept-trigger.kt-btn-size-small {
    font-size: var(--global-button-font-size-small, .9rem) !important;
    padding: var(--global-button-padding-small, 8px 20px) !important;
}

/* ========================================================
   Kadence off-canvas trigger (burger) – override global button styles
   ======================================================== */

/* Prevent global button hover/focus styles from visually breaking the icon */
.wp-block-kadence-off-canvas-trigger,
.wp-block-kadence-off-canvas-trigger:hover,
.wp-block-kadence-off-canvas-trigger:focus {
    box-shadow: none !important;
    background: none !important;
}