/*
Theme Name: Hello Elementor Child
Theme URI: https://vdisain.ee
Description: Child theme for Hello Elementor
Author: Vdisain
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* Sticky menu and bg color on scroll */
.elementor-element-4bf3be0  {
    width: auto!important;
}
.header-scrolled .elementor-element-4bf3be0 {
    border: 1px solid #FFFFFF30;
    border-radius: 30px;
    border-color: #FFFFFF30!important;
    background-color: #000;
    width: auto;
}
.elementor-element-9b3f7ae {
    transition: background-color 0.4s ease-in-out !important;
}
.header-scrolled .elementor-element-f6dc4b4,
.header-scrolled .elementor-element-e4452a4,
.header-scrolled .elementor-menu-cart__toggle .elementor-button {
    background-color: #000;
    border-radius: 30px;    
}

/* Training groups (valiktunnid detail page) */
.training-groups {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.training-group-title {
    margin: 0 0 20px;
    font-family: var(--e-global-typography-4560a75-font-family, inherit);
    font-size: var(--e-global-typography-4560a75-font-size, 24px);
    font-weight: var(--e-global-typography-4560a75-font-weight, 700);
    color: var(--e-global-color-primary, #192C2F);
}

.training-group-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 40px;
}

.training-info-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.training-info-icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--e-global-color-primary, #192C2F);
    color: var(--e-global-color-primary, #192C2F);
}

.training-info-icon i {
    font-size: 32px;
    line-height: 1;
}

.training-info-item--time .training-info-icon,
.training-info-item--room .training-info-icon {
    background-color: var(--e-global-color-accent, #F5D547);
}

.training-info-item--price .training-info-icon,
.training-info-item--trainer .training-info-icon {
        background-color: #e3b10d;
}

.training-info-label {
    margin: 0 0 10px;
    font-family: var(--e-global-typography-96ca207-font-family, inherit);
    font-size: var(--e-global-typography-96ca207-font-size, 18px);
    font-weight: var(--e-global-typography-96ca207-font-weight, 700);
    color: var(--e-global-color-primary, #192C2F);
}

.training-info-value {
    margin: 0;
    font-family: var(--e-global-typography-text-font-family, inherit);
    font-size: var(--e-global-typography-text-font-size, 16px);
    color: var(--e-global-color-text, #5F6D6F);
    line-height: 1.5;
}

@media (max-width: 767px) {
    .training-group-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* Training page: Kuutasu prices stacked (1x / 2x) */
.elementor-element-d636815.e-con,
.elementor-element-d636815 > .e-con-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
}

.elementor-element-d636815 .elementor-widget {
    width: 100% !important;
    max-width: 100% !important;
}

.elementor-element-d636815 .elementor-widget-text-editor {
    margin: 0;
}

.elementor-element-d636815 .elementor-widget-text-editor p {
    margin: 0;
    white-space: normal;
}

/* Hide unmute button when hero has no video link */
#video-header-section:not([data-settings*="background_video_link"]) #unmute-video-btn,
#video-header-section:not([data-settings*="background_video_link"]) #unmute-video-btn.elementor-widget,
#video-header-section:not([data-settings*="background_video_link"]) .elementor-widget:has(#unmute-video-btn) {
    display: none !important;
}

/* Fix black gap under hero video on tablet/mobile */
#video-header-section {
    overflow: hidden !important;
    background-color: transparent !important; /* avoid dark strip if video short */
}

#video-header-section .elementor-background-video-container {
    position: absolute !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: auto !important;
    height: auto !important;
    overflow: hidden !important;
    z-index: 0 !important;
}

/* Classic cover technique — overrides Elementor’s 16:9 pixel sizing for .mov */
#video-header-section .elementor-background-video-hosted {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: auto !important;
    height: auto !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

#video-header-section .elementor-background-video-embed {
    min-width: 100% !important;
    min-height: 100% !important;
    width: max(100%, 177.78vh) !important;
    height: max(100%, 56.25vw) !important;
    max-width: none !important;
}

#video-header-section > .elementor-background-overlay,
#video-header-section > .elementor-container {
    position: relative;
    z-index: 1;
}

/* Pull white content card over hero on tablet/phone — keep modest so unmute btn stays visible */
@media (max-width: 1024px) {
    .elementor-3012 .elementor-element.elementor-element-50eb2a61,
    .elementor-460 .elementor-element.elementor-element-6f7e375 {
        margin-top: -36px !important;
    }

    #video-header-section.elementor-element-69085ad8,
    #video-header-section {
        margin-bottom: -1px;
    }
}

