/*!
Theme Name: KTS - 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: kts-kadence
*/

/* Theme customization starts here
-------------------------------------------------------------- */
@media screen and (max-width: 576px) {
    h1 {
        font-size: 30px !important;
    }
}

#menu-item-3872 ul.sub-menu {
    white-space: nowrap;
    width: 300px;
}

.kts-filters {
    margin-bottom: 2rem;
}

.kts-filters form {
    display: flex;
    gap: 0.5rem 0.5rem;
    justify-content: space-between;
    flex-wrap: wrap;
}

.kts-filters .filter-sub {
    flex: 0 0 calc(33.333333% - 0.5rem);
}

.kts-filters .filter-sub.filter-submit,
.kts-filters.courses-filters .filter-sub {
    flex: 0 0 calc(25% - 0.375rem);
}

.kts-filters.shows-filters .filter-sub:first-child {
    flex: 0 0 calc(75% - 0.25rem);
}

.kts-filters .filter-sub input {
    padding: 0.2em 0.5em;
}

.kts-filters .filter-sub input,
.kts-filters .filter-sub select,
.kts-filters .filter-sub button {
    width: 100%;
}

.kts-shows {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 2rem;
}

.kts-shows-day {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}

.kts-shows-day h3 {
    border-bottom: 1px solid #919191;
}

.kts-show-row {
    text-decoration: none;
    display: flex;
    gap: 1rem;
    padding: 0.25rem 1rem;
    color: #000;
    opacity: 1;
    transition: all 300ms linear;
}

.kts-show-row:hover {
    background: #efefef;
    color: #000;
    transition: all 300ms linear;
}

.kts-show-row .title {
    font-weight: 700;
    flex: 1;
}

.kts-show-row .meta {
    font-size: 85%;
    gap: 4px;
    align-items: center;
    opacity: 0.75;
    display: flex;
}

.kts-show-timetable .timetable-row {
    display: flex;
    flex-wrap: wrap;
}

.kts-show-timetable .timetable-row:nth-child(odd) {
    background: #efefef;
}

.kts-show-timetable .timetable-row .timetable-cell {
    padding: 0.5rem 0.75rem;
    flex: 0 0 20%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.kts-show-timetable .timetable-row .timetable-cell label {
    display: block;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 75%;
}

.kts-show-timetable .timetable-row .timetable-cell span {
    color: #000;
}

.kts-show-timetable .timetable-row .timetable-cell a {
    color: #000;
}

.kts-show-images {
    display: flex;
    gap: 1rem;
    margin: 2rem 0;
    flex-wrap: wrap;
}

.kts-show-images a {
    flex: 0 0 calc(20% - 0.8rem);
}

.kts-show-images a img {
    width: 100%;
    height: auto;
}

.kts-show-images a:hover {
    opacity: 0.5;
}

.kts-show-videos {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 2rem 0;
}

.kts-show-videos .single-video {
    flex: 0 0 calc(33% - 0.66666rem);
}

.kts-show-videos .single-video iframe {
    aspect-ratio: 16 / 9;
    width: 100%;
}

.kts-show-partners {
    display: flex;
    gap: 2rem;
    margin: 2rem 0;
    align-items: center;
    flex-wrap: wrap;
}

.kts-show-partners a {
    flex: 0 0 calc(25% - 1.5rem);
}

.kts-show-partners a:hover {
    opacity: 0.5;
}

.kts-related-posts .entry-content-wrap {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    margin: 2rem 0;
}

.kts-related-posts h2 {
    flex: 0 0 100%;
}

.kts-related-posts .single-related {
    flex: 0 0 calc(33% - 1.33333rem);
    text-decoration: none;
    color: #000;
    text-align: center;
}

.kts-related-posts .single-related:hover {
    opacity: 0.5;
}

.kts-related-posts .single-related img {
    width: 100%;
    height: auto;
}

.kts-course-row {
    display: flex;
    gap: 1rem;
    padding: 0.25rem 0 0.25rem 1rem;
    align-items: center;
    color: #000;
    transition: all 300ms linear;
}

.kts-course-row:nth-child(even) {
    background: #efefef;
}

.kts-course-row .title {
    flex: 0 0 calc(33.33332% - 0.8rem);
    font-weight: 700;
}

.kts-course-row .date-start,
.kts-course-row .date-end,
.kts-course-row .info,
.kts-course-row .status {
    flex: 0 0 calc(16.66666% - 0.8rem);
}

.kts-course-row label {
    display: block;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 75%;
    color: var(--global-palette4);
}

.kts-course-row .status {
    display: flex;
    align-self: stretch;
    justify-content: center;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
}

.kts-course-row .status a,
.kts-course-row .status span {
    color: #fff;
    text-decoration: none;
    align-self: center;
}

.kts-course-row .status.status-open {
    background: #50af31;
}

.kts-course-row .status.status-full {
    background: #e6005b;
}

.kts-course-row .status.status-cancelled {
    background: red;
}

.kts-course-info {
    background: #efefef;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.kts-course-info label {
    font-weight: 700;
}

.kts-course-info .single-status {
    display: inline-block;
    margin-top: 1rem;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    padding: 0.5rem 1rem;
}

.kts-course-info .single-status a,
.kts-course-info .single-status span {
    color: #fff;
    text-decoration: none;
    align-self: center;
}

.kts-course-info .single-status.status-open {
    background: #50af31;
}

.kts-course-info .single-status.status-full {
    background: #e6005b;
}

.kts-course-info .single-status.status-cancelled {
    background: red;
}

/* Fix Complianz changing the height of the placeholder for blocked content */
.cmplz-placeholder-parent.cmplz-blocked-content-container,
.cmplz-placeholder-parent {
    height: inherit;
}

/*Shop filter accordion */

.wp-block-kadence-accordion.filter {
    display: none;
    border-radius: 10px;
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.1);
}

