/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */



.kava-hero-poster,
.kava-background-mount,
.kava-desktop-background {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover;
}
@media (max-width: 991px) {
    body#index .elementor-element-um1agcj > .elementor-background-overlay {
        background: #102f34;
        opacity: .82;
    }
    body#index .elementor-element-g7t8zgj .elementor-heading-title,
    body#index .elementor-element-g7t8zgj .elementor-heading-title span {
        color: #fff;
    }
}
.kava-hero-poster { display: block; }
.kava-video-facade {
    position: absolute; inset: 0; width: 100%; height: 100%;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 12px; border: 0; background: #173e43; color: #fff; font-size: 20px; cursor: pointer;
}
.kava-video-facade > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .65; }
.kava-video-facade > span { position: relative; z-index: 1; text-shadow: 0 1px 4px #000; }
.kava-video-facade > span[aria-hidden] { font-size: 48px; }
.kava-video-facade:hover { background: #20535a; }
body #iqitmegamenu-horizontal #cbp-hrmenu-tab-9 > a.nav-link {
    background: #155e63;
    color: #fff;
}
body #iqitmegamenu-horizontal #cbp-hrmenu-tab-9 > a.nav-link .cbp-tab-title { color: #fff; }
body #iqitmegamenu-horizontal #cbp-hrmenu-tab-9 > a.nav-link:hover { background: #104b50; }
#iqitmegamenu-horizontal .cbp-tab-title,
#iqitmegamenu-horizontal .cbp-main-link { color: #174c52; }
body #footer .elementor-element-0iqs8xs .elementor-heading-title,
body #footer .elementor-element-0iqs8xs .elementor-heading-title span,
body #footer .elementor-element-0iqs8xs .elementor-icon-list-text { color: #134d53; }
body#index .elementor-element-veeb5n1 .elementor-heading-title,
body#index .elementor-element-veeb5n1 .elementor-heading-title span { color: #18575d; }

.simpleblog__post__content .kava-search-answer {
    padding: 22px;
    margin: 0 0 28px;
    background: #f1f8f8;
    border-left: 4px solid #21888b;
    border-radius: 8px;
    line-height: 1.8;
}
.simpleblog__post__content .kava-search-answer h2 { margin: 0 0 14px; font-size: 24px; line-height: 1.5; }
.simpleblog__post__content .kava-search-answer nav a { display: inline-block; margin: 4px 14px 4px 0; text-decoration: underline; }
@media (max-width: 767px) {
    .simpleblog__post__content .kava-search-answer { padding: 18px 16px; }
    .simpleblog__post__content .kava-search-answer h2 { font-size: 21px; }
}

/* Treatment explanations are paragraphs, not oversized headings. */
body#cms .page-cms-7 p.elementor-heading-title {
    line-height: 1.8;
    margin-bottom: 0;
    font-weight: 400;
}

/* Footer columns start at the same top edge, regardless of link count. */
body #footer .elementor-element-pok175s > .elementor-container > .elementor-row {
    align-items: flex-start;
}
body #footer .elementor-element-pok175s > .elementor-container > .elementor-row > .elementor-column {
    align-self: flex-start;
}
body #footer .elementor-element-pok175s > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap {
    align-items: flex-start;
    padding-top: 10px;
}
body #footer .elementor-element-pok175s .elementor-widget-wrap {
    align-content: flex-start;
    align-items: flex-start;
}
body #footer .elementor-element-pok175s .elementor-widget-heading {
    display: block !important;
}
body #footer .elementor-element-pok175s .elementor-widget-heading .elementor-heading-title {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.5;
}

