/* 
Theme Name:		Hello Elementor Child
Theme URI:		https://elementor.com/
Description:	Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author:			Elementor Team
Author URI:		https://elementor.com/
Template:		hello-elementor
Version:		1.0.0
Text Domain:	hello-elementor-child
Tags:           flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*--------------------------------------------------------------
Responsive Grid System
--------------------------------------------------------------*/
.row .col.s1,
.row .col.s10,
.row .col.s11,
.row .col.s12,
.row .col.s2,
.row .col.s3,
.row .col.s4,
.row .col.s5,
.row .col.s7,
.row .col.s8,
.row .col.s9 {
    left: auto;
    right: auto
}

.container .row {
    margin-left: -20px;
    margin-right: -20px
}

.row,
.row .col.s1,
.row .col.s10,
.row .col.s11,
.row .col.s12,
.row .col.s2,
.row .col.s3,
.row .col.s4,
.row .col.s5,
.row .col.s7,
.row .col.s8,
.row .col.s9 {
    margin-left: auto
}

.row {
    margin-right: auto;
    margin-top: 20px
}

.row:first-child {
    margin-top: 0
}

.row .col {
    float: left;
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
    min-height: 1px
}

.row .col[class*=push-],
.row .col[class*=pull-] {
    position: relative
}

.row .col.s1 {
    width: 8.3333333333%
}

.row .col.s2 {
    width: 16.6666666667%
}

.row .col.s3 {
    width: 25%
}

.row .col.s4 {
    width: 33.3333333333%
}

.row .col.s5 {
    width: 41.6666666667%
}

.row .col.s6 {
    width: 50%;
    margin-left: auto;
    left: auto;
    right: auto
}

.row .col.s7 {
    width: 58.3333333333%
}

.row .col.s8 {
    width: 66.6666666667%
}

.row .col.s9 {
    width: 75%
}

.row .col.s10 {
    width: 83.3333333333%
}

.row .col.s11 {
    width: 91.6666666667%
}

.row .col.s12 {
    width: 100%
}

.row .col.offset-s1 {
    margin-left: 8.3333333333%
}

.row .col.pull-s1 {
    right: 8.3333333333%
}

.row .col.push-s1 {
    left: 8.3333333333%
}

.row .col.offset-s2 {
    margin-left: 16.6666666667%
}

.row .col.pull-s2 {
    right: 16.6666666667%
}

.row .col.push-s2 {
    left: 16.6666666667%
}

.row .col.offset-s3 {
    margin-left: 25%
}

.row .col.pull-s3 {
    right: 25%
}

.row .col.push-s3 {
    left: 25%
}

.row .col.offset-s4 {
    margin-left: 33.3333333333%
}

.row .col.pull-s4 {
    right: 33.3333333333%
}

.row .col.push-s4 {
    left: 33.3333333333%
}

.row .col.offset-s5 {
    margin-left: 41.6666666667%
}

.row .col.pull-s5 {
    right: 41.6666666667%
}

.row .col.push-s5 {
    left: 41.6666666667%
}

.row .col.offset-s6 {
    margin-left: 50%
}

.row .col.pull-s6 {
    right: 50%
}

.row .col.push-s6 {
    left: 50%
}

.row .col.offset-s7 {
    margin-left: 58.3333333333%
}

.row .col.pull-s7 {
    right: 58.3333333333%
}

.row .col.push-s7 {
    left: 58.3333333333%
}

.row .col.offset-s8 {
    margin-left: 66.6666666667%
}

.row .col.pull-s8 {
    right: 66.6666666667%
}

.row .col.push-s8 {
    left: 66.6666666667%
}

.row .col.offset-s9 {
    margin-left: 75%
}

.row .col.pull-s9 {
    right: 75%
}

.row .col.push-s9 {
    left: 75%
}

.row .col.offset-s10 {
    margin-left: 83.3333333333%
}

.row .col.pull-s10 {
    right: 83.3333333333%
}

.row .col.push-s10 {
    left: 83.3333333333%
}

.row .col.offset-s11 {
    margin-left: 91.6666666667%
}

.row .col.pull-s11 {
    right: 91.6666666667%
}

.row .col.push-s11 {
    left: 91.6666666667%
}

.row .col.offset-s12 {
    margin-left: 100%
}

.row .col.pull-s12 {
    right: 100%
}

.row .col.push-s12 {
    left: 100%
}

@media only screen and (min-width:601px) {

    .row .col.m1,
    .row .col.m10,
    .row .col.m11,
    .row .col.m12,
    .row .col.m2,
    .row .col.m3,
    .row .col.m4,
    .row .col.m5,
    .row .col.m7,
    .row .col.m8,
    .row .col.m9 {
        margin-left: auto;
        left: auto;
        right: auto
    }

    .row .col.m1 {
        width: 8.3333333333%
    }

    .row .col.m2 {
        width: 16.6666666667%
    }

    .row .col.m3 {
        width: 25%
    }

    .row .col.m4 {
        width: 33.3333333333%
    }

    .row .col.m5 {
        width: 41.6666666667%
    }

    .row .col.m6 {
        width: 50%;
        margin-left: auto;
        left: auto;
        right: auto
    }

    .row .col.m7 {
        width: 58.3333333333%
    }

    .row .col.m8 {
        width: 66.6666666667%
    }

    .row .col.m9 {
        width: 75%
    }

    .row .col.m10 {
        width: 83.3333333333%
    }

    .row .col.m11 {
        width: 91.6666666667%
    }

    .row .col.m12 {
        width: 100%
    }

    .row .col.offset-m1 {
        margin-left: 8.3333333333%
    }

    .row .col.pull-m1 {
        right: 8.3333333333%
    }

    .row .col.push-m1 {
        left: 8.3333333333%
    }

    .row .col.offset-m2 {
        margin-left: 16.6666666667%
    }

    .row .col.pull-m2 {
        right: 16.6666666667%
    }

    .row .col.push-m2 {
        left: 16.6666666667%
    }

    .row .col.offset-m3 {
        margin-left: 25%
    }

    .row .col.pull-m3 {
        right: 25%
    }

    .row .col.push-m3 {
        left: 25%
    }

    .row .col.offset-m4 {
        margin-left: 33.3333333333%
    }

    .row .col.pull-m4 {
        right: 33.3333333333%
    }

    .row .col.push-m4 {
        left: 33.3333333333%
    }

    .row .col.offset-m5 {
        margin-left: 41.6666666667%
    }

    .row .col.pull-m5 {
        right: 41.6666666667%
    }

    .row .col.push-m5 {
        left: 41.6666666667%
    }

    .row .col.offset-m6 {
        margin-left: 50%
    }

    .row .col.pull-m6 {
        right: 50%
    }

    .row .col.push-m6 {
        left: 50%
    }

    .row .col.offset-m7 {
        margin-left: 58.3333333333%
    }

    .row .col.pull-m7 {
        right: 58.3333333333%
    }

    .row .col.push-m7 {
        left: 58.3333333333%
    }

    .row .col.offset-m8 {
        margin-left: 66.6666666667%
    }

    .row .col.pull-m8 {
        right: 66.6666666667%
    }

    .row .col.push-m8 {
        left: 66.6666666667%
    }

    .row .col.offset-m9 {
        margin-left: 75%
    }

    .row .col.pull-m9 {
        right: 75%
    }

    .row .col.push-m9 {
        left: 75%
    }

    .row .col.offset-m10 {
        margin-left: 83.3333333333%
    }

    .row .col.pull-m10 {
        right: 83.3333333333%
    }

    .row .col.push-m10 {
        left: 83.3333333333%
    }

    .row .col.offset-m11 {
        margin-left: 91.6666666667%
    }

    .row .col.pull-m11 {
        right: 91.6666666667%
    }

    .row .col.push-m11 {
        left: 91.6666666667%
    }

    .row .col.offset-m12 {
        margin-left: 100%
    }

    .row .col.pull-m12 {
        right: 100%
    }

    .row .col.push-m12 {
        left: 100%
    }
}