@media (max-width: 767px) {
    .elementor-3012 .elementor-element.elementor-element-50eb2a61,
    .elementor-460 .elementor-element.elementor-element-6f7e375 {
        margin-top: -28px !important;
    }
}

/* Hinnakiri tables */
.custom-hinnakiri-wrap {
    margin: 12px 0 40px;
}

.custom-hinnakiri-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 40px;
}

.custom-hinnakiri-nav__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    background-color: var(--e-global-color-accent, #E3B10C);
    color: var(--e-global-color-primary, #041919) !important;
    border: solid var(--e-global-color-primary, #041919);
    border-width: 1px 1px 1px 8px;
    border-radius: 50px;
    font-family: "Fjalla One", sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none !important;
    line-height: 1.2;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.custom-hinnakiri-nav__btn:hover,
.custom-hinnakiri-nav__btn:focus {
    background-color: #041919;
    color: #FFFFFF !important;
    border-color: #E3B10B;
    transform: translateY(-1px);
}

.custom-hinnakiri-block {
    scroll-margin-top: 120px;
}

.custom-hinnakiri-block + .custom-hinnakiri-block {
    margin-top: 56px;
}

.custom-hinnakiri-title {
    margin: 0 0 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--e-global-color-accent, #E3B10C);
    font-family: "Fjalla One", sans-serif;
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--e-global-color-primary, #041919);
    line-height: 1.15;
}

.custom-hinnakiri-intro {
    margin: 0 0 24px;
    max-width: 920px;
    font-family: "Heebo", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    color: var(--e-global-color-primary, #041919);
}

.custom-hinnakiri-intro p {
    margin: 0 0 10px;
}

.custom-hinnakiri-intro p:last-child {
    margin-bottom: 0;
}

.custom-hinnakiri-table-scroll {
    width: 100%;
    overflow-x: auto;
    border-radius: 18px;
    border: 1px solid var(--e-global-color-927e22f, #0419191C);
    background: #fff;
    box-shadow: 0 10px 30px rgba(4, 25, 25, 0.06);
}

.custom-hinnakiri {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    font-family: "Heebo", sans-serif;
}

.custom-hinnakiri th,
.custom-hinnakiri td {
    padding: 16px 22px;
    text-align: left;
    vertical-align: middle;
}

.custom-hinnakiri thead th {
    background: var(--e-global-color-primary, #041919);
    color: #fff;
    font-family: "Fjalla One", sans-serif;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border: none;
}

.custom-hinnakiri thead th:first-child {
    border-radius: 17px 0 0 0;
}

.custom-hinnakiri thead th:last-child,
.custom-hinnakiri__price {
    width: 1%;
    white-space: nowrap;
}

.custom-hinnakiri thead th:last-child {
    border-radius: 0 17px 0 0;
    text-align: right;
}

.custom-hinnakiri tbody tr {
    transition: background-color 0.2s ease;
}

.custom-hinnakiri tbody tr:nth-child(even) {
    background: rgba(255, 202, 172, 0.12);
}

.custom-hinnakiri tbody tr:hover {
    background: rgba(227, 177, 12, 0.14);
}

.custom-hinnakiri tbody td {
    border-bottom: 1px solid var(--e-global-color-927e22f, #0419191C);
    color: var(--e-global-color-primary, #041919);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
}

.custom-hinnakiri tbody tr:last-child td {
    border-bottom: none;
}

.custom-hinnakiri__name a {
    color: var(--e-global-color-primary, #041919);
    font-weight: 400;
    text-decoration: none;
    transition: color 0.2s ease;
}

.custom-hinnakiri__name a:hover,
.custom-hinnakiri__name a:focus {
    color: var(--e-global-color-accent, #E3B10C);
}

.custom-hinnakiri__price {
    text-align: right;
    font-weight: 400;
    white-space: nowrap;
    color: var(--e-global-color-primary, #041919);
}

@media (max-width: 767px) {
    .custom-hinnakiri-nav {
        flex-direction: column;
        margin-bottom: 28px;
    }

    .custom-hinnakiri-nav__btn {
        width: 100%;
        padding: 14px 20px;
        text-align: center;
    }

    .custom-hinnakiri-block {
        scroll-margin-top: 90px;
    }

    .custom-hinnakiri-block + .custom-hinnakiri-block {
        margin-top: 40px;
    }

    .custom-hinnakiri th,
    .custom-hinnakiri td {
        padding: 14px 16px;
    }

    .custom-hinnakiri {
        min-width: 420px;
    }
}