/* Contact page: preserve existing content, maps and teal identity. */
body#cms .page-cms-9 .elementor-element-vzznxcn > .elementor-container { min-height: 440px; }
body#cms .page-cms-9 .elementor-element-xs19slm > .elementor-column-wrap {
    background: rgba(10,52,57,.82);
    padding: 40px 28px;
    border-radius: 12px;
}
body#cms .page-cms-9 .elementor-element-aw8pxk0 .elementor-heading-title { font-size: 34px; line-height: 1.5; margin-bottom: 24px; }
body#cms .page-cms-9 .elementor-element-0btnem2 { background: transparent; }
body#cms .page-cms-9 .elementor-element-0btnem2 > .elementor-container > .elementor-row {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px;
}
body#cms .page-cms-9 .elementor-element-0btnem2 .elementor-inner-column { width: auto; min-width: 0; }
body#cms .page-cms-9 .elementor-element-vp86qbh,
body#cms .page-cms-9 .elementor-element-dx2lh8g { display: none; }
body#cms .page-cms-9 .elementor-element-0btnem2 .elementor-inner-column > .elementor-column-wrap {
    background: #fff;
    border-radius: 10px;
    padding: 24px 12px;
    margin: 0;
    color: #184d52;
    text-align: center;
}
body#cms .page-cms-9 .elementor-element-0btnem2 .elementor-icon-list-item { justify-content: center; }
body#cms .page-cms-9 .elementor-element-0btnem2 .elementor-icon-list-text,
body#cms .page-cms-9 .elementor-element-0btnem2 .elementor-icon-list-icon i { color: #176e75; }
body#cms .page-cms-9 .elementor-element-0btnem2 .elementor-icon-list-text { font-size: 18px; line-height: 1.6; overflow-wrap: anywhere; }
body#cms .page-cms-9 .elementor-element-5sh0dj9 { margin-top: 24px; }
body#cms .page-cms-9 .elementor-element-ihynems { padding: 48px 24px; background: #f2f7f7; }
body#cms .page-cms-9 .elementor-element-h4ryr40 .elementor-heading-title { color: #184d52; font-size: 30px; line-height: 1.5; }
body#cms .page-cms-9 .kava-location-card {
    background: #fff;
    margin: 24px 0;
    padding: 12px;
    border: 1px solid #dce8e8;
    border-radius: 12px;
}
body#cms .page-cms-9 .kava-location-card > .elementor-container > .elementor-row { align-items: stretch; }
body#cms .page-cms-9 .kava-location-card .elementor-column-wrap { margin: 0; padding: 16px; }
body#cms .page-cms-9 .kava-location-card .elementor-heading-title { color: #184d52; font-size: 26px; line-height: 1.5; margin-bottom: 16px; }
body#cms .page-cms-9 .kava-location-card .elementor-text-editor { color: #354b50; line-height: 1.85; font-size: 17px; }
body#cms .page-cms-9 .kava-location-card .elementor-text-editor p:empty { display: none; }
body#cms .page-cms-9 .kava-location-card iframe { display: block; width: 100%; height: 310px; border-radius: 8px; }
body#cms .page-cms-9 .kava-location-card ul { padding-left: 22px; }
@media (max-width: 991px) {
    body#cms .page-cms-9 .elementor-element-0btnem2 > .elementor-container > .elementor-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    body#cms .page-cms-9 .elementor-element-xs19slm > .elementor-column-wrap { padding: 28px 16px; }
    body#cms .page-cms-9 .elementor-element-ihynems { padding: 32px 12px; }
    body#cms .page-cms-9 .kava-location-card { padding: 4px; }
    body#cms .page-cms-9 .kava-location-card .elementor-column-wrap { padding: 16px 12px; }
    body#cms .page-cms-9 .kava-location-card iframe { height: 240px; }
    body#cms .page-cms-9 .elementor-element-0btnem2 .elementor-icon-list-text { font-size: 16px; }
}

/* Preserve the existing Elementor layout while normalising treatment spacing. */
body#index .elementor-element-60dab3b .kava-treatment-title {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 62px;
    margin: 0 0 16px;
    font-size: 24px;
    line-height: 1.5;
}
body#index .elementor-element-60dab3b .kava-treatment-title img {
    flex-shrink: 0;
    max-width: 61px;
    height: auto;
}
body#index .elementor-element-60dab3b .elementor-text-editor {
    line-height: 1.7;
}
body#index .elementor-element-q1bqgg9 > .elementor-widget-container {
    padding-top: 0;
}
body#index .elementor-element-60dab3b p.elementor-heading-title {
    line-height: 1.8;
    margin-bottom: 24px;
}
body#index .elementor-element-indkt4h .elementor-heading-title {
    font-size: clamp(24px, 2.5vw, 36px);
    line-height: 1.5;
    letter-spacing: 0;
    white-space: nowrap;
}
@media (max-width: 767px) {
    body#index .elementor-element-3gyt1zm > .elementor-column-wrap {
        margin-left: 0;
        margin-right: 0;
        padding-left: 20px;
        padding-right: 20px;
    }
    body#index .elementor-element-39oogir > .elementor-column-wrap,
    body#index .elementor-element-etgqis4 > .elementor-column-wrap {
        padding-left: 20px;
        padding-right: 20px;
    }
    body#index .elementor-element-indkt4h .elementor-heading-title {
        font-size: clamp(19px, 6vw, 30px);
        line-height: 1.5;
    }
    body#index .elementor-element-g7t8zgj .elementor-heading-title {
        font-size: 19px;
        line-height: 1.7;
    }
}