@media only screen and (min-width:993px) {

    .row .col.l1,
    .row .col.l10,
    .row .col.l11,
    .row .col.l12,
    .row .col.l2,
    .row .col.l3,
    .row .col.l4,
    .row .col.l5,
    .row .col.l7,
    .row .col.l8,
    .row .col.l9 {
        margin-left: auto;
        left: auto;
        right: auto
    }

    .row .col.l1 {
        width: 8.3333333333%
    }

    .row .col.l2 {
        width: 16.6666666667%
    }

    .row .col.l3 {
        width: 25%
    }

    .row .col.l4 {
        width: 33.3333333333%
    }

    .row .col.l5 {
        width: 41.6666666667%
    }

    .row .col.l6 {
        width: 50%;
        margin-left: auto;
        left: auto;
        right: auto
    }

    .row .col.l7 {
        width: 58.3333333333%
    }

    .row .col.l8 {
        width: 66.6666666667%
    }

    .row .col.l9 {
        width: 75%
    }

    .row .col.l10 {
        width: 83.3333333333%
    }

    .row .col.l11 {
        width: 91.6666666667%
    }

    .row .col.l12 {
        width: 100%
    }

    .row .col.offset-l1 {
        margin-left: 8.3333333333%
    }

    .row .col.pull-l1 {
        right: 8.3333333333%
    }

    .row .col.push-l1 {
        left: 8.3333333333%
    }

    .row .col.offset-l2 {
        margin-left: 16.6666666667%
    }

    .row .col.pull-l2 {
        right: 16.6666666667%
    }

    .row .col.push-l2 {
        left: 16.6666666667%
    }

    .row .col.offset-l3 {
        margin-left: 25%
    }

    .row .col.pull-l3 {
        right: 25%
    }

    .row .col.push-l3 {
        left: 25%
    }

    .row .col.offset-l4 {
        margin-left: 33.3333333333%
    }

    .row .col.pull-l4 {
        right: 33.3333333333%
    }

    .row .col.push-l4 {
        left: 33.3333333333%
    }

    .row .col.offset-l5 {
        margin-left: 41.6666666667%
    }

    .row .col.pull-l5 {
        right: 41.6666666667%
    }

    .row .col.push-l5 {
        left: 41.6666666667%
    }

    .row .col.offset-l6 {
        margin-left: 50%
    }

    .row .col.pull-l6 {
        right: 50%
    }

    .row .col.push-l6 {
        left: 50%
    }

    .row .col.offset-l7 {
        margin-left: 58.3333333333%
    }

    .row .col.pull-l7 {
        right: 58.3333333333%
    }

    .row .col.push-l7 {
        left: 58.3333333333%
    }

    .row .col.offset-l8 {
        margin-left: 66.6666666667%
    }

    .row .col.pull-l8 {
        right: 66.6666666667%
    }

    .row .col.push-l8 {
        left: 66.6666666667%
    }

    .row .col.offset-l9 {
        margin-left: 75%
    }

    .row .col.pull-l9 {
        right: 75%
    }

    .row .col.push-l9 {
        left: 75%
    }

    .row .col.offset-l10 {
        margin-left: 83.3333333333%
    }

    .row .col.pull-l10 {
        right: 83.3333333333%
    }

    .row .col.push-l10 {
        left: 83.3333333333%
    }

    .row .col.offset-l11 {
        margin-left: 91.6666666667%
    }

    .row .col.pull-l11 {
        right: 91.6666666667%
    }

    .row .col.push-l11 {
        left: 91.6666666667%
    }

    .row .col.offset-l12 {
        margin-left: 100%
    }

    .row .col.pull-l12 {
        right: 100%
    }

    .row .col.push-l12 {
        left: 100%
    }
}

.container .row {
    margin-left: -20px;
    margin-right: -20px;
}

.row {
    margin-top: 20px;
}

.row .col {
    padding-left: 20px;
    padding-right: 20px;
}



/*--------------------------------------------------------------
Clear
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.container:before,
.container .row:before,
.container:after,
.container .row:after {
    content: "";
    display: table;
}

.clear:after,
.container:after,
.container .row:after {
    clear: both;
}

.clear,
.container,
.container .row {
    zoom: 1;
}



/*--------------------------------------------------------------
General Elementor Thememing
--------------------------------------------------------------*/
body {
    line-height: 1.5;
    font-size: 1rem;
    background: #fff;
}

a {
    color: #000;
}

.button,
button,
input[type="submit"],
.elementor a.button,
.elementor-widget-button a.elementor-button,
.elementor-widget-button .elementor-button,
.elementor-widget-form .elementor-button {
    padding: 15px 32px;
    font-size: 1rem;
    background: var(--blue);
    color: #fff;
    display: inline-flex;
}


/****** Smoother Elementor Animations ****/

/* Improved Animations Stylesheet from https://element.how/elementor-improve-entrance-animations/ , works for the 'fade' animations */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0, -30px, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px, 0, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px, 0, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInRight {
    animation-name: fadeRight
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0, 30px, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}



/*--------------------------------------------------------------
Custom Theme Styles
--------------------------------------------------------------*/
:root {
    --transition: 300ms ease-in-out;
    --white: #fff;
    --dark-grey: #27272a;
    --blue: #061039;
    --dark-grey-2: #151516;
    --cement: #F2F2F5;
    --black: #000;
    --lavendar: #9AA9FF;
    --mulbery: #B7248F;
    --IceBlue: #A4F1FF;
    /* spacing */
    --gap_12: 12px;
    --gap_16: 16px;
    --gap_20: 20px;
    --gap_25: 25px;
    --gap_32: 32px;
    --gap_36: 36px;
    --gap_40: 40px;
    --gap_50: 50px;
    --gap_60: 60px;
    --gap_80: 80px;
    /* Font weight */
    --regular: 400;
    --medium: 500;
    --semibold: 600;
    --bold: 700;
    --radius_r: 12px;
    --radius_l: 24px;
}

body .section_padding {
    padding-top: 130px;
    padding-bottom: 130px;
    padding-left: 40px;
}

body .section_padding_large {
    padding-top: 160px;
    padding-bottom: 160px;
}

body .section_padding_small {
    padding-top: 100px;
    padding-bottom: 100px;
}

body .section_padding_small,
body .section_padding_large,
body .section_padding {
    padding-left: 40px;
    padding-right: 40px;
}

body .section_padding_small>div.e-con-inner,
body .section_padding_large>div.e-con-inner,
body .section_padding>div.e-con-inner {
    padding-top: 0;
    padding-bottom: 0;
}

body .bottom {
    padding-top: 0 !important;
}

body .top {
    padding-bottom: 0 !important;
}

p:last-child {
    margin-bottom: 0;
    margin-block-end: 0;
}

p:not(:last-child) {
    margin-block-end: 1.5rem;
}

header .e-search-form {
    position: relative;
}

header .elementor-widget-search .e-search-label {
    position: absolute;
    right: 44px;
    top: 18px;
}

header .e-search-input-wrapper>i {
    background: var(--white);
    z-index: 22;
    padding: 5px;
}

header .elementor-nav-menu .menu-item-has-children {
    position: relative;
}

header .elementor-nav-menu .menu-item-has-children>.sub-menu {
    display: block !important;
    min-width: 250px !important;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
    transform: translateY(-1rem);
    border: 1px solid var(--dark-grey-2);
    border-radius: 4px;
    overflow: hidden;
    transition: all .4s;
}

header .elementor-nav-menu .menu-item-has-children>.sub-menu>li:not(:last-child) a {
    border-bottom: 1px solid #4d4d4d;
}

header .elementor-nav-menu .menu-item-has-children.is-active>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0.5rem);
}

.product-gallery-wrapper .swiper-wrapper .swiper-slide img {
    aspect-ratio: 17 / 14;
    object-fit: scale-down;
    width: 100%;
    border-radius: 13px;
    background-color: var(--cement);
    cursor: pointer;
}

.product-gallery-wrapper .gallery-top {
    margin-bottom: 18px;
    border-radius: 12px;
}

.product-gallery-wrapper .swiper-button-next:after,
.product-gallery-wrapper .swiper-button-prev:after {
    font-size: 20px;
}

.product-gallery-wrapper .swiper-button-next,
.product-gallery-wrapper .swiper-button-prev {
    color: #C5C5C5;
    transform: translateY(calc(-50% - 40px));
}

body .fancybox__container {
    z-index: 99999;
}

body .fancybox__backdrop {
    opacity: 0.8;
    background-color: var(--black);
}

.product-gallery-wrapper .swiper-button-prev {
    left: -30px;
}

.product-gallery-wrapper .swiper-button-next {
    right: -30px;
}

.fancybox__container .carousel__button {
    background-color: transparent;
    border: 1px solid #ffffff75;
    padding: 0;
    border-radius: 3px;
    transition: var(--transition);
}

.fancybox__container .carousel__button:hover {
    background-color: var(--blue);
    border-color: var(--blue);
}

