.elementor-25 .elementor-element.elementor-element-cadcbd3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:20px 20px 20px 20px;--margin-top:50px;--margin-bottom:0px;--margin-left:20px;--margin-right:20px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-25 .elementor-element.elementor-element-cadcbd3:not(.elementor-motion-effects-element-type-background), .elementor-25 .elementor-element.elementor-element-cadcbd3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FEEED5;}.elementor-25 .elementor-element.elementor-element-56dd93a{--display:flex;--justify-content:center;}.elementor-25 .elementor-element.elementor-element-56dd93a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-25 .elementor-element.elementor-element-db57068 .elementor-heading-title{font-family:"Fredoka", Sans-serif;font-size:34px;font-weight:600;text-transform:uppercase;color:var( --e-global-color-95be741 );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-25 .elementor-element.elementor-element-918410c{font-family:"Nunito", Sans-serif;font-weight:400;color:var( --e-global-color-7f7b5d3 );}.elementor-25 .elementor-element.elementor-element-2c72d17{--display:flex;}.elementor-25 .elementor-element.elementor-element-2c72d17.e-con{--align-self:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-25 .elementor-element.elementor-element-f73385f{--display:flex;--border-radius:20px 20px 20px 20px;}.elementor-25 .elementor-element.elementor-element-f73385f:not(.elementor-motion-effects-element-type-background), .elementor-25 .elementor-element.elementor-element-f73385f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-fd19b32 );}.elementor-25 .elementor-element.elementor-element-11fc62f .jet-listing-dynamic-repeater__items{flex-direction:flex-start;justify-content:flex-start;}.elementor-25 .elementor-element.elementor-element-11fc62f .jet-listing-dynamic-repeater__item > *{justify-content:flex-start;}.elementor-25 .elementor-element.elementor-element-3090a77{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--border-radius:20px 20px 20px 20px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);--margin-top:50px;--margin-bottom:50px;--margin-left:40px;--margin-right:40px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-25 .elementor-element.elementor-element-eb2f3e0{width:var( --container-widget-width, 73% );max-width:73%;--container-widget-width:73%;--container-widget-flex-grow:0;}.elementor-25 .elementor-element.elementor-element-eb2f3e0.elementor-element{--align-self:center;}.elementor-25 .elementor-element.elementor-element-eb2f3e0 .elementor-menu-toggle{margin:0 auto;}.elementor-25 .elementor-element.elementor-element-eb2f3e0 .elementor-nav-menu .elementor-item{font-family:"Nunito", Sans-serif;font-size:14px;font-weight:600;}.elementor-25 .elementor-element.elementor-element-eb2f3e0 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-c3f0981 );fill:var( --e-global-color-c3f0981 );}.elementor-widget-search{--e-search-input-color:var( --e-global-color-text );}.elementor-widget-search.e-focus{--e-search-input-color:var( --e-global-color-text );}.elementor-widget-search .elementor-pagination{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-25 .elementor-element.elementor-element-464f291{width:var( --container-widget-width, 13% );max-width:13%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:13%;--container-widget-flex-grow:0;--e-search-input-padding-block-start:0px;--e-search-input-padding-inline-start:0px;--e-search-input-padding-block-end:0px;--e-search-input-padding-inline-end:0px;--e-search-icon-label-size:14px;--e-search-input-gap:19px;}.elementor-25 .elementor-element.elementor-element-464f291 .e-search-input{font-family:"Nunito", Sans-serif;font-size:12px;border-style:none;}.elementor-25 .elementor-element.elementor-element-ba6e414{--display:flex;}.elementor-25 .elementor-element.elementor-element-72a4953{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-25 .elementor-element.elementor-element-258b6ab{--display:flex;}.elementor-25 .elementor-element.elementor-element-28c6b00{--display:flex;}.elementor-25 .elementor-element.elementor-element-a096c82{--display:flex;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-25 .elementor-element.elementor-element-a17f9bc .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-25 .elementor-element.elementor-element-7a19bb9 > .jet-listing-grid > .jet-listing-grid__items{--columns:3;}@media(min-width:768px){.elementor-25 .elementor-element.elementor-element-56dd93a{--width:40.88%;}.elementor-25 .elementor-element.elementor-element-2c72d17{--width:25%;}.elementor-25 .elementor-element.elementor-element-f73385f{--width:25%;}.elementor-25 .elementor-element.elementor-element-3090a77{--content-width:1279px;}}/* Start custom CSS for container, class: .elementor-element-2c72d17 */.elementor-25 .elementor-element.elementor-element-2c72d17 {
    position: relative;
    overflow: visible;
    z-index: 1;
}

.elementor-25 .elementor-element.elementor-element-2c72d17::before {
    content: "";
    position: absolute;
    width: calc(100%);
    height: calc(100% + 70px);
    left: -4px;
    top: -40px;

    background-image: url("https://tpitdev8.uk/wp-content/uploads/2026/05/ChatGPT-Image-May-29-2026-02_30_43-PM.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;

    z-index: -1;
    pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for jet-listing-dynamic-repeater, class: .elementor-element-11fc62f *//* =========================================
   Taxonomy Feature Meta Cards
========================================= */

.elementor-element-cadcbd3 .taxonomy-features .jet-listing-dynamic-repeater__items {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;

    width: 100% !important;
    max-width: 340px !important;

    background: #ffffff !important;
    border: 1px solid #f1e3ea !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 25px rgba(80, 32, 62, 0.10) !important;
    overflow: hidden !important;
}

/* Individual repeater cells */
.elementor-element-cadcbd3 .taxonomy-features .jet-listing-dynamic-repeater__item {
    min-width: 0 !important;
    padding: 22px 18px !important;
    box-sizing: border-box !important;
}

/* Dividing lines */
.elementor-element-cadcbd3 .taxonomy-features .jet-listing-dynamic-repeater__item:nth-child(odd) {
    border-right: 1px solid #f1dfe8 !important;
}

.elementor-element-cadcbd3 .taxonomy-features .jet-listing-dynamic-repeater__item:nth-child(-n+2) {
    border-bottom: 1px solid #f1dfe8 !important;
}

/* Feature item content */
.elementor-element-cadcbd3 .taxonomy-features__item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;

    min-height: 82px !important;
    gap: 8px !important;
}

/* Icon */
.elementor-element-cadcbd3 .taxonomy-features__icon {
    width: auto !important;
    height: auto !important;
    font-size: 34px !important;
    line-height: 1 !important;
    color: #fc7310 !important;
}

/* Alternate icon colours */
.elementor-element-cadcbd3 .jet-listing-dynamic-repeater__item:nth-child(2) .taxonomy-features__icon {
    color: #f4629d !important;
}

.elementor-element-cadcbd3 .jet-listing-dynamic-repeater__item:nth-child(3) .taxonomy-features__icon {
    color: #b47bdc !important;
}

.elementor-element-cadcbd3 .jet-listing-dynamic-repeater__item:nth-child(4) .taxonomy-features__icon {
    color: #f5a400 !important;
}

/* Text */
.elementor-element-cadcbd3 .taxonomy-features__text {
    display: block !important;
    color: #7b1f4d !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cadcbd3 *//* =========================================
   Category Hero / Meta Section Width Fix
   Outer container: cadcbd3
   3 equal inner columns: 33.333% each
========================================= */

/* Keep the whole hero aligned with the rest of the page */
.elementor-element-cadcbd3 {
    width: calc(100% - 40px) !important;
    max-width: 1279px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 22px !important;
}

/* Inner wrapper: force 3 equal columns */
.elementor-element-cadcbd3 > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: 28px !important;

    box-sizing: border-box !important;
}

/* All direct child columns */
.elementor-element-cadcbd3 > .e-con-inner > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    justify-self: stretch !important;
}

/* Left text column */
.elementor-element-cadcbd3 .elementor-element-56dd93a {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Middle logo / brush image column */
.elementor-element-cadcbd3 .elementor-element-2c72d17 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Image inside middle column */
.elementor-element-cadcbd3 .elementor-element-ca048a2 {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
}

.elementor-element-cadcbd3 .elementor-element-ca048a2 img {
    max-width: 100% !important;
    height: auto !important;
    display: inline-block !important;
}

/* Right feature/meta card column */
.elementor-element-cadcbd3 .elementor-element-f73385f {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Feature cards must stay inside the 33% column */
.elementor-element-cadcbd3 .taxonomy-features,
.elementor-element-cadcbd3 .taxonomy-features .elementor-widget-container,
.elementor-element-cadcbd3 .taxonomy-features .jet-listing,
.elementor-element-cadcbd3 .taxonomy-features .jet-listing-dynamic-repeater,
.elementor-element-cadcbd3 .taxonomy-features .jet-listing-dynamic-repeater__items {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}


/* =========================================
   Category Hero Responsive
========================================= */

@media (max-width: 1024px) {
    .elementor-element-cadcbd3 {
        width: calc(100% - 30px) !important;
    }

    .elementor-element-cadcbd3 > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .elementor-element-cadcbd3 > .e-con-inner > .elementor-element {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 767px) {
    .elementor-element-cadcbd3 {
        width: calc(100% - 24px) !important;
        border-radius: 18px !important;
    }

    .elementor-element-cadcbd3 > .e-con-inner {
        gap: 20px !important;
    }
}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-eb2f3e0 *//* =========================================
   Online Studio Category Menu - Pill Style
   Targets Elementor Nav Menu widget eb2f3e0
========================================= */

/* Horizontal menu layout */
.elementor-element-eb2f3e0 .elementor-nav-menu {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

/* Remove default Elementor underline/framed effects */
.elementor-element-eb2f3e0 .elementor-nav-menu--main .elementor-item::before,
.elementor-element-eb2f3e0 .elementor-nav-menu--main .elementor-item::after {
    display: none !important;
}

/* Default menu pill */
.elementor-element-eb2f3e0 .elementor-nav-menu--main .elementor-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    padding: 10px 22px !important;

    border: 2px solid #f5a5c7;
    border-radius: 999px;

    background: #ffffff;
    color: #cf4f91 !important;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    text-decoration: none !important;
    box-shadow: none;
    transition: all 0.22s ease;
}

/* Hover state */
.elementor-element-eb2f3e0 .elementor-nav-menu--main .elementor-item:hover {
    background: #fff5fa;
    border-color: #ff7a18;
    color: #ff6b00 !important;
    transform: translateY(-1px);
}

/* Active/current category pill */
.elementor-element-eb2f3e0 .elementor-nav-menu--main .current-menu-item > .elementor-item,
.elementor-element-eb2f3e0 .elementor-nav-menu--main .elementor-item-active {
    background: linear-gradient(135deg, #ff7a18 0%, #ff5f00 100%);
    border-color: #ff7a18;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(255, 107, 0, 0.22);
}

/* Active hover */
.elementor-element-eb2f3e0 .elementor-nav-menu--main .current-menu-item > .elementor-item:hover,
.elementor-element-eb2f3e0 .elementor-nav-menu--main .elementor-item-active:hover {
    background: linear-gradient(135deg, #ff8a2a 0%, #ff6b00 100%);
    color: #ffffff !important;
    transform: translateY(-1px);
}



/* =========================================
   Mobile Dropdown Menu
========================================= */

.elementor-element-eb2f3e0 .elementor-menu-toggle {
    background: #ffffff;
    color: #ff6b00;
    border: 2px solid #f5a5c7;
    border-radius: 14px;
    padding: 10px;
}

.elementor-element-eb2f3e0 .elementor-menu-toggle svg {
    fill: #ff6b00;
}

/* Dropdown container */
.elementor-element-eb2f3e0 .elementor-nav-menu--dropdown {
    margin-top: 12px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid #f1e3ea;
    box-shadow: 0 12px 28px rgba(80, 32, 62, 0.12);
    overflow: hidden;
}

/* Dropdown list */
.elementor-element-eb2f3e0 .elementor-nav-menu--dropdown .elementor-nav-menu {
    display: block;
    padding: 10px;
}

/* Dropdown items */
.elementor-element-eb2f3e0 .elementor-nav-menu--dropdown .elementor-item {
    display: block;
    padding: 14px 16px !important;
    margin: 4px 0;

    border-radius: 12px;
    background: transparent;
    color: #7b1f4d !important;

    font-family: "Poppins", sans-serif;
    font-size: 15px;
    font-weight: 600;
}

/* Dropdown hover */
.elementor-element-eb2f3e0 .elementor-nav-menu--dropdown .elementor-item:hover {
    background: #fff1f7;
    color: #ff6b00 !important;
}

/* Dropdown active */
.elementor-element-eb2f3e0 .elementor-nav-menu--dropdown .current-menu-item > .elementor-item,
.elementor-element-eb2f3e0 .elementor-nav-menu--dropdown .elementor-item-active {
    background: linear-gradient(135deg, #ff7a18 0%, #ff5f00 100%);
    color: #ffffff !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3090a77 *//* =========================================
   Online Studio Filter/Search Bar Width Fix
   Container: 3090a77
   Menu: eb2f3e0
   Search: 464f291
========================================= */

/* Main filter/search outer container */
.elementor-element-3090a77 {
    width: calc(100% - 40px) !important;
    max-width: 1279px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    border-radius: 18px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Inner Elementor boxed container */
.elementor-element-3090a77 > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;

    padding: 18px 22px !important;
    box-sizing: border-box !important;
}

/* Menu widget area */
.elementor-element-3090a77 .elementor-element-eb2f3e0 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Search widget area */
.elementor-element-3090a77 .elementor-element-464f291 {
    flex: 0 0 260px !important;
    width: 260px !important;
    max-width: 260px !important;
    min-width: 220px !important;
}

/* Stop menu from forcing the container wider */
.elementor-element-eb2f3e0 .elementor-nav-menu {
    max-width: 100% !important;
    flex-wrap: wrap !important;
}

/* Search form should stay inside its column */
.elementor-element-464f291,
.elementor-element-464f291 .e-search,
.elementor-element-464f291 .e-search-form {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Search input styling */
.elementor-element-464f291 .e-search-form {
    height: 42px !important;
    border: 1px solid #eadde5 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    padding: 0 14px !important;
}

.elementor-element-464f291 .e-search-input {
    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    color: #7b1f4d !important;
}

.elementor-element-464f291 .e-search-input::placeholder {
    color: #aaa0aa !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-258b6ab *//* =========================================
   Welcome & Orientation Static Card
========================================= */

.online-studio-video-card--welcome {
    background: linear-gradient(135deg, #ffe2ef 0%, #fff2d9 100%) !important;
    border: 1px solid #ffc0d9 !important;
    border-radius: 22px !important;
    overflow: hidden !important;

    box-shadow: 0 12px 32px rgba(80, 32, 62, 0.08) !important;

    display: flex !important;
    flex-direction: column !important;

    min-height: 100% !important;
}

.online-studio-video-card--welcome .welcome-card__image {
    position: relative !important;
    aspect-ratio: 16 / 9 !important;
    background: linear-gradient(135deg, #ffe2ef 0%, #f7e1ff 100%) !important;
    overflow: hidden !important;
}

.online-studio-video-card--welcome .welcome-card__image img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
}

.online-studio-video-card--welcome .online-studio-video-card__body {
    padding: 24px 24px 26px !important;
}

.online-studio-video-card--welcome .online-studio-video-card__title h3,
.online-studio-video-card--welcome .online-studio-video-card__title,
.online-studio-video-card--welcome h3 {
    color: #5f1744 !important;
    font-family: "Fredoka", "Poppins", sans-serif !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
}

.online-studio-video-card--welcome .online-studio-video-card__excerpt,
.online-studio-video-card--welcome .online-studio-video-card__excerpt p {
    color: #6d5a68 !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.online-studio-video-card--welcome .welcome-card__button a,
.online-studio-video-card--welcome .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 42px !important;
    padding: 11px 22px !important;

    border-radius: 999px !important;
    background: #fc7310 !important;
    color: #ffffff !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;

    box-shadow: 0 8px 18px rgba(252, 115, 16, 0.25) !important;
}

.online-studio-video-card--welcome .welcome-card__button a:hover,
.online-studio-video-card--welcome .elementor-button:hover {
    background: #f4629d !important;
    color: #ffffff !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ba6e414 *//* =========================================================
   ONLINE STUDIO LISTING SECTION + GRID + CARDS
   FULL REPLACEMENT CSS
   Row 1: Welcome Card | Video 1 | Video 2
   Row 2+: Video 3 | Video 4 | Video 5
========================================================= */


/* =========================================================
   LISTING SECTION ALIGNMENT
========================================================= */

.online-studio-listing-section {
    width: calc(100% - 40px) !important;
    max-width: 1279px !important;

    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 34px !important;
    margin-bottom: 60px !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}

.online-studio-listing-section > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   MANUAL GRID WRAPPER
   This handles Elementor container + e-con-inner properly
========================================================= */

.online-studio-manual-grid {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

/* The REAL grid must be on the inner Elementor wrapper */
.online-studio-manual-grid > .e-con-inner,
.online-studio-manual-grid:not(.e-con-boxed) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;

    width: 100% !important;
    max-width: 100% !important;

    align-items: stretch !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

/* Stop Elementor flex settings from affecting direct children */
.online-studio-manual-grid > .e-con-inner > .elementor-element,
.online-studio-manual-grid:not(.e-con-boxed) > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    flex: none !important;
    align-self: stretch !important;

    box-sizing: border-box !important;
}

/* Welcome card is a normal 1-column grid card */
.online-studio-manual-grid .online-studio-video-card--welcome {
    grid-column: auto !important;
    grid-row: auto !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 100% !important;
}


/* =========================================================
   FLATTEN THE JETENGINE LISTING WRAPPERS
   This is the bit that fixes the thin first video card
========================================================= */

/* If the JetEngine listing is inside an Elementor child container,
   flatten that wrapper so its cards join the main 3-column grid */
.online-studio-manual-grid > .e-con-inner > .elementor-element:not(.online-studio-video-card--welcome):has(.jet-listing-grid),
.online-studio-manual-grid:not(.e-con-boxed) > .elementor-element:not(.online-studio-video-card--welcome):has(.jet-listing-grid) {
    display: contents !important;
}

/* Flatten the JetEngine widget and its internal wrappers */
.online-studio-manual-grid .elementor-widget-jet-listing-grid,
.online-studio-manual-grid .elementor-widget-jet-listing-grid > .elementor-widget-container,
.online-studio-manual-grid .jet-listing-grid,
.online-studio-manual-grid .jet-listing-grid__slider,
.online-studio-manual-grid .jet-listing-grid__items {
    display: contents !important;
}

/* Every JetEngine item becomes a normal grid item */
.online-studio-manual-grid .jet-listing-grid__item {
    grid-column: auto !important;
    grid-row: auto !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    flex: none !important;
    flex-basis: auto !important;
    flex-grow: 0 !important;
    flex-shrink: 1 !important;

    height: 100% !important;
    min-height: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: stretch !important;

    box-sizing: border-box !important;
}

/* Kill JetEngine/Elementor column maths */
.online-studio-manual-grid .jet-listing-grid__item[class*="grid-col"],
.online-studio-manual-grid .jet-listing-grid__items[class*="grid-col"] > .jet-listing-grid__item {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
}

/* Elementor wrapper inside each dynamic card */
.online-studio-manual-grid .jet-listing-grid__item > .elementor {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 100% !important;
    min-height: 100% !important;

    display: flex !important;
    align-items: stretch !important;

    box-sizing: border-box !important;
}

/* The actual video card inside JetEngine */
.online-studio-manual-grid .jet-listing-grid__item .online-studio-video-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 100% !important;

    box-sizing: border-box !important;
}


/* =========================================================
   BASE CARD STYLE
========================================================= */

.online-studio-video-card,
.online-studio-video-card--welcome {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 100% !important;
    min-height: 430px !important;

    display: flex !important;
    flex-direction: column !important;

    background: #ffffff !important;
    border: 1px solid #f4d7e5 !important;
    border-radius: 22px !important;
    overflow: hidden !important;

    box-shadow: 0 12px 32px rgba(80, 32, 62, 0.08) !important;

    padding: 0 !important;
    margin: 0 !important;

    box-sizing: border-box !important;

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease !important;
}

.online-studio-video-card:hover,
.online-studio-video-card--welcome:hover {
    transform: translateY(-4px) !important;
    border-color: #f4a7c8 !important;
    box-shadow: 0 18px 38px rgba(80, 32, 62, 0.13) !important;
}

.online-studio-video-card > .e-con-inner,
.online-studio-video-card--welcome > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 100% !important;
    min-height: inherit !important;

    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;

    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   IMAGE / TOP AREA
========================================================= */

.online-studio-video-card__image,
.online-studio-video-card--welcome .online-studio-video-card__image,
.online-studio-video-card--welcome .welcome-card__image {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 200px !important;
    min-height: 200px !important;

    background: linear-gradient(135deg, #ffe2ef 0%, #f2dcff 100%) !important;
    overflow: hidden !important;

    padding: 0 !important;
    margin: 0 !important;

    box-sizing: border-box !important;
}

.online-studio-video-card--welcome .online-studio-video-card__image,
.online-studio-video-card--welcome .welcome-card__image {
    background:
        radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0) 35%),
        linear-gradient(135deg, #ffe0ef 0%, #f5ddff 100%) !important;
}

.online-studio-video-card__image .elementor-widget-jet-listing-dynamic-image,
.online-studio-video-card__image .jet-listing,
.online-studio-video-card__image .jet-listing-dynamic-image,
.online-studio-video-card--welcome .welcome-card__image .elementor-widget-image,
.online-studio-video-card--welcome .welcome-card__image .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    box-sizing: border-box !important;
}

.online-studio-video-card__image img,
.online-studio-video-card__image .jet-listing-dynamic-image__img,
.online-studio-video-card--welcome .welcome-card__image img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;
    object-position: center !important;
}

.online-studio-video-card__image .elementor-widget,
.online-studio-video-card--welcome .welcome-card__image .elementor-widget {
    margin: 0 !important;
}


/* =========================================================
   LOCK BADGE
========================================================= */

.online-studio-video-card__lock {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 5 !important;

    width: 38px !important;
    height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;
}

.online-studio-video-card__lock .elementor-icon-wrapper,
.online-studio-video-card__lock .elementor-icon {
    width: 38px !important;
    height: 38px !important;
}

.online-studio-video-card__lock .elementor-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: rgba(255, 255, 255, 0.96) !important;
    border-radius: 999px !important;

    color: #f4629d !important;
    fill: #f4629d !important;

    box-shadow: 0 8px 18px rgba(80, 32, 62, 0.16) !important;
}

.online-studio-video-card__lock svg {
    width: 15px !important;
    height: 15px !important;

    fill: currentColor !important;
}


/* =========================================================
   CARD BODY
========================================================= */

.online-studio-video-card__body,
.online-studio-video-card--welcome .online-studio-video-card__body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    flex: 1 1 auto !important;

    display: flex !important;
    flex-direction: column !important;

    padding: 22px 24px 24px !important;
    margin: 0 !important;
    gap: 0 !important;

    background: #ffffff !important;

    box-sizing: border-box !important;
}

.online-studio-video-card__body .elementor-widget,
.online-studio-video-card--welcome .online-studio-video-card__body .elementor-widget {
    margin: 0 !important;
}


/* =========================================================
   TITLES
========================================================= */

.online-studio-video-card__title {
    margin: 0 0 8px !important;
    padding: 0 !important;
}

.online-studio-video-card__title h3,
.online-studio-video-card__title .jet-listing-dynamic-field__content,
.online-studio-video-card--welcome .online-studio-video-card__title,
.online-studio-video-card--welcome .online-studio-video-card__title h3,
.online-studio-video-card--welcome h3 {
    margin: 0 !important;
    padding: 0 !important;

    color: #5f1744 !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.22 !important;
    letter-spacing: -0.01em !important;
}

.online-studio-video-card--welcome .online-studio-video-card__title,
.online-studio-video-card--welcome .online-studio-video-card__title h3,
.online-studio-video-card--welcome h3 {
    font-family: "Fredoka", "Poppins", sans-serif !important;
    font-size: 25px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
}


/* =========================================================
   EXCERPT / TEXT
========================================================= */

.online-studio-video-card__excerpt {
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.online-studio-video-card__excerpt p,
.online-studio-video-card__excerpt .jet-listing-dynamic-field__content,
.online-studio-video-card--welcome .online-studio-video-card__excerpt,
.online-studio-video-card--welcome .online-studio-video-card__excerpt p {
    margin: 0 !important;
    padding: 0 !important;

    color: #6d5a68 !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}


/* =========================================================
   META + BUTTON ROW
========================================================= */

.online-studio-video-card__meta {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-top: auto !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

.online-studio-video-card__badge {
    flex: 0 0 auto !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

.online-studio-video-card .video-duration-badge,
.online-studio-video-card .video-duration-badge .jet-listing,
.online-studio-video-card .video-duration-badge .jet-listing-dynamic-field,
.online-studio-video-card .video-level-badge,
.online-studio-video-card .video-level-badge .elementor-widget-container,
.online-studio-video-card .video-level-badge .jet-listing,
.online-studio-video-card .video-level-badge .jet-listing-dynamic-terms {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    padding: 0 !important;
    margin: 0 !important;
}

.online-studio-video-card .video-duration-badge .jet-listing-dynamic-field__inline-wrap {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;

    min-height: 28px !important;
    padding: 6px 11px !important;

    border-radius: 999px !important;
    background: #fff3f8 !important;
    color: #7b1f4d !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    white-space: nowrap !important;
}

.online-studio-video-card .video-duration-badge svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}

.online-studio-video-card .video-level-badge .jet-listing-dynamic-terms__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 28px !important;
    padding: 6px 11px !important;

    border-radius: 999px !important;
    background: #f1e3ff !important;
    color: #6b3fa0 !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-decoration: none !important;
    white-space: nowrap !important;
}

.online-studio-video-card .video-level-badge .jet-listing-dynamic-terms__delimiter {
    display: none !important;
}


/* =========================================================
   BUTTONS
========================================================= */

.online-studio-video-card__actions {
    flex: 0 0 auto !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 0 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

.online-studio-video-card__button {
    flex: 0 0 auto !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

.online-studio-video-card__button .jet-listing-dynamic-link__link,
.online-studio-video-card--welcome .welcome-card__button a,
.online-studio-video-card--welcome .elementor-button {
    width: auto !important;
    min-width: 132px !important;
    max-width: none !important;
    min-height: 34px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    padding: 9px 13px !important;

    white-space: nowrap !important;

    border-radius: 999px !important;
    border: 0 !important;

    background: #f4629d !important;
    color: #ffffff !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    box-shadow: 0 8px 18px rgba(244, 98, 157, 0.22) !important;

    transition:
        transform 0.22s ease,
        background 0.22s ease,
        box-shadow 0.22s ease !important;
}

.online-studio-video-card__button .jet-listing-dynamic-link__link:hover,
.online-studio-video-card--welcome .welcome-card__button a:hover,
.online-studio-video-card--welcome .elementor-button:hover {
    background: #fc7310 !important;
    color: #ffffff !important;

    transform: translateY(-1px) !important;
    box-shadow: 0 10px 22px rgba(252, 115, 16, 0.25) !important;
}

.online-studio-video-card__button svg {
    width: 11px !important;
    height: 11px !important;

    fill: currentColor !important;
}


/* =========================================================
   WELCOME CARD SPECIFIC
========================================================= */

.online-studio-video-card--welcome {
    background: #ffffff !important;
}

.online-studio-video-card--welcome .welcome-card__button,
.online-studio-video-card--welcome .elementor-widget-button {
    margin-top: auto !important;
    padding-top: 18px !important;
}

.online-studio-video-card--welcome .welcome-card__button a,
.online-studio-video-card--welcome .elementor-button {
    background: #fc7310 !important;
    box-shadow: 0 8px 18px rgba(252, 115, 16, 0.24) !important;
}

.online-studio-video-card--welcome .welcome-card__button a:hover,
.online-studio-video-card--welcome .elementor-button:hover {
    background: #f4629d !important;
}

body.tax-studio-video-category.term-welcome-orientation .online-studio-video-card--welcome {
    display: none !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {
    .online-studio-video-card__meta {
        flex-wrap: wrap !important;
    }

    .online-studio-video-card__actions {
        width: 100% !important;
        margin-left: 0 !important;
        margin-top: 12px !important;
        justify-content: flex-start !important;
    }
}

@media (max-width: 1024px) {
    .online-studio-listing-section {
        width: calc(100% - 30px) !important;
    }

    .online-studio-manual-grid > .e-con-inner,
    .online-studio-manual-grid:not(.e-con-boxed) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px !important;
    }
}

@media (max-width: 767px) {
    .online-studio-listing-section {
        width: calc(100% - 24px) !important;
        margin-top: 26px !important;
        margin-bottom: 44px !important;
    }

    .online-studio-manual-grid > .e-con-inner,
    .online-studio-manual-grid:not(.e-con-boxed) {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .online-studio-video-card,
    .online-studio-video-card--welcome {
        min-height: 420px !important;
    }

    .online-studio-video-card__image,
    .online-studio-video-card--welcome .online-studio-video-card__image,
    .online-studio-video-card--welcome .welcome-card__image {
        height: 190px !important;
        min-height: 190px !important;
    }

    .online-studio-video-card__body,
    .online-studio-video-card--welcome .online-studio-video-card__body {
        padding: 18px !important;
    }

    .online-studio-video-card--welcome .online-studio-video-card__title,
    .online-studio-video-card--welcome .online-studio-video-card__title h3,
    .online-studio-video-card--welcome h3 {
        font-size: 24px !important;
    }
}/* End custom CSS */