html[lang='en-GB'] .wp-block-kadence-accordion.filter.en {
    display: block;
}

html[lang='fi'] .wp-block-kadence-accordion.filter.fi {
    display: block;
}

.wp-block-kadence-accordion.filter
    .wp-block-kadence-pane
    .kt-accordion-header-wrap
    .kt-blocks-accordion-header.kt-accordion-panel-active {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.wp-block-kadence-accordion.filter div.wpfFilterButtons button.wpfButton {
    font-size: 90%;
    width: 48%;
}

.wp-block-kadence-accordion.filter
    div.wpfFilterButtons
    button.wpfButton:only-child {
    width: 100%;
}

.wp-block-kadence-accordion.filter div.wpfFilterButtons {
    margin-top: 1.2rem;
}

/* Product page simplifications */
.product .ppom-wrapper + div.quantity {
    display: none;
}

div[data-type='quantities'].ppom-field-wrapper {
    border: 0;
}

div[data-type='quantities'].ppom-field-wrapper > input,
div[data-type='quantities'].ppom-field-wrapper table > thead,
div[data-type='quantities'].ppom-field-wrapper
    > div
    > label.form-control-label {
    display: none;
}

div[data-type='quantities'].ppom-field-wrapper table > tbody th label {
    line-height: 3rem;
    margin-bottom: 0;
}

.ppom-id-2:not(.cfr-clone, .quantity) {
    display: none;
}

/* Shopping cart alterations */

div[data-block-name='woocommerce/classic-shortcode'] div.cart-summary h2,
div[data-block-name='woocommerce/classic-shortcode'] div.cart-collaterals h2,
div[data-block-name='woocommerce/classic-shortcode']
    div.woocommerce-billing-fields
    h3,
div[data-block-name='woocommerce/classic-shortcode']
    div.woocommerce-additional-fields
    h3,
div.product div#tab-description > h2,
div.product section.upsells > h2,
div.product section.related > h2,
div[data-block-name='woocommerce/classic-shortcode'] h3#order_review_heading {
    font-size: 2rem;
}

.header-cart-button .header-cart-total {
    display: none !important;
}

.wdp_miniCart.total {
    flex-direction: column;
}

.wdp_miniCart .woocommerce-Price-amount {
    float: left !important;
}

#cart-drawer.popup-drawer
    .drawer-content
    .woocommerce-mini-cart__buttons.buttons {
    display: block !important;
    text-align: left !important;
}

/* Events / Tickets */
.event-tickets .tribe-tickets__tickets-item {
    padding: 10px;
    margin-bottom: 10px;
}

/* Account page changes */
div.woocommerce div.account-navigation-wrap {
    width: unset;
}