.fancybox__container .carousel__button svg {
    width: 20px;
    height: 20px;
}

.fancybox__container .fancybox__thumb {
    background-size: contain;
    background-color: var(--white);
    padding-top: calc(100%/(var(--fancybox-thumbs-ratio, 1.2)));
    border-radius: 12px;
}

.fancybox__container .fancybox__thumbs .carousel__slide .fancybox__thumb::after {
    border-color: var(--lavendar);
}

.elementor-widget-text-editor ul {
    padding-left: 18px;
}

.elementor-widget-text-editor ul li:not(:last-child) {
    margin-bottom: 10px;
}

.elementor-widget-text-editor ul li::marker {
    font-size: 14px;
}

.pay-list {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    gap: 26px;
    align-items: center;
    flex-wrap: wrap;
}

.fancybox__toolbar__items {
    gap: 3px;
}

.pay-list li img {
    max-width: 80px;
}

.product-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 50px;
}

.product-benefit-item {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-direction: column;
    text-align: center;
}

.product-benefit-item .product-benefit-title {
    margin: 15px 0 0;
    font-size: 24px;
    font-weight: var(--semibold);
    color: var(--blue);
}

.product-benefit-icon {
    background-color: var(--blue);
    width: 94px;
    height: 94px;
    border-radius: 99px;
    display: flex;
    justify-content: center;
    align-items: center;
}

div.product-benefit-item .product-benefit-icon img {
    max-width: 60%;
}

.ts-section__label span {
    font-size: 28px;
    font-weight: var(--semibold);
    color: var(--blue);
}

.ts-row {
    display: grid;
    grid-template-columns: 280px 1fr;
    padding: 18px 25px;
    align-items: center;
    gap: 16px;
}

.ts-row__title {
    font-size: 20px;
    font-weight: var(--semibold);
    color: var(--blue);
}

.ts-row__info {
    font-size: 16px;
    color: #454750;
    text-transform: uppercase;
}

.ts-row--white {
    background-color: #FAFAFB;
}

.ts-row--light {
    background-color: var(--cement);
}

.ts-section {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 32px;
}

.ts-section:not(:last-child) {
    margin-bottom: 70px;
}

.elementor-button {
    position: relative;
    overflow: hidden;
}

.elementor-button .custom-button-label,
.elementor-button>span {
    position: relative;
    z-index: 2;
}

.elementor-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--lavendar);
    transition: transform .2s ease-in-out;
    transform-origin: right;
    transform: scaleX(0);
}

.hover_mulbery .elementor-button::before {
    background-color: var(--mulbery);
}

.hover_dark .elementor-button::before {
    background-color: var(--dark-grey-2);
}

.hover_white .elementor-button::before {
    background-color: var(--white);
}

.elementor-button svg path {
    transition: var(--transition);
}

.hover_dark .elementor-button:hover svg path,
.hover_mulbery .elementor-button:hover svg path {
    fill: var(--white);
}

.hover_white .elementor-button:hover svg path {
    fill: var(--dark-grey-2);
}

.elementor-button:focus:before,
.elementor-button:hover:before {
    transform-origin: left;
    transform: scaleX(1);
}

.product-footer a svg,
.large_button .elementor-icon,
.elementor-button .elementor-button-icon {
    transition: all 0.8s ease;
}

button.load-more-btn.elementor-button {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: center;
    margin-inline: auto;
}

.product-footer a:hover svg,
.large_button:hover .elementor-icon,
body .elementor-button:hover .elementor-button-icon {
    animation: moveArrow 0.8s forwards;
}

@keyframes moveArrow {
    0% {
        transform: translate(0, 0);
        opacity: 1;
    }

    50% {
        transform: translate(20px, 0);
        opacity: 0;
    }

    51% {
        transform: translate(-20px, 0);
        opacity: 0;
    }

    100% {
        transform: translate(0, 0);
        opacity: 1;
    }
}

footer p a,
header .elementor-heading-title a,
body div nav.elementor-nav-menu--main ul.elementor-nav-menu li a {
    position: relative;
    overflow: hidden;
    width: fit-content;
}

body div nav.elementor-nav-menu--main ul.elementor-nav-menu li .sub-menu li a {
    width: 100%;
}

footer p a::before,
header .elementor-heading-title a::before,
body div nav.elementor-nav-menu--main ul.elementor-nav-menu li a::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    bottom: 0;
    left: 0;
    top: auto;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform .4s ease-in-out;
    opacity: 1 !important;
}

footer p a:hover:before,
header .elementor-heading-title a:hover:before,
body div nav.elementor-nav-menu--main ul.elementor-nav-menu li.current-menu-item a::before,
body div nav.elementor-nav-menu--main ul.elementor-nav-menu li a:hover:before {
    transform-origin: left;
    transform: scaleX(1);
}

body div nav.elementor-nav-menu--main ul.elementor-nav-menu li .sub-menu a::before {
    content: none;
}

header div.elementor-element div.years_logo img,
header div.main_header .elementor-widget-theme-site-logo img {
    transition: var(--transition);
    display: block;
}

header div.elementor-element.top_header {
    transition: var(--transition);
    height: 59.6px;
    overflow: hidden;
}

header .elementor-sticky--effects div.elementor-element.top_header {
    height: 0;
}

header .elementor-sticky--effects div.elementor-element.main_header div.years_logo img {
    width: 40px;
}

header div.elementor-element.elementor-sticky--effects {
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
}

p.product-benefit-desc {
    max-width: 212px;
    margin-inline: auto;
}

header .elementor-sticky--effects div.elementor-element.main_header .elementor-widget-theme-site-logo img {
    max-width: 120px;
}

.products-loading {
    text-align: center;
    grid-column: span 3;
}

/* ==== Product archive ========== */
.products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--gap_80) var(--gap_25);
}

.product-slider {
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.product-card {
    min-width: 0;
    position: relative;
}

.product-card h4.product-title {
    margin: 15px 0 0;
}

.product-tags {
    position: absolute;
    top: 11px;
    left: 11px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.product-tags span {
    font-weight: var(--semibold);
    color: var(--blue);
    border: 1px solid var(--blue);
    padding: 3px 12px;
    border-radius: 99px;
}

.product-card .product-image-wrapper,
.product-card .swiper-slide {
    position: relative;
    height: 0;
    padding-bottom: 100%;
    background-color: rgb(233 236 255 / 60%);
    border-radius: 12px;
    display: block;
}

.product-card .product-image-wrapper img,
.product-card .swiper-slide img {
    position: absolute;
    top: 32px;
    right: 0;
    left: 0;
    margin-inline: auto;
    width: 70%;
    height: calc(100% - 32px);
    object-fit: contain;
    transition: all 0.3s;
}

.product-card:hover .product-image-wrapper img,
.product-card:hover .swiper-slide img {
    transform: scale(1.1);
}

.product-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 12px;
}

.product-footer h3 {
    margin: 0;
    font-size: 20px;
    margin: 0;
    letter-spacing: -0.015;
    color: var(--blue);
}

.product-footer a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: var(--semibold);
    color: var(--blue);
}

.product-card .swiper-button-next,
.product-card .swiper-button-prev {
    color: #C5C5C5;
}

.product-card .swiper-button-next:after,
.product-card .swiper-button-prev:after {
    font-size: 32px;
}

.card-click-expand-container {
    display: grid;
    gap: var(--gap_20);
    transition: var(--transition);
    grid-template-columns: repeat(4, 1fr);
}

.card-click-expand-container.expanded .card-click-expand.expanded>.card-before-expand {
    display: none;
}

body div.lt-pc-wrap .lt-pc-card,
.lt-svc-card {
    background-color: var(--blue);
    border-radius: var(--radius_r);
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: var(--gap_32);
    transition: var(--transition);
    box-sizing: border-box;
    overflow: hidden;
    flex-grow: 0;
    flex-shrink: 0;
    width: calc((100% - (var(--cols) - 1) * var(--gap_20)) / var(--cols));
    transition: all 0.6s;
    justify-content: center;
}

.card-icon-wrapper {
    background-color: #A4F1FF;
    width: 94px;
    height: 94px;
    border-radius: 99px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 13px;
}

div.ltcr-card-grid h3.ltcr-card-title,
div.lt-svc-card .lt-svc-title,
.lt-pc-detail-header .lt-pc-detail-title h4,
.lt-pc-summary .lt-pc-title h4,
.lt-pc-summary h4,
.sub-item h4,
.card-click-expand-container .card-click-expand h4 {
    color: var(--white);
    margin: 0;
}