.kava-home-faq {
    max-width: 1160px;
    margin: 32px auto 48px;
    padding: 24px 20px;
    text-align: left;
    line-height: 1.8;
}
.kava-home-faq h2 { font-size: 28px; line-height: 1.5; margin-bottom: 24px; }
.kava-home-faq .kava-faq-item { padding: 18px 0; border-bottom: 1px solid #e5e5e5; }
.kava-home-faq p { margin-bottom: 12px; }
.kava-home-faq .kava-health-note { font-size: 14px; margin-top: 20px; }

/* Long medical terms and article tables must not force horizontal scrolling. */
.simpleblog__post__content {
    overflow-wrap: anywhere;
    line-height: 1.8;
}
.simpleblog__post__content img,
.simpleblog__post__content iframe { max-width: 100%; }
.simpleblog__post__content table { display: block; max-width: 100%; overflow-x: auto; }
.simpleblog__post__content .kava-article-panel {
    margin: 24px 0;
    border: 1px solid #d7e5e5;
    border-radius: 8px;
    background: #fff;
    height: auto;
    max-height: none;
    overflow: visible;
}
.simpleblog__post__content .kava-article-panel > h2,
.simpleblog__post__content .kava-article-panel > h3 {
    margin: 0;
    padding: 18px 22px;
    background: #edf7f7;
    border-left: 4px solid #21888b;
    border-radius: 7px 7px 0 0;
    color: #184d52;
    font-size: 24px;
    line-height: 1.5;
}
.simpleblog__post__content .kava-article-panel-body {
    padding: 20px 22px;
    height: auto;
    max-height: none;
    overflow: visible;
    line-height: 1.8;
}
.simpleblog__post__content .kava-profile-headings {
    padding: 18px 22px;
    background: #edf7f7;
    border-left: 4px solid #21888b;
    border-radius: 7px 7px 0 0;
}
.simpleblog__post__content .kava-profile-headings h2,
.simpleblog__post__content .kava-profile-headings h3 {
    margin: 0 0 4px;
    color: #184d52;
    font-size: 22px;
    line-height: 1.5;
}
.simpleblog__post__content .kava-article-profile .kava-article-panel-body + .kava-article-panel-body {
    border-top: 1px solid #e4eded;
}
.simpleblog__post__content .kava-article-panel-body > :last-child { margin-bottom: 0; }
@media (max-width: 767px) {
    .simpleblog__post__content .kava-article-panel > h2,
    .simpleblog__post__content .kava-article-panel > h3 {
        padding: 15px 16px;
        font-size: 21px;
    }
    .simpleblog__post__content .kava-article-panel-body { padding: 16px; }
}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 2px solid #176b70;
    outline-offset: 3px;
}

/*embed font*/
@font-face {
    font-family: 'nova-icons';
    src: url('/themes/GrizzInteractive/assets/fonts/nova-icons.eot');
    src: url('/themes/GrizzInteractive/assets/fonts/nova-icons.eot?#iefix') format('embedded-opentype'),
    url('/themes/GrizzInteractive/assets/fonts/nova-icons.woff') format('woff'),
    url('/themes/GrizzInteractive/assets/fonts/nova-icons.ttf')  format('truetype'),
    url('/themes/GrizzInteractive/assets/fonts/nova-icons.svg#svgFontName') format('svg');
    }

    .ps-shoppingcart .cart-products-count-btn {
        height: 18px;
        top: -7px;
        right: -7px;
    }
/*checkout*/
.not-required{
    height: 0;
    width: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
}


/*Membership Dashboard Styling*/
.link-item .material-icons {
    font-size: 1rem;
    width: 1.28571429em!important;
    text-align: center;
}
/*Font Styling*/

.fa-eye-slash,.fa-sign-out,.fa-trash-o,.fa-user,.fa-shopping-bag,.fa-search,.fa-envelope-o,.fa-phone,.fa-map-marker,.fa-bars,.fa-random,.fa-history,.fa-file-o,.fa-tags,.fa-sign-out,.fa-eye,.fa-map-marker,.fa-phone{
    font-family: nova-icons;
    }
    .fa-user::before {
        content: "\e9f1"!important;
        }
        .fa-shopping-bag::before {
        content: "\e9ca"!important;
        }
        .fa-search::before {
        content: "\e9C1"!important;
        }
        .fa-envelope-o::before {
        content: "\e98A"!important;
        }
        .fa-phone::before {
        content: "\e9A7"!important;
        }
        .fa-bars::before {
        content: "\e98F"!important;
        }
        .fa-random::before{
        content: "\e9CB"!important;
        }
        .fa-history::before{
        content: "\e964"!important;
        }
        .fa-file-o::before{
        content: "\e962"!important;
        }
        .fa-tags::before{
        content: "\e60c"!important;
        }
        .fa-sign-out::before{
        content: "\e6bc"!important;
        }
        .fa-eye:before {
        content: "\e95C"!important;
        }
        .fa-map-marker:before {
        content: "\e98C"!important;
        }
        .fa-trash-o::before{
        content: "\E9E4"!important;
        }
        .fa-sign-out::before{
        content: "\E9B5"!important;
        }
        .fa-sign-out::before{
        content: "\E9B5"!important;
        }
        .fa-eye-slash:before{
        content: "\E95D"!important;
        }
    