@media only screen and (max-width: 991px) {
    .kts-show-row .meta {
        font-size: 75%;
    }

    .kts-show-timetable .timetable-row .timetable-cell {
        padding: 0.25rem 0.5rem;
        font-size: 14px;
    }

    .kts-course-row {
        flex-wrap: wrap;
        gap: 0.5rem 1rem;
        padding: 0.5rem 0 0.5rem 1rem;
    }

    .kts-course-row .title {
        flex: 0 0 100%;
    }

    .kts-course-row .date-start,
    .kts-course-row .date-end,
    .kts-course-row .info,
    .kts-course-row .status {
        flex: 0 0 calc(25% - 0.75rem);
    }
}

@media only screen and (max-width: 768px) {
    .kts-filters.courses-filters .filter-sub {
        flex: 0 0 calc(33.33333% - 0.5rem);
    }

    .kts-filters.courses-filters .filter-sub:first-child {
        flex: 0 0 100%;
    }

    .kts-shows-day {
        gap: 0.5rem;
    }

    .kts-show-row {
        padding: 0.25rem 0rem;
        gap: 0 1rem;
        flex-wrap: wrap;
    }

    .kts-show-row .meta {
        flex: 0 0 100%;
    }

    .kts-course-row {
        padding: 0.5rem 0 0.5rem 0.5rem;
    }

    .kts-course-row .date-start,
    .kts-course-row .date-end,
    .kts-course-row .info,
    .kts-course-row .status {
        flex: 0 0 calc(50% - 0.5rem);
    }

    .kts-show-timetable .timetable-row .timetable-cell {
        flex: 0 0 50%;
        font-size: inherit;
    }

    .kts-show-timetable .timetable-row .timetable-cell:nth-child(3) {
        flex: 0 0 100%;
    }

    .kts-show-images a {
        flex: 0 0 calc(33.333% - 0.66666rem);
    }

    .kts-show-videos .single-video {
        flex: 0 0 calc(50% - 0.5rem);
    }

    .kts-show-partners a {
        flex: 0 0 calc(33.333% - 1.33333rem);
    }

    .kts-related-posts .single-related {
        flex: 0 0 100%;
    }

    /* Shop filters */

    body.archive.woocommerce.has-sidebar .content-container {
        display: flex;
        flex-direction: column;
    }

    body.archive.woocommerce.has-sidebar .content-container main#main {
        order: 2;
    }

    body.archive.woocommerce.has-sidebar .content-container aside#secondary {
        width: 100%;
        order: 1;
    }

    .wpfFilterContent {
        padding: 0 0.6rem;
    }

    .wpfFilterContent > * {
        margin-top: 0.6rem;
    }

    div.wpfFilterWrapper[data-filter-type] {
        margin: 0;
    }

    div.wpfFilterWrapper > div.wpfFilterTitle {
        line-height: initial;
        padding: 0.4rem;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    div.wpfFilterWrapper[data-filter-type] .wfpTitle.wfpClickable {
        height: unset;
    }

    div.wpfFilterWrapper[data-filter-type] ul.wpfFilterVerScroll {
        padding-left: 1rem;
    }

    /* Shopping cart alterations */
    div[data-block-name='woocommerce/classic-shortcode'] div.cart-summary h2,
    div[data-block-name='woocommerce/classic-shortcode']
        div.cart-collaterals
        h2,
    div[data-block-name='woocommerce/classic-shortcode']
        div.woocommerce-billing-fields
        h3,
    div[data-block-name='woocommerce/classic-shortcode']
        div.woocommerce-additional-fields
        h3,
    div.product div#tab-description > h2,
    div.product div.upsells > h2,
    div.product section.related > h2,
    div[data-block-name='woocommerce/classic-shortcode']
        h3#order_review_heading {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 520px) {
    .kts-filters.courses-filters .filter-sub,
    .kts-filters.courses-filters .filter-sub:first-child {
        flex: 0 0 calc(50% - 0.25rem);
    }

    .kts-show-row {
        gap: 0 0.5rem;
    }

    .kts-show-row .date-time span {
        display: none;
    }

    .kts-course-row .status a {
        font-size: 0.875rem;
    }

    .kts-show-images a {
        flex: 0 0 calc(50% - 0.5rem);
    }

    .kts-show-videos .single-video {
        flex: 0 0 100%;
    }

    .kts-show-partners a {
        flex: 0 0 calc(50% - 1rem);
    }
}