.card-content {
    transition: var(--transition);
}

div.ltcr-card-grid h3.ltcr-card-title,
div.lt-svc-card .lt-svc-title {
    font-size: 28px;
    font-weight: var(--semibold);
    max-width: 75%;
    line-height: 1.1;
}

body div.lt-pc-wrap .lt-pc-detail-col-label,
.card-content .sub-item .sub-title,
.card-click-expand .sub-item h4 {
    color: #A4F1FF;
    font-size: 20px;
    font-weight: var(--semibold);
    margin-bottom: 10px;
    line-height: 1.2;
}

body div.lt-pc-wrap .lt-pc-detail-grid .lt-pc-detail-col-label {
    margin-bottom: 20px;
}

body div.lt-pc-wrap .lt-pc-detail-col-text,
.card-click-expand p {
    color: var(--white);
}

.card-after-expand .card-content h4 {
    margin-bottom: 20px;
}

.card-after-expand {
    display: none;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows 0.5s ease, opacity 0.4s ease;
}

div.lt-pc-wrap .lt-pc-summary,
.card-before-expand {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

div.lt-pc-wrap .lt-pc-summary {
    flex: 1;
}

.ltcr-close-btn,
.ltcr-icon,
.lt-svc-back-row .lt-svc-back-btn,
.lt-svc-card .lt-svc-arrow,
body div.lt-pc-wrap .lt-pc-full .lt-pc-back-row .lt-pc-back-btn,
body div.lt-pc-wrap .lt-pc-back-btn,
body div.lt-pc-wrap .lt-pc-arrow,
.toggle-icon-wrapper {
    margin-top: auto;
    width: 50px;
    height: 50px;
    border-radius: 99px;
    border: 1px solid var(--IceBlue);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    cursor: pointer;
    transition: var(--transition);
    padding: 0;

    &:focus,
    &:hover {
        background-color: var(--IceBlue);
    }

    &:hover svg path,
    &:hover svg path {
        stroke: var(--blue);
    }
}

.lt-pc-card svg path {
    transition: var(--transition);
}

.lt-svc-card .lt-svc-arrow {
    margin-top: inherit;
}

.ltcr-close-btn,
body div.lt-svc-card .lt-svc-full .lt-svc-back-row .lt-svc-back-btn {
    background-color: transparent;
    border-color: var(--blue);

    &:focus,
    &:hover {
        background-color: var(--blue);
    }

    &:focus svg path,
    &:hover svg path {
        stroke: var(--IceBlue);
    }
}

div.lt-svc-back-row .lt-svc-back-btn svg path {
    stroke: var(--blue);

    &:focus,
    &:hover {
        border-color: var(--blue);
    }
}

body div.lt-pc-wrap .lt-pc-arrow {
    margin-right: -15px;
    margin-bottom: -15px;
}

body div.lt-pc-wrap .lt-pc-back-btn {
    transform: scale(-1, -1);
}

.lt-svc-back-row,
body div.lt-pc-wrap .lt-pc-back-row {
    position: absolute;
    right: 14px;
    bottom: 14px;
}

.lt-svc-back-row {
    bottom: auto;
    top: 30px;
    right: 26px;
}

div.ltcr-detail-left .ltcr-detail-title,
.lt-svc-detail-header .lt-svc-detail-title {
    font-size: 28px;
    font-weight: var(--semibold);
    margin: 0 0 15px;
}

.ltcr-detail-left .ltcr-kicker,
.lt-svc-detail-header .card-subtitle {
    color: var(--mulbery);
    font-size: 20px;
    margin: 0 0 25px;
    font-weight: var(--semibold);
    display: block;
}

.card-click-expand.expanded .toggle-icon-wrapper {
    transform: rotate(180deg);
}

.card-click-expand.expanded {
    grid-column: 1 / span 4;
}

.card-click-expand.expanded {
    width: 100%;
}

.card-click-expand-container.expanded .card-click-expand.expanded {
    order: -1;
}

.ltcr-detail,
.lt-main-content-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
}

.card-click-expand-container.expanded .card-click-expand:not(.expanded) {
    display: none;
}

div.lt-pc-wrap .lt-pc-detail-grid,
.card-after-expand .card-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 0 64px;
}

div.lt-pc-wrap .lt-pc-detail-grid {
    max-width: 1070px;
    margin-inline: auto;
}

div.lt-pc-wrap .lt-pc-detail-grid>div,
.card-after-expand .card-content>div {
    padding: 32px;
}

div.lt-pc-wrap .lt-pc-detail-grid>div:last-child {
    padding-right: 0;
}

div.lt-pc-wrap .lt-pc-detail-grid>div:not(:last-child),
.card-after-expand .card-content>div:not(:last-child) {
    border-right: 1px solid var(--white);
}

body div.lt-pc-wrap .lt-pc-detail-header {
    gap: var(--gap_40);
}

.after-title-wrapper {
    display: flex;
    align-items: center;
    gap: var(--gap_40);
    margin-bottom: 32px;
}

.spinning_wrapper.elementor-widget.elementor-widget-shortcode {
    position: absolute;
    left: 61%;
    bottom: -62%;
    transform: rotate(14deg);
}

#spinner-wrapper {
    position: relative;
    transform: scale(1.4);
}

#spinner-wrapper svg:nth-child(3),
#spinner-wrapper svg:nth-child(2) {
    position: absolute;
    top: 50%;
    left: calc(50% + 150px);
    transform: translate(-50%, -50%);
}

#spinner-wrapper svg:nth-child(3) {
    left: calc(50% + 300px);
}

div.product-category-carousel-wrapper h3 {
    margin: 0 0 50px;
    margin-inline: auto;
    padding: 0 26px 26px;
    border-bottom: 1px solid var(--blue);
    color: var(--mulbery);
    width: fit-content;
    font-size: 40px;
}

.product-category-carousel-wrapper .swiper-button-prev::after,
.product-category-carousel-wrapper .swiper-button-next::after {
    content: none;
}

.swiper.custom-product-slider {
    overflow: visible;
}

.custom-product-slider::before,
.custom-product-slider::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    background-color: var(--white);
    z-index: 2;
    width: 100vw;
}

.custom-product-slider::after {
    left: auto;
    right: 100%;
}

.product-category-carousel-wrapper .swiper-button-prev,
.product-category-carousel-wrapper .swiper-button-next,
.product-category-carousel-wrapper .swiper-button-prev svg,
.product-category-carousel-wrapper .swiper-button-next svg {
    width: 50px;
    height: 50px;
}

.product-category-carousel-wrapper .swiper-button-prev {
    left: -25px;
}

.product-category-carousel-wrapper .swiper-button-next {
    right: -25px;
}

body .swiper-button-next.swiper-button-disabled,
body .swiper-button-prev.swiper-button-disabled {
    opacity: .55;
    cursor: auto;
    pointer-events: all;
}

/* ============ Product list ======= */
.product-filters {
    display: flex;
    justify-content: center;
    gap: 30px;
    border-bottom: 1px solid var(--black);
    padding-bottom: 22px;
    margin-bottom: 70px;
    padding-inline: 70px;
    width: fit-content;
    margin-inline: auto;
    flex-wrap: wrap;
}

div.product-filters .clear-filter {
    display: none;
}

div.product-filters .clear-filter,
div.product-filters button.filter-btn {
    background-color: transparent;
    border-color: transparent;
    color: #979797;
    transition: var(--transition);
}

div.product-filters .clear-filter,
div.product-filters button.filter-btn:hover,
div.product-filters button.filter-btn.active {
    border-color: var(--dark-grey-2);
    color: var(--dark-grey-2);
}

/* ======== Online Payments ========= */
div.lt-svc-wrap .lt-svc-grid,
.online-payment-card {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gap_25);
    display: grid;
}

.ltcr-detail,
body div.elementor-element div.lt-svc-wrap .lt-svc-card.expanded,
.online-payment-card .card-click-expand.expanded {
    background-color: var(--cement);
    padding: 100px;
}

.online-payment-card .card-after-expand.expanded {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: var(--gap_80);
}

.online-payment-card .after-title-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin: 0;
    text-align: left;
}

.online-payment-card .card-after-expand .card-content {
    padding: 0;
    display: block;
}

.card-click-expand-container.online-payment-card .card-after-expand h4 {
    color: var(--blue);
    font-size: 28px;
}

.card-click-expand-container.online-payment-card .card-after-expand h6 {
    color: var(--mulbery);
    font-size: 20px;
    font-weight: var(--semibold);
    margin-bottom: 25px;
}

.online-payment-card .card-after-expand .service-list {
    padding: 0;
}

.online-payment-card .card-click-expand.expanded .toggle-icon-wrapper {
    border-color: var(--blue);
    position: absolute;
    top: 20px;
    right: 20px;
}

.online-payment-card .card-click-expand>.toggle-icon-wrapper {
    display: none;
}

.online-payment-card.expanded .card-click-expand>.toggle-icon-wrapper {
    display: flex;
}

.online-payment-card .card-click-expand.expanded .toggle-icon-wrapper svg path {
    stroke: var(--blue);
}

.online-payment-card .card-before-expand {
    flex-direction: row;
    align-items: center;
}

.ltcr-card,
.lt-svc-grid .lt-svc-card,
.online-payment-card .card-click-expand {
    padding: 73px 55px;
    width: 100%;
}

.online-payment-card .card-before-expand .card-title {
    max-width: 70%;
    font-size: 28px;
}

.ltcr-detail-right ul,
.service-list ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.ltcr-detail-right ul li,
.service-list ul li {
    position: relative;
    padding-left: 30px;
}

.ltcr-detail-right ul li::before,
.service-list ul li::before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    width: 20px;
    height: 21px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    flex-shrink: 0;
    margin-top: 2px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='none'%3E%3Cpath d='M8 11L10 13L14 9M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z' stroke='%23061039' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ltcr-detail-right ul li:not(:last-child),
.service-list ul li:not(:last-child) {
    margin-bottom: 20px;
}

/*  ========== Payment Method ================== */
.pm-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--gap_25);
}

.pm-card {
    padding: 25px;
    border-radius: var(--radius_r);
    background-color: var(--cement);
    display: flex;
    flex-direction: column;
    gap: 15px;
    font-size: 13px;
}

div.title-type-wrapper {
    
}

div.title-type-wrapper h3 {
    margin: 0 0 4px;
    font-size: 16px;
}

.payment-country-wrapper {
    margin-top: auto;
}

.pm-country-label {
    color: #979797;
   display: inline-block;
    
}

.pm-country {
    font-weight: var(--medium);
    color: var(--blue);
   display: inline-block;
}

div.pm-card img {
    max-width: 80px;
    width: auto;
    height: 30px;
    object-fit: contain;
    object-position: left;
}

ul.page-numbers {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 86px 0 0;
}

ul.page-numbers li .page-numbers {
    width: 50px;
    height: 50px;
    border: 1px solid #979797;
    color: #979797;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 99px;
    transition: var(--transition);
    font-size: 20px;
    font-weight: var(--medium);
}

ul.page-numbers li .page-numbers.next,
ul.page-numbers li .page-numbers.prev {
    background-color: var(--lavendar);
    border-color: var(--lavendar);
}

ul.page-numbers li .page-numbers.current {
    border-color: var(--blue);
    color: var(--blue);
}

ul.page-numbers li .page-numbers.prev svg {
    transform: scale(-1, -1);
}

#pm-search {
    padding-left: 55px !important;
}

.pm-filter-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 70px;
    padding: 0 0 45px;
    border-bottom: 1px solid var(--black);
    max-width: 835px;
    margin-inline: auto;
    gap: var(--gap_60);
    flex-wrap: wrap;
}

.pm-filter-wrapper>div {
    width: fit-content;
}

body div.payment-method-wrapper div.pm-filter-wrapper>div.search-input-wrapper input {
    border: 1px solid #D9D9D9;
    border-radius: 99px;
    padding: 12.5px 25px 12.5px 50px;
}
p.pm-country-toggle {
    text-transform: capitalize;
    color: var(--mulbery);
    font-size: 12px;
    font-weight: var(--medium);
    text-decoration: underline;
    cursor: pointer;
    display:inline-block;
}
.pm-filter-wrapper>div.search-input-wrapper {
    flex: 100%;
    max-width: 700px;
    position: relative;
}

.pm-filter-wrapper>div.search-input-wrapper::before {
    content: "";
    width: 16px;
    height: 16px;
    margin-right: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M17.776 17.7777L13.7483 13.75M15.9242 8.51849C15.9242 12.6095 12.6078 15.9259 8.51678 15.9259C4.42578 15.9259 1.10938 12.6095 1.10938 8.51849C1.10938 4.42749 4.42578 1.11108 8.51678 1.11108C12.6078 1.11108 15.9242 4.42749 15.9242 8.51849Z' stroke='%231E1E1E' stroke-width='2.22222' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 25px;
}

body .select2-container--default .select2-selection--single .select2-selection__arrow {
    position: static;
}

body .select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

body .select2-container--default .select2-selection--single .select2-selection__arrow::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 9px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='9' viewBox='0 0 16 9' fill='none'%3E%3Cpath d='M0.699219 0.699951L7.69922 7.69995L14.6992 0.699951' stroke='%23979797' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
}

body .select2-container--default .select2-selection--single {
    border: none;
    border-radius: 0;
    background-color: transparent;
    display: flex;
}

body .select2-results__option,
body .select2-results__option[aria-selected],
body .select2-container .select2-selection--single .select2-selection__rendered {
    color: #979797;
    font-weight: var(--semibold);
    font-size: 20px;
    text-overflow: unset;
    padding-left: 0;
    overflow: visible;
    padding-right: 10px;
}

body .select2-container .select2-dropdown .select2-results__options .select2-results__option {
    padding: 10px 15px;
    font-size: 16px;
}

.rotating_svg svg {
    overflow: visible;
    width: 100%;
    height: auto;
}

div.elementor-shortcode .pay-list svg {
    overflow: visible;
    width: 80px;
    height: auto;
}

ul.pay-list {
    margin-left: -12px;
}

body .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--blue);
}

body .select2-container--default .select2-results>.select2-results__options {
    max-height: 400px;
}

/* =========== Timeline ================= */
.lt-timeline {
    position: relative;
    padding: 45px 0 10px;
}

/* === Vertical line === */
.lt-line {
    position: absolute;
    left: 25%;
    top: 0;
    bottom: 0;
    width: 2px;
    transform: translateX(-25%);
    background-color: var(--blue);
    z-index: 1;
    overflow: hidden;
}

.lt-line-fill {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background-color: var(--mulbery);
    will-change: height;
}

/* === Steps layout === */
.lt-steps {
    position: relative;
    z-index: 2;
}

.lt-dot-wrapper {
    width: 25%;
    height: auto;
    display: flex;
    justify-content: center;
}

.lt-step {
    position: relative;
    display: flex;
    align-items: flex-start;
    min-height: 140px;
    align-items: center;
}

.lt-step:not(:last-child) {
    margin-bottom: 64px;
}

.lt-marker {
    position: relative;
    left: -21px;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 44px;
}

.lt-dot {
    width: 57px;
    height: 57px;
    border-radius: 99px;
    background-color: var(--blue);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--semibold);
    font-size: 24px;
}

.lt-last-arrow {
    position: absolute;
    left: 25%;
    transform: translateX(-50%) scale(0);
    margin-top: 20px;
    transition: all 0.2s;
}

.lt-dot,
.lt-arrow {
    transition: all 0.2s;
    transform: scale(0);
}

.lt-arrow svg {
    display: block;
}

.lt-last-arrow.is-active,
.lt-arrow.is-active,
.lt-dot.is-active {
    transform: scale(1);
}

.lt-last-arrow.is-active {
    transform: translateX(-50%) scale(1);
}

/* === Card === */
.lt-card {
    background-color: #F2F4FF;
    border-radius: var(--radius_r);
    padding: 40px;
    width: calc(75% - 70px);
    margin-left: auto;
}

.lt-card h3.lt-card-title {
    color: var(--mulbery);
    font-size: 24px;
    font-weight: var(--semibold);
    margin-bottom: 20px;
}

.lt-card-title {
    margin: 0 0 10px;
    font-size: 19px;
    font-weight: var(--bold);
    color: var(--mulbery);
}

.lt-card-desc {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.6;
    color: #4A4A5A;
}

.load-more-wrap {
    text-align: center;
}

.load-more-wrap button {
    margin-top: var(--gap_40);
}

.admin-bar .select2-container--open .select2-dropdown--below {
    margin-top: 40px;
}

.open .elementor-button .elementor-button-icon {
    transform: scale(-1);
    animation: none;
}

.elementor-button .elementor-button-icon {
    position: relative;
    bottom: -1px;
}

body .show_more_less .elementor-button:hover .elementor-button-icon,
body .show_more_less .elementor-button .elementor-button-icon {
    animation: none;
}

.product-select-mobile {
    display: none;
}

.lt-pc-card .lt-pc-full .lt-pc-detail-header {
    gap: var(--gap_40);
}

header .elementor-widget-search .e-search-label>svg {
    transform: translateY(-40%);
}

/* =========== Expandable section option 2 ================== */

/* =============== Responsive ================== */
@media (max-width:1024px) {

    div.ltcr-card-grid h3.ltcr-card-title,
    div.lt-svc-card .lt-svc-title {
        font-size: 24px;
        max-width: 80%;
    }

    .ltcr-close-btn,
    .ltcr-icon,
    .lt-svc-back-row .lt-svc-back-btn,
    .lt-svc-card .lt-svc-arrow,
    body div.lt-pc-wrap .lt-pc-full .lt-pc-back-row .lt-pc-back-btn,
    body div.lt-pc-wrap .lt-pc-back-btn,
    body div.lt-pc-wrap .lt-pc-arrow,
    .toggle-icon-wrapper {
        min-width: 40px;
        width: fit-content;
        height: 40px;
    }

    .ltcr-card,
    .lt-svc-grid .lt-svc-card {
        padding: 32px 25px;
    }

    .ltcr-detail,
    body div.elementor-element div.lt-svc-wrap .lt-svc-card.expanded {
        padding: 64px 25px;
    }

    .ltcr-detail,
    .lt-main-content-wrapper {
        gap: 32px;
    }

    .ltcr-close-btn,
    .lt-svc-back-row {
        top: 14px;
        right: 14px;
    }

    .product-category-carousel-wrapper .swiper-button-prev,
    .product-category-carousel-wrapper .swiper-button-next,
    .product-category-carousel-wrapper .swiper-button-prev svg,
    .product-category-carousel-wrapper .swiper-button-next svg {
        width: 35px;
        height: 35px;
    }

    .product-category-carousel-wrapper .swiper-button-next {
        right: -17px;
    }

    .product-category-carousel-wrapper .swiper-button-prev {
        left: -17px;
    }

    ul.page-numbers {
        margin: 60px 0 0;
    }

    :root {
        --gap_40: 32px;
        --gap_50: 25px;
        --gap_60: 32px;
        --gap_80: 40px;
    }

    .pm-grid,
    .card-click-expand-container {
        grid-template-columns: repeat(2, 1fr);
    }

    body .section_padding {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    body .section_padding_large {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    body .section_padding_small,
    body .section_padding_large,
    body .section_padding {
        padding-left: 25px;
        padding-right: 25px;
    }

    div.lt-pc-wrap .lt-pc-detail-grid,
    .card-after-expand .card-content {
        padding: 0;
    }

    .ts-row,
    .ts-section {
        grid-template-columns: 200px 1fr;
    }

    .product-benefits-grid {
        gap: 32px;
    }

    .product-benefit-icon {
        width: 84px;
        height: 84px;
    }

    .pay-list {
        gap: 16px;
    }

    .pay-list li svg {
        width: 60px;
    }

    ul.pay-list {
        margin-left: -8px;
    }

    .product-card .swiper-button-next:after,
    .product-card .swiper-button-prev:after {
        font-size: 22px;
    }

    .product-filters {
        gap: 20px;
    }

    .online-payment-card .card-click-expand {
        padding: 32px;
    }

    .online-payment-card .card-click-expand.expanded {
        padding: 100px 32px;
    }

    div.product-category-carousel-wrapper h3 {
        font-size: 36px;
    }
}

@media (max-width:767px) {
    header .elementor-widget-search .e-search-label>svg {
        transform: translateY(-22%);
    }

    body div.lt-pc-wrap .lt-pc-detail-grid .lt-pc-detail-col-label {
        margin-bottom: 10px;
    }

    body #lt-svc-a75bfd5 .lt-svc-card {
        transition: var(--transition);
    }

    div.ltcr-card-grid h3.ltcr-card-title,
    div.lt-svc-card .lt-svc-title {
        font-size: 22px;
    }

    p.product-benefit-desc {
        margin-top: -3px;
    }

    .fancybox__container .fancybox__thumb,
    .product-gallery-wrapper .swiper-wrapper .swiper-slide img {
        border-radius: 7px;
    }

    .product-footer {
        padding-top: 16px;
        padding-inline: 16px;
    }

    .product-tags span {
        font-size: 14px;
    }

    .product-select-mobile {
        display: block;
        width: 100%;
    }

    .lt-svc-card.mobile-open .lt-svc-arrow,
    body div.lt-pc-wrap .mobile-open .lt-pc-arrow {
        position: absolute;
        bottom: 30px;
        right: 30px;
        transform: rotate(-90deg) !important;
    }

    .lt-svc-card.mobile-open .lt-svc-arrow {
        bottom: 14px;
        right: 14px;
    }

    .lt-svc-card.mobile-open .lt-svc-arrow {
        border-color: var(--blue);
    }

    .lt-svc-card.mobile-open .lt-svc-arrow svg path {
        stroke: var(--blue);
    }

    body div.lt-pc-wrap .lt-pc-card.mobile-open {
        padding-bottom: 42px;
        gap: 32px;
    }

    div.lt-pc-wrap .lt-pc-card.mobile-open .card-content {
        margin-top: 15px !important;
    }

    .lt-svc-detail-header .lt-svc-detail-title,
    .lt-pc-back-row,
    div.lt-pc-detail-grid .lt-pc-detail-col:first-child,
    body div.lt-pc-card .lt-pc-detail-header,
    .product-filters>*:not(.product-select-mobile) {
        display: none !important;
    }

    div .ltcr-detail-left .ltcr-kicker,
    .lt-svc-detail-header .card-subtitle {
        margin: 0 0 15px;
        font-size: 18px;
    }

    .lt-main-content-wrapper {
        gap: 25px;
    }

    div.lt-pc-wrap .lt-pc-detail-grid>div {
        padding: 0 !important;
        border: none !important;
    }

    div.lt-pc-wrap .lt-pc-detail-grid {
        gap: 32px;
    }

    .button,
    button,
    input[type="submit"],
    .elementor a.button,
    .elementor-widget-button a.elementor-button,
    .elementor-widget-button .elementor-button,
    .elementor-widget-form .elementor-button {
        padding: 14px 20px;
    }

    .pm-filter-wrapper {
        margin-bottom: 32px;
        padding: 0 0 20px;
        flex-direction: column;
    }

    .pm-filter-wrapper>div {
        width: 100%;
    }

    .select2-container {
        width: 100% !important;
    }

    body .select2-container--default .select2-selection--single {
        justify-content: space-between;
    }

    .toggle-icon-wrapper {
        width: 42px;
        height: 42px;
    }

    .online-payment-card .card-click-expand {
        padding: 25px;
    }

    .card-after-expand .card-content>div:not(:last-child) {
        border-right: 0;
        border-bottom: 1px solid var(--white);
    }

    .after-title-wrapper {
        flex-direction: column;
        align-items: center;
        gap: 10px;
        text-align: center;
    }

    .card-icon-wrapper {
        width: 86px;
        height: 86px;
    }

    .card-click-expand {
        padding: 25px;
    }

    .product-filters {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 32px;
        width: 100%;
    }

    .lt-main-content-wrapper,
    .pm-grid,
    .online-payment-card .card-after-expand.expanded,
    .card-after-expand .card-content,
    .card-click-expand-container,
    .products-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .lt-svc-card.mobile-open {
        background-color: var(--cement);
        position: relative;
        padding-bottom: 60px;
    }

    div.ltcr-card-grid .ltcr-accordion-open h3.ltcr-card-title,
    .lt-svc-card.mobile-open .lt-svc-title {
        color: var(--blue);
        max-width: 100%;
    }

    div.product-category-carousel-wrapper h3 {
        margin: 0 0 20px;
        padding: 0 20px 20px;
        margin-inline: auto;
        font-size: 30px;
    }

    .product-category-carousel-wrapper .swiper-button-prev,
    .product-category-carousel-wrapper .swiper-button-next,
    .product-category-carousel-wrapper .swiper-button-prev svg,
    .product-category-carousel-wrapper .swiper-button-next svg {
        width: 32px;
        height: 32px;
    }

    .ts-row,
    .ts-section,
    .product-benefits-grid {
        grid-template-columns: 1fr;
    }

    .ts-row {
        padding: 14px 20px;
        gap: 10px;
    }

    .ts-section {
        gap: 16px;
    }

    .ts-section:not(:last-child) {
        margin-bottom: 60px;
    }

    .pay-list {
        gap: 12px;
    }

    .pay-list li svg {
        width: 36px;
        height: auto;
    }

    .product-benefit-item .product-benefit-title {
        margin: 5px 0 0;
    }

    .product-benefit-item {
        max-width: 250px;
        margin-inline: auto;
        gap: 10px;
    }

    .product-gallery-wrapper .swiper-button-prev {
        left: -26px;
    }

    .product-gallery-wrapper .swiper-button-next {
        right: -26px;
    }

    p:not(:last-child) {
        margin-block-end: 1.2rem;
    }

    .lt-line {
        left: 22px;
        transform: none;
    }

    .lt-step {
        min-height: 0;
        margin-bottom: 24px;
    }

    .lt-marker {
        left: 1px;
        transform: none;
        order: 1;
        position: absolute;
        margin-top: 5px;
    }

    .lt-step {
        padding-left: 64px;
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .lt-dot-wrapper {
        order: 2;
        width: fit-content;
    }

    .lt-card {
        width: 100%;
        margin-left: 0;
        text-align: left;
        order: 3;
        padding: 25px;
    }

    body .section_padding {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    body .section_padding_large {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    body .section_padding_small {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    :root {
        --gap_16: 15px;
        --gap_20: 15px;
        --gap_24: 15px;
        --gap_36: 20px;
        --gap_32: 20px;
        --gap_30: 20px;
        --gap_40: 20px;
        --gap_50: 20px;
        --gap_80: 25px;
        --radius_l: 12px;
    }

    .lt-dot {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }

    .lt-step:not(:last-child) {
        margin-bottom: 36px;
    }

    .lt-last-arrow {
        left: 0;
        transform: translateX(-4px) scale(0);
    }

    .lt-last-arrow.is-active {
        transform: translateX(-4px) scale(1);
    }

    .card-after-expand .card-content>div {
        padding-inline: 0;
    }

    .pm-card {
        padding: 25px;
    }

    ul.page-numbers {
        margin: 32px 0 0;
    }

    ul.page-numbers li .page-numbers {
        width: 42px;
        height: 42px;
        font-size: 16px;
    }

    .lt-card h3.lt-card-title {
        margin-bottom: 15px;
    }
}

.specs_wrapper {
    overflow: hidden;
    height: 0;
    transition: height 0.35s ease;
}

.specs_wrapper.is-open {
    height: auto;
}

html {
    scroll-behavior: smooth;
}

@media (max-width: 767px) {

    .animated.fadeInUp,
    .elementor-invisible {
        opacity: 1 !important;
        visibility: visible !important;
        animation: none !important;
        transform: none !important;
    }
}

body div.elementor-shortcode canvas {
    width: 100%;
    height: auto;
}


/* New expand animation =============== */

.ltcr-card-expand-wrap {
    position: relative;
}

.ltcr-card-expand-wrap * {
    box-sizing: border-box;
}

/* ---- Grid ---- */
.ltcr-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    align-content: start;
    transition: min-height .45s cubic-bezier(.22, .9, .3, 1);
}

.ltcr-card {
    background: var(--blue);
    border-radius: var(--radius_r);
    min-height: 140px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--radius_l);
    cursor: pointer;
    color: var(--white);
    position: relative;
    transition: opacity .35s ease, transform .35s ease;
}

.ltcr-card-title {
    margin: 0;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: .2px;
}

.ltcr-icon {
    flex: none;
    transition: background .25s ease, transform .25s ease, border-color .25s ease;
    margin-top: inherit;
}

.ltcr-card-grid.ltcr-dimmed .ltcr-card {
    pointer-events: none;
}

.ltcr-card template {
    display: none;
}

/* ---- Desktop overlay ---- */
.ltcr-ghost {
    position: absolute;
    background: var(--blue);
    border-radius: var(--radius_l);
    z-index: 60;
    transform-origin: top left;
    will-change: top, left, width, height;
}

.ltcr-detail {
    position: absolute;
    inset: 0;
    background: var(--cement);
    border-radius: var(--radius_r);
    opacity: 0;
    transition: opacity .28s ease;
    margin-top: -1px;
}

.ltcr-detail.ltcr-visible {
    opacity: 1;
}

.ltcr-detail-left {
    flex: 1 1 46%;
    min-width: 240px;
}

.ltcr-detail-right {
    flex: 1 1 54%;
}

.ltcr-close-btn {
    position: absolute;
    top: 22px;
    right: 24px;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
    z-index: 2;
}

.ltcr-detail-left,
.ltcr-detail-right {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .35s ease, transform .35s ease;
}

.ltcr-detail.ltcr-visible .ltcr-detail-left {
    transition-delay: .08s;
    opacity: 1;
    transform: none;
}

.ltcr-detail.ltcr-visible .ltcr-detail-right {
    transition-delay: .16s;
    opacity: 1;
    transform: none;
}

/* ---- Mobile accordion ---- */
@media (max-width:767px) {
    ul.pay-list {
        margin-left: -6px;
    }

    .ltcr-card-grid {
        grid-template-columns: 1fr;
    }

    .ltcr-card {
        transition: .2s ease .1s;
        min-height: inherit;
    }

    body div.lt-pc-wrap .lt-pc-arrow,
    .ltcr-icon {
        transform: rotate(90deg) !important;
        transition: transform .3s cubic-bezier(.22, .9, .3, 1), background .25s ease, border-color .25s ease;
    }

    .ltcr-card.ltcr-accordion-open {
        border-radius: var(--radius_r) var(--radius_r) 0 0;
        background-color: var(--cement);
        padding-bottom: 0;
    }

    .ltcr-card.ltcr-accordion-open .ltcr-icon {
        border-color: var(--blue);
        transform: rotate(-90deg) !important;
    }

    .ltcr-card.ltcr-accordion-open .ltcr-icon svg path {
        stroke: var(--blue);
    }

    .ltcr-accordion-panel {
        overflow: hidden;
        max-height: 0;
        background: var(--cement);
        border-radius: 0 0 var(--radius_r) var(--radius_r);
        transition: max-height .38s cubic-bezier(.22, .9, .3, 1);
        margin-top: -25px;
    }

    .ltcr-accordion-body {
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding: 20px 25px 32px;
    }

    .ltcr-accordion-body .ltcr-detail-left,
    .ltcr-accordion-body .ltcr-detail-right {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .ltcr-accordion-body .ltcr-detail-left h2 {
        font-size: 19px;
    }

    div.ltcr-detail-left .ltcr-detail-title {
        display: none;
    }
}


.css-marquee-ready {
    overflow: hidden !important;
    width: 100% !important;
}
.css-marquee-ready .marquee-track {
    display: flex !important;
    width: max-content !important;
    gap: 0 !important;
    animation: marquee-scroll 20s linear infinite;
}

.css-marquee-ready .swiper-slide {
    flex-shrink: 0 !important;
    width: auto !important;
    margin-right: 32px;
}

.css-marquee-ready .swiper-slide>div {
    height: 100%;
}

.css-marquee-ready:hover .marquee-track {
    animation-play-state: paused;
}
.css-marquee-ready {
    cursor: pointer;
}
@keyframes marquee-scroll {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(var(--marquee-distance), 0, 0);
    }
}

@media (max-width:1024px) {
    .css-marquee-ready .swiper-slide {
        margin-right: 20px;
    }
}

/* gravity form styling */

/* shared */

.gform-field-label__text {
    /* display: none!important; */
}

@media screen and (min-width: 1025px) {
    .gfield--type-text, .gfield--type-radio {
        grid-column: span 6!important;
    }
}

.elementor-kit-52 input:not([type="button"]):not([type="submit"]), .elementor-kit-52 textarea, .elementor-kit-52 .elementor-field-textual {
    padding: 16px 18px!important;
}

/* partner application */

.gform_wrapper .gfield {
    position: relative;
}

.gform_wrapper .gfield .gfield_label {
    position: absolute;
    z-index: 2;
    left: 16px;
    top: 29px;
    transform: translateY(-50%);
    margin: 0;
    pointer-events: none;

    font-size: 16px;
    line-height: 1;

    transition: 0.2s ease;
}

.gform_wrapper .gfield input[type="text"],
.gform_wrapper .gfield input[type="email"],
.gform_wrapper .gfield input[type="tel"],
.gform_wrapper .gfield input[type="number"] {
    height: 58px;
    min-height: 58px;
    padding: 19px 16px 5px;
    box-sizing: border-box;
}

.gform_wrapper .gfield:focus-within .gfield_label,
.gform_wrapper .gfield:has(input:user-valid) .gfield_label,
.gform_wrapper .gfield:has(input:user-invalid) .gfield_label,
.gform_wrapper .gfield:has(textarea:not(:placeholder-shown)) .gfield_label {
    top: 5px;
    transform: none;
    font-size: 11px;
}

/* Keep labels floated when values are restored after a server-side validation reload. */
.gform_wrapper .gfield:has(input:not(:placeholder-shown)) .gfield_label,
.gform_wrapper .gfield:has(input[value]:not([value=""])) .gfield_label,
.gform_wrapper .gfield:has(textarea:not(:placeholder-shown)) .gfield_label,
.gform_wrapper .ginput_container_address > span:has(input:not(:placeholder-shown)) .gform-field-label--type-sub,
.gform_wrapper .ginput_container_address > span:has(input[value]:not([value=""])) .gform-field-label--type-sub {
    top: 5px;
    transform: none;
    font-size: 11px;
}

.gfield input::placeholder,
.gfield textarea::placeholder {
    color: transparent!important;
}

/* Textarea - top padding so first line clears the floated label */
.gform_wrapper .gfield--type-textarea textarea {
    padding: 22px 16px 16px!important;
    box-sizing: border-box;
}

/* Match the select dimensions to the other fields */
.gform_wrapper .gfield--type-select .gfield_select {
    height: 58px;
    min-height: 58px;
    padding: 19px 42px 5px 16px;
    box-sizing: border-box;
}

/* Hide the select placeholder while it is selected */
.gform_wrapper .gfield--type-select
select:has(option.gf_placeholder:checked) {
    color: transparent;
}

/* But don't hide choices when the dropdown is opened */
.gform_wrapper .gfield--type-select select option {
    color: #000;
}

/* Float label while select has focus */
.gform_wrapper .gfield--type-select:focus-within .gfield_label,

/* Or once a real option has been selected */
.gform_wrapper .gfield--type-select:has(
    option:not(.gf_placeholder):checked
) .gfield_label {
    top: 9px;
    transform: none;
    font-size: 11px;
}

/* Each individual address component becomes its own label container */
.gform_wrapper .ginput_container_address > span {
    position: relative;
}


/* --------------------------------
   INPUT / SELECT SIZE
-------------------------------- */

.gform_wrapper .ginput_container_address input,
.gform_wrapper .ginput_container_address select {
    height: 58px;
    min-height: 58px;
    box-sizing: border-box;
    width: 100%;
}

/* Text fields */
.gform_wrapper .ginput_container_address input {
    padding: 19px 16px 5px!important;
}

/* Country select - extra room for arrow */
.gform_wrapper .ginput_container_address select {
    padding: 19px 42px 5px 16px;
}


/* --------------------------------
   FLOATING LABEL
-------------------------------- */

.gform_wrapper .ginput_container_address .gform-field-label--type-sub {
    position: absolute;
    z-index: 2;

    left: 16px;
    top: 29px;
    transform: translateY(-50%);

    margin: 0;
    pointer-events: none;

    font-size: 16px;
    line-height: 1;

    transition:
        top 0.2s ease,
        transform 0.2s ease,
        font-size 0.2s ease;
}


/* --------------------------------
   FLOAT WHEN ACTIVE / POPULATED
-------------------------------- */

.gform_wrapper .ginput_container_address > span:focus-within .gform-field-label--type-sub,

.gform_wrapper .ginput_container_address > span:has(
    input:user-valid
) .gform-field-label--type-sub,

.gform_wrapper .ginput_container_address > span:has(
    input:user-invalid
) .gform-field-label--type-sub,

.gform_wrapper .ginput_container_address > span:has(
    select option:not([value=""]):checked
) .gform-field-label--type-sub {
    top: 9px;
    transform: none;
    font-size: 11px;
}


/* Validation messages sit below the input instead of pushing into the floating label. */
.gform_wrapper .gfield.gfield_error {
    padding-bottom: 22px;
}

.gform_wrapper .gfield.gfield_error > .gfield_validation_message {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 3px 0 0!important;
    padding: 0!important;
    font-size: 12px;
    line-height: 1.3;
}

.gform_wrapper .gfield.gfield_error > .gfield_label {
    top: 5px;
    transform: none;
    font-size: 11px;
}

/* Hide placeholder text - we only need it for :placeholder-shown */
.gform_wrapper .ginput_container_address input::placeholder {
    color: transparent;
}

.gfield--type-address legend.gfield_label_before_complex {
    display: none!important;
}

.elementor-kit-52 input.gfield-choice-input:not([type="button"]):not([type="submit"]), .elementor-kit-52 textarea, .elementor-kit-52 .elementor-field-textual,
.elementor-kit-52 .ginput_container_consent input[type="checkbox"]
{
    padding: unset!important;
}

.gfield--type-multi_choice .gfield_label_before_complex {
    top: unset!important;
    transform: unset!important;
    font-size: unset!important;
    position: unset!important;
    margin-bottom: 12px!important;
}

/* Choice fields (radio/checkbox) - keep legend in normal flow above the options */
.gfield--type-choice .gfield_label {
    position: unset!important;
    top: unset!important;
    left: unset!important;
    transform: unset!important;
    margin: 0 0 12px!important;
    font-size: 16px;
}

/* Phone and email fields */
.gfield--type-phone,
.gfield--type-email {
    position: relative;
}

.gfield--type-phone input,
.gfield--type-email input {
    width: 100%;
    height: 58px;
    min-height: 58px;
    padding: 19px 16px 5px!important;
    box-sizing: border-box;
}

.gfield--type-phone .gfield_label,
.gfield--type-email .gfield_label {
    position: absolute;
    z-index: 2;
    left: 16px;
    top: 29px;
    transform: translateY(-50%);
    margin: 0;
    pointer-events: none;
    font-size: 16px;
    line-height: 1;
    transition: 0.2s ease;
}

.gfield--type-phone:focus-within .gfield_label,
.gfield--type-email:focus-within .gfield_label,
.gfield--type-phone:has(input:user-valid) .gfield_label,
.gfield--type-email:has(input:user-valid) .gfield_label,
.gfield--type-phone:has(input:user-invalid) .gfield_label,
.gfield--type-email:has(input:user-invalid) .gfield_label {
    top: 5px;
    transform: none;
    font-size: 11px;
}

/* Date field (MM / DD / YYYY) - no floating label, keep placeholders visible */
.gfield--type-date .gfield_label_before_complex {
    position: unset!important;
    top: unset!important;
    transform: unset!important;
    margin: 0 0 12px!important;
    font-size: 16px;
}

.gfield--type-date .ginput_container_date {
    position: relative;
}

.gfield--type-date input {
    height: 58px;
    min-height: 58px;
    padding: 16px!important;
    box-sizing: border-box;
    width: 100%;
    text-align: center;
}

.gfield--type-date input::placeholder {
    color: #999!important;
    opacity: 1;
}

/* Gravity Forms - flat light input style */
.gform_wrapper .gfield input:not([type="button"]):not([type="submit"]),
.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea {
    border: 0!important;
    border-radius: 5px!important;
    background: #f5f5f5!important;
    box-shadow: none!important;
}

.payments-form .gfield--type-radio .gform-field-label {
    color: #fff;
}

/* Highlight required fields after an unsuccessful submission. */
.gform_wrapper .gfield.gfield_error input:not([type="button"]):not([type="submit"]),
.gform_wrapper .gfield.gfield_error select,
.gform_wrapper .gfield.gfield_error textarea {
    border: 1px solid #c02b0a40 !important;
}

/* Date dropdown fields use a legend, not the complex-address label class. */
.gform_wrapper .gfield--type-date > legend.gfield_label {
    position: static !important;
    display: block;
    transform: none !important;
    margin: 0 0 12px !important;
    font-size: 16px;
    line-height: 1.2;
}

.gform_wrapper .gfield--type-date .ginput_container_date select {
    height: 58px;
    min-height: 58px;
    width: 100%;
    padding: 0 42px 0 16px !important;
    line-height: 58px;
    vertical-align: middle;
    box-sizing: border-box;
}

.gfield--type-consent {
    display: flex!important;
    flex-direction: column-reverse!important;
    gap: 10px!important;
}

.gfield--type-consent a {
    color: var(--e-global-color-107bdfa);
}