@charset "utf-8";
/* CSS Document */


/**
 *
 * HEADER
 *
 */
#main-header {
    --bs-border-color: #f2f5f9;
    background-color: rgb(255 255 255 / 0.9);
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

#main-header .container-fluid .navbar {
    min-height: 80px;
}

#main-header .navbar-brand {
    max-width: clamp(120px, calc(59.765px + 18.824vw), 168px);
}

#main-header .btn-primary {
    --bs-btn-padding-x: clamp(0.563rem, calc(0.029rem + 2.373vw), 1.500rem);
    --bs-btn-padding-y: 6px;
    --bs-btn-font-size: clamp(0.875em, calc(0.816em + 0.298vw), 1.000em);
    --bs-btn-font-weight: 600;
    --bs-btn-line-height: 24px;
    text-shadow: 0 1px 2px rgb(0, 0, 0, 0.05);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05), 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

#main-header .btn-primary:is(:hover, :active, :focus) {
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.4), 0 2px 4px -2px rgba(59, 130, 246, 0.4);
}

#main-header .user-options,
#main-header .nav-link {
    --bs-link-color: var(--bs-body-color);
    --bs-nav-link-color: var(--bs-body-color);
    font-weight: 500;
}

#main-header .nav-link {
    --bs-navbar-nav-link-padding-x: 1rem;
    --bs-nav-link-hover-color: var(--bs-link-hover-color);
    --bs-navbar-active-color: var(--bs-link-hover-color);
}

#main-header .dropdown-menu {
    --bs-dropdown-font-size: 1em;
    --bs-dropdown-link-color: var(--bs-body-color);
    --bs-dropdown-link-hover-color: var(--bs-link-hover-color);
    --bs-dropdown-link-hover-bg: transparent;
    --bs-border-color-translucent: #f2f5f9;
}

#main-header .navbar-toggler {
    border: none;
    padding: 0;
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

#main-header .navbar {
    --bs-navbar-toggler-focus-width: 0;
}

#main-header .cart-btn {
    --bs-btn-hover-color: var(--bs-link-hover-color);
    --bs-btn-active-color: var(--bs-link-hover-color);
    margin-right: clamp(0px, calc(-64px + 20vw), 12px);
    padding: 12px clamp(6px, calc(-36.667px + 13.333vw), 14px) 6px clamp(0px, calc(-32px + 10vw), 6px);
}

#main-header .cart-btn .cart-num {
    width: 1.25rem;
    height: 1.25rem;
    aspect-ratio: 1/1;
    background-color: rgba(var(--bs-body-color-rgb), 0.1);
    font-size: 10px;
}

#offcanvasCart {
    width: 100vw;
    max-width: 400px;
}

#offcanvasCart .offcanvas-body {
    padding-bottom: 160px;
}

#offcanvasCart .offcanvas-title {
    font-size: 1.125em;
}

#offcanvasCart .summary {
    height: calc(100vh - 240px);
    overflow-y: auto;
}

#offcanvasCart table {
    font-size: 0.875rem;
}

#offcanvasCart table td {
    color: var(--bs-body-color);
    padding: .5rem .375rem;
}

#offcanvasCart .product td {
    padding-bottom: 1rem;
}

#offcanvasCart .product .img {
    width: 60px;
}

#offcanvasCart .product .title {
    font-size: 1em;
}

#offcanvasCart .product .remove {
    width: 40px;
}

#offcanvasCart .product .product-img {
    aspect-ratio: 4 / 3;
}

#offcanvasCart .product .qty {
    font-size: 0.75rem;
}

#offcanvasCart .product .price {
    line-height: var(--bs-heading-line-height);
}

#offcanvasCart .price {
    color: var(--bs-heading-color);
}

#offcanvasCart .product .remove .btn {
    padding: 0;
    font-size: 0.75rem;
    line-height: var(--bs-heading-line-height);
}

#offcanvasCart .total td {
    color: var(--main-brand-color);
}

#offcanvasCart .cart-options {
    position: absolute;
    bottom: var(--bs-offcanvas-padding-x);
    left: var(--bs-offcanvas-padding-x);
    right: var(--bs-offcanvas-padding-x);
    background-color: var(--bs-offcanvas-bg);
}

#offcanvasCart .btn {
    --bs-btn-padding-x: 1rem;
    --bs-btn-padding-y: 0.75rem;
    --bs-btn-font-size: 0.875rem;
}

/**
  *
  * end HEADER
  *
  */
/* Homepage */
.hero-section {
    padding: clamp(6.000rem, calc(3.915rem + 3.404vw), 8.000rem) 0;
}

.hero-section .blur-blob {
    position: absolute;
    top: -10%;
    left: -10%;
    width: 47vw;
    height: 47vw;
    border-radius: 9999px;
    background-color: rgba(239, 246, 255, 0.5);
    filter: blur(64px);
    pointer-events: none;
    z-index: 0;
}

.hero-section .hero-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    margin-bottom: 2rem;
    font-size: 0.75em;
    line-height: 1.333;
    font-weight: 600;
    letter-spacing: 0.025em;
    background-color: rgb(248, 250, 252);
    border: 1px solid rgb(226, 232, 240);
}

.hero-section .status-indicator {
    position: relative;
    display: inline-flex;
    width: 0.5rem;
    height: 0.5rem;
}

.hero-section .ping-circle {
    position: absolute;
    display: inline-flex;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
    background-color: rgb(96, 165, 250);
    opacity: 0.75;
    animation: ping-animation 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.hero-section .main-circle {
    position: relative;
    display: inline-flex;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    background-color: var(--main-brand-color);
}

@keyframes ping-animation {
    75%, 100% {
        transform: scale(2);
        opacity: 0;
    }
}

.hero-section .hero-title {
    max-width: 580px;
    font-size: clamp(2.750em, calc(1.681em + 1.724vw), 3.750em);
    font-weight: 800;
    margin-bottom: 1.5rem;
    letter-spacing: -0.025em;
}

.hero-section p {
    max-width: 504px;
    font-size: 1.125em;
    margin-bottom: 2.5rem;
}

.hero-section .cta-btns {
    --bs-gutter-x: 1rem;
    max-width: 468px;
}

.hero-section .cta-btns .btn-primary {
    --bs-btn-padding-x: 1rem;
    --bs-btn-padding-y: 1rem;
}

.hero-section .main-img {
    border-radius: 1.5rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.status-card {
    bottom: 1.5rem;
    left: 1.5rem;
    gap: 0.75rem;
    padding: 0.875rem;
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid rgb(241, 245, 249);
    border-radius: 1rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.status-card .icon {
    width: 2.5rem;
    height: 2.5rem;
    background-color: rgb(220, 252, 231);
    color: rgb(22, 163, 74);
    border-radius: 9999px;
}

.status-card .icon svg {
    width: 1.25rem;
    height: 1.25rem;
}

.status-card .label {
    font-size: 0.75em;
    line-height: 1;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    color: var(--bs-text-secondary);
}

.status-card p {
    margin: 0;
    font-size: 0.875em;
    line-height: 1.25;
    font-weight: 700;
    color: var(--bs-heading-color);
}

.trust-section {
    border-top: 1px solid rgb(241, 245, 249);
    border-bottom: 1px solid rgb(241, 245, 249);
    background-color: rgba(var(--bs-light-rgb), 0.5);
    padding: 2.5rem 0;
}

.trust-section .title {
    margin-bottom: 2rem;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgb(148, 163, 184);
}

.trust-section .logos-carousel {
    width: 100%;
    padding-left: calc((100vw - 1208px) / 2);
    filter: grayscale(100%);
    opacity: 0.5;
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.trust-section .logos-carousel:hover {
    filter: grayscale(0%);
    opacity: 1;
}

.trust-section .logos-carousel .swiper-slide {
    width: 20%;
    max-width: 228px;
    padding: 0 12px;
    text-align: center;
}

.solutions-section {
    padding-top: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    padding-bottom: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
}

.section-intro {
    padding-bottom: clamp(0.000rem, calc(-0.978rem + 4.348vw), 2.500rem);
    text-align: center;
}

.section-intro .title {
    margin-bottom: 1rem;
    font-size: clamp(1.625em, calc(1.380em + 1.087vw), 2.250em);
    line-height: 1.1;
    font-weight: 700;
}

.section-intro p {
    max-width: 654px;
    font-size: clamp(1.000em, calc(0.951em + 0.217vw), 1.125em);
    line-height: 1.75;
    color: var(--bs-text-secondary);
}

.solutions-section .solutions-carousel .swiper {
    overflow: visible;
}

.solutions-section .solutions-carousel .swiper-slide {
    height: auto;
    padding-right: clamp(0.750rem, calc(-3.107rem + 8.036vw), 1.875rem);
}

.solutions-section .solutions-carousel article {
    height: 100%;
    padding: 2rem;
    border: 1px solid #f1f5f9;
    border-radius: 1.5rem;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05);
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.solutions-section .solutions-carousel article:hover {
    box-shadow: 0 10px 40px -4px rgba(0, 0, 0, 0.08);
}

.solutions-section .solutions-carousel article .main-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: clamp(1.000rem, calc(0.250rem + 1.563vw), 1.500rem);
    width: clamp(2.500rem, calc(1.000rem + 3.125vw), 3.500rem);
    height: clamp(2.500rem, calc(1.000rem + 3.125vw), 3.500rem);
    border-radius: clamp(0.750rem, calc(0.375rem + 0.781vw), 1.000rem);
    font-size: clamp(1.000em, calc(0.813em + 0.391vw), 1.125em);
    background-color: rgba(var(--main-brand-color-rgb), 0.08);
    color: var(--main-brand-color);
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.solutions-section .solutions-carousel article:hover .main-icon {
    background-color: rgba(var(--main-brand-color-rgb), 0.15);
}

.solutions-section .solutions-carousel article .title {
    margin-bottom: 0.75rem;
    font-size: clamp(1.125em, calc(0.563em + 1.172vw), 1.500em);
}

.solutions-section .solutions-carousel article p {
    font-size: .875em;
    color: var(--bs-text-secondary);
}

.solutions-section .solutions-carousel article ul {
    font-size: .875em;
    line-height: 1.25;
    font-weight: 500;
    color: rgba(var(--bs-heading-color-rgb), 0.8);
}

.solutions-section .solutions-carousel article ul li {
    position: relative;
    padding-left: clamp(1.500rem, calc(0.375rem + 2.344vw), 2.250rem);
    padding-bottom: 1rem;
}

.solutions-section .solutions-carousel article ul .icon {
    position: absolute;
    left: 0;
    top: 0;
    font-size: clamp(0.938rem, calc(0.656rem + 0.586vw), 1.125rem);
    color: var(--main-brand-color);
}

.solutions-section .solutions-carousel article .btn {
    --bs-btn-padding-x: 1rem;
    --bs-btn-padding-y: 0.75rem;
    --bs-btn-font-size: 0.95em;
    --bs-btn-font-weight: 600;
    --bs-btn-line-height: 24px;
    --bs-btn-box-shadow: none;
    --bs-btn-focus-box-shadow: none;
    --bs-btn-border-radius: 0.75rem;
    --bs-btn-color: rgba(var(--bs-heading-color-rgb), 0.9);
    --bs-btn-hover-color: var(--main-brand-color);
    --bs-btn-active-color: var(--main-brand-color);
    --bs-btn-bg: #fff;
    display: block;
    width: 100%;
    border: 2px solid var(--bs-border-color);
}

.solutions-section .solutions-carousel article:is(:hover) .btn {
    --bs-btn-color: var(--main-brand-color);
    border-color: var(--main-brand-color);
}

.process-section {
    padding-top: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    padding-bottom: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    background-color: var(--bs-light);
    border-top: 1px solid var(--bs-border-color-translucent);
    border-bottom: 1px solid var(--bs-border-color-translucent);
}

.process-section .steps::before {
    position: absolute;
    left: 16%;
    right: 16%;
    top: 3rem;
    height: 0.125rem;
    background-color: var(--bs-border-color);
    content: "";
}

.process-section .steps .main-icon {
    position: relative;
    width: 6rem;
    height: 6rem;
    margin-bottom: 1.5rem;
    border: 8px solid var(--bs-light);
    color: var(--main-brand-color);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    z-index: 10;
}

.process-section .steps .main-icon i {
    font-size: 1.5em;
}

.process-section .steps .step-num {
    top: -0.5rem;
    right: -0.5rem;
    width: 2rem;
    height: 2rem;
    background-color: #1e293b;
    background-color: var(--footer-bg-color);
    border: 2px solid #fff;
    color: #fff;
    font-size: 0.875em;
    line-height: 1.25;
    font-weight: 700;
}

.process-section .steps .item .title {
    font-size: 1.25em;
}

.process-section .steps .item p {
    max-width: 308px;
    font-size: 0.875em;
    color: var(--bs-text-secondary);
}

.comparison-section {
    padding-top: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    padding-bottom: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
}

.comparison-section .row {
    --bs-gutter-x: clamp(0.750rem, calc(-0.273rem + 2.841vw), 2.000rem);
}

.comparison-section .item {
    max-width: 528px;
}

.comparison-section article {
    height: 100%;
    padding: 2.5rem clamp(1.000rem, calc(-0.227rem + 3.409vw), 2.500rem) clamp(1.500rem, calc(0.682rem + 2.273vw), 2.500rem);
    background-color: var(--bs-light);
    border: 1px solid var(--bs-border-color);
    border-radius: 1.5rem;
}

.comparison-section article .title {
    font-size: clamp(1.250em, calc(1.045em + 0.568vw), 1.500em);
    color: var(--bs-text-secondary);
    margin-bottom: clamp(1.500rem, calc(1.091rem + 1.136vw), 2.000rem);
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.comparison-section article ul li {
    padding-left: clamp(1.875rem, calc(1.261rem + 1.705vw), 2.625rem);
    padding-bottom: clamp(1.125rem, calc(0.818rem + 0.852vw), 1.500rem);
    line-height: 1.5;
    font-size: clamp(0.875em, calc(0.773em + 0.284vw), 1.000em);
}

.comparison-section article ul li:last-of-type {
    padding-bottom: 0
}

.comparison-section article ul .icon {
    width: clamp(1.125rem, calc(0.818rem + 0.852vw), 1.500rem);
    height: clamp(1.125rem, calc(0.818rem + 0.852vw), 1.500rem);
    background-color: var(--bs-border-color);
    color: var(--bs-text-secondary);
    font-size: clamp(0.750rem, calc(0.648rem + 0.284vw), 0.875rem);
}

.comparison-section article.feat {
    position: relative;
    background-color: #fff;
    border-color: var(--main-brand-color);
    border-width: 2px;
    overflow: hidden;
    box-shadow:
        0 20px 25px -5px rgba(30, 58, 138, 0.05),
        0 8px 10px -6px rgba(30, 58, 138, 0.05);
}

.comparison-section article.feat .title {
    color: var(--bs-heading-color);
}

.comparison-section article.feat ul .icon {
    color: var(--main-brand-color);
    background-color: rgba(var(--main-brand-color-rgb), 0.15);
}

.comparison-section article.feat ul li {
    color: rgba(var(--bs-heading-color-rgb), 0.9);
}

.comparison-section article.feat .label {
    padding: 0.375rem 1rem;
    background-color: rgba(var(--main-brand-color-rgb), 0.1);
    border-bottom-left-radius: 1rem;
    color: var(--main-brand-color);
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.faq-section {
    padding-top: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    padding-bottom: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    background-color: var(--bs-light);
}

.faq-section .section-intro .title {
    font-size: 1.875em;
    letter-spacing: -0.025em;
}

.faq-section .accordion {
    max-width: 720px;
}

.accordion .accordion-item {
    margin-bottom: 1rem;
    padding: 0 clamp(1.125rem, calc(0.818rem + 0.852vw), 1.500rem);
    background-color: #fff;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
}

.accordion .accordion-header {
    font-size: 1em;
}

.accordion .accordion-button {
    --bs-accordion-btn-padding-x: 0;
    --bs-accordion-btn-padding-y: clamp(1.125rem, calc(0.818rem + 0.852vw), 1.500rem);
    position: relative;
    border: 0;
    background: transparent;
    font-size: 1em;
    font-weight: 600;
    color: var(--bs-heading-color);
    box-shadow: none !important;
}

.accordion .accordion-button .icon {
    font-size: 0.875rem;
    color: rgba(var(--bs-secondary-rgb), 0.7);
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion .accordion-button.collapsed .icon {
    transform: rotate(0deg);
}

.accordion .accordion-button.collapsed .icon {
    transform: rotate(-45deg);
}

.accordion .accordion-button::after {
    display: none;
}

.accordion .accordion-body {
    --bs-accordion-body-padding-y: 0;
    --bs-accordion-body-padding-x: 0;
    padding-right: 1.875rem;
    color: var(--bs-body-color);
    font-size: 0.875em;
}

/* Service page */
.hero-section .icon-star {
    color: var(--bs-yellow)
}

.features-overview {
    --bs-border-color: var(--bs-border-color-translucent);
    padding-top: 3rem;
    padding-bottom: 1.5rem;
}

.features-overview li {
    color: var(--bs-heading-color);
    padding-bottom: 1.5rem;
}

.features-overview li .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: clamp(1.000rem, calc(0.250rem + 1.563vw), 1.500rem);
    width: clamp(2.500rem, calc(1.000rem + 3.125vw), 3.500rem);
    height: clamp(2.500rem, calc(1.000rem + 3.125vw), 3.500rem);
    border-radius: clamp(0.750rem, calc(0.375rem + 0.781vw), 1.000rem);
    font-size: clamp(1.000em, calc(0.813em + 0.391vw), 1.125em);
    background-color: rgba(var(--main-brand-color-rgb), 0.08);
    color: var(--main-brand-color);
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.features-overview li:hover .icon {
    transform: translateY(-0.25rem);
}

.feature-block {
    padding-top: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    padding-bottom: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
}

.feature-block.reverse {
    padding-top: 0;
}

.feature-block .col {
    max-width: 600px;
}

.feature-block .main-img {
    border-radius: 1.5rem;
}

.feature-block .title {
    margin-bottom: 1rem;
    font-size: clamp(1.625em, calc(1.380em + 1.087vw), 2.250em);
    line-height: 1.1;
    font-weight: 700;
}

.feature-block p {
    font-size: clamp(1.000em, calc(0.951em + 0.217vw), 1.125em);
}

.feature-block ul li {
    position: relative;
    padding-left: clamp(1.875rem, calc(1.261rem + 1.705vw), 2.625rem);
    line-height: 1.5;
    font-size: clamp(0.875em, calc(0.773em + 0.284vw), 1.000em);
}

.feature-block ul .icon {
    width: clamp(1.125rem, calc(0.818rem + 0.852vw), 1.500rem);
    height: clamp(1.125rem, calc(0.818rem + 0.852vw), 1.500rem);
    background-color: rgba(var(--main-brand-color-rgb), 0.15);
    color: var(--main-brand-color);
    font-size: clamp(0.750rem, calc(0.648rem + 0.284vw), 0.875rem);
}

.feature-block ul li strong.d-block {
    color: var(--bs-heading-color);
}

.feature-block ul li p {
    margin-bottom: 0;
    font-size: 0.875em;
    line-height: 1.5;
}

.feature-block .img-wrapper {
    max-width: 545px;
}

.testimonials-section {
    padding-top: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    padding-bottom: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    background-color: var(--bs-light);
    border-top: 1px solid var(--bs-border-color-translucent);
    border-bottom: 1px solid var(--bs-border-color-translucent);
}

.testimonials-section .swiper {
    overflow: visible;
}

.testimonials-section .swiper-slide {
    height: auto;
    padding-right: clamp(0.750rem, calc(-3.107rem + 8.036vw), 1.875rem);
}

.testimonials-section .swiper-slide figure {
    height: 100%;
    padding: 2rem;
    border: 1px solid #f1f5f9;
    border-radius: 1.5rem;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05);
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.testimonials-section figure .rating {
    margin-bottom: clamp(1.125rem, calc(-0.161rem + 2.679vw), 1.500rem);
}

.testimonials-section figure .rating .icon-star {
    margin-right: 0.125rem;
    font-size: clamp(0.750rem, calc(0.321rem + 0.893vw), 0.875rem);
    color: var(--bs-yellow)
}

.testimonials-section figure .title {
    margin-bottom: 1em;
    font-size: clamp(1.125em, calc(0.696em + 0.893vw), 1.250em);
}

.testimonials-section figure p {
    font-size: clamp(0.938em, calc(0.723em + 0.446vw), 1.000em);
}

.testimonials-section figure p:last-of-type {
    margin-bottom: 0;
}

.testimonials-section figure figcaption {
    color: var(--bs-heading-color);
    font-size: 0.875rem;
    line-height: 1.25;
}

.testimonials-section figure figcaption cite span {
    font-size: 0.75rem;
}

.cta-section {
    padding-top: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    padding-bottom: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    background: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px) 0 0 / 24px 24px var(--bg-section-color);
    color: rgb(255, 255, 255, 0.9);
}

.cta-section .overlay {
    background-color: rgba(var(--main-brand-color-rgb), 0.35);
    filter: blur(120px);
    pointer-events: none;
}

.cta-section .title {
    margin-bottom: 1.5rem;
    font-size: clamp(2.000em, calc(1.609em + 1.739vw), 3.000em);
    letter-spacing: -0.025em;
    font-weight: 800;
    color: #fff;
}

.cta-section p {
    max-width: 672px;
    font-size: clamp(1.063em, calc(0.989em + 0.326vw), 1.250em);
}

.cta-section p:last-of-type {
    margin-bottom: 0;
}

.cta-section p.note {
    color: rgb(255, 255, 255, 0.8);
}

/* Single product page */
.breadcrumb {
    --bs-link-color: var(--bs-body-color);
    --bs-link-hover-color: #2563EB;
    --bs-breadcrumb-margin-bottom: 0;
    --bs-breadcrumb-font-size: 0.875rem;
    --bs-breadcrumb-item-active-color: var(--bs-heading-color);
    --bs-breadcrumb-divider: '›';
    --bs-breadcrumb-divider-color: var(--bs-body-color);
    --bs-breadcrumb-item-padding-x: clamp(0.375rem, calc(0.044rem + 1.471vw), 0.750rem);
    padding-top: clamp(1.500rem, calc(0.176rem + 5.882vw), 3.000rem);
    padding-bottom: 1.875rem;
}

.single-product {
    margin-bottom: 4rem;
}

.single-product .gallery,
.single-product .info {
    max-width: 608px;
}

.single-product .label {
    margin-bottom: 1rem;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    letter-spacing: 0.025em;
    background-color: #fffbeb;
    border-color: #fcd34d;
    color: #b45309;
}

.single-product .title {
    margin-bottom: 0.5rem;
    letter-spacing: -0.025em;
    font-size: clamp(2.000em, calc(0.500em + 3.125vw), 3.000em);
    font-weight: 800;
}

.single-product .price {
    color: var(--bs-heading-color);
    font-size: clamp(1.500em, calc(0.938em + 1.172vw), 1.875em);
}

.single-product p {
    font-size: clamp(1.063em, calc(0.969em + 0.195vw), 1.125em);
}

.single-product ul.checked li {
    position: relative;
    padding-left: clamp(1.875rem, calc(1.261rem + 1.705vw), 2.625rem);
    line-height: 1.5;
    color: rgba(var(--bs-heading-color-rgb), 0.9);
    font-size: clamp(0.938em, calc(0.844em + 0.195vw), 1.000em);
}

.single-product ul.checked .icon {
    width: clamp(1.125rem, calc(0.818rem + 0.852vw), 1.500rem);
    height: clamp(1.125rem, calc(0.818rem + 0.852vw), 1.500rem);
    background-color: rgba(var(--main-brand-color-rgb), 0.15);
    color: var(--main-brand-color);
    font-size: clamp(0.750rem, calc(0.648rem + 0.284vw), 0.875rem);
}

.single-product .list-box {
    padding: clamp(0.750rem, calc(-0.375rem + 2.344vw), 1.500rem);
    background-color: var(--bs-light);
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.single-product .list-box .title i {
    color: var(--main-brand-color);
}

.single-product .list-box ul {
    --bs-gutter-x: 1rem;
}

.single-product .list-box ul li {
    flex: 0 0 50%;
}

.single-product .list-box ul .bullet {
    font-size: 0.375rem;
    line-height: 1.375rem;
    opacity: 0.4;
}

.single-product .thumbs-slider img {
    transition: .3s cubic-bezier(.4, 0, .2, 1)
}

.single-product .thumbs-slider .swiper-slide {
    aspect-ratio: 1/1;
    padding: clamp(0.375rem, calc(-0.563rem + 1.953vw), 1.000rem) clamp(0.375rem, calc(-0.563rem + 1.953vw), 1.000rem) 0 0;
    cursor: pointer;
}

.single-product .thumbs-slider .swiper-slide-active img {
    --bs-border-color: var(--main-brand-color);
    box-shadow: inset 0 0 2px var(--main-brand-color);
}

.single-product .thumbs-slider img:hover {
    --bs-border-color: rgba(var(--bs-body-color-rgb), 0.4);
}

/* Products list page */

.products-content {
    background-color: var(--bs-light);
}

.products-content .breadcrumb {
    padding-top: clamp(2.250rem, calc(1.565rem + 3.043vw), 4.000rem);
    padding-bottom: 1rem;
}

.products-content .intro {
    max-width: 40rem;
}

.products-content .intro .title {
    margin-bottom: 1rem;
    letter-spacing: -0.025em;
    font-weight: 800;
    font-size: clamp(1.875em, calc(1.234em + 2.848vw), 3.000em);
}

.products-content .intro p {
    color: var(--bs-text-secondary);
    font-size: clamp(1.000rem, calc(0.951rem + 0.217vw), 1.125rem);
}

.product-entries {
    --bs-gutter-x: clamp(0.750rem, calc(0.310rem + 1.957vw), 1.875rem);
    padding-bottom: 5rem;
}

.product-entry {
    margin-bottom: var(--bs-gutter-x);
}

.product-entry a {
    padding: .75rem;
    border-radius: 1.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    transition: .5s cubic-bezier(.4, 0, .2, 1);
}

.product-entry a:hover {
    --bs-border-color: rgba(0, 0, 0, .15);
    box-shadow: 0 12px 40px -6px rgba(0, 0, 0, 0.08);
}

.product-entry a .label {
    top: 1.5rem;
    right: 1.5rem;
    padding: 0.25rem 0.625rem;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px 0 rgb(0, 0, 0, 0.05);
    font-size: 10px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.product-entry a .label.one {
    --bs-border-color: #c4dbfd;
    background-color: #deeafd;
    color: #273d88;
}

.product-entry a .label.two {
    --bs-border-color: #c5f4d1;
    background-color: #e1fbe8;
    color: #367d40;
}

.product-entry a .label.three {
    left: 1.5rem;
    right: auto;
    --bs-border-color: #f2f5f9;
    background-color: #fefeff;
    color: #364154;
}

.product-entry a .product-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 4/3;
    transition: .5s cubic-bezier(.4, 0, .2, 1);
}

.product-entry a:hover .product-card-img {
    transform: scale(1.08);
}

.product-entry a .wrapper {
    padding: 1.25rem 0.5rem 0;
}

.product-entry a .title {
    font-size: clamp(1.063em, calc(0.749em + 1.395vw), 1.250em);
    transition: .5s cubic-bezier(.4, 0, .2, 1);
}

.product-entry a:is(:hover, :active, :focus) .title {
    color: var(--main-brand-color);
}

.product-entry a p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: clamp(0.750rem, calc(-0.087rem + 3.721vw), 1.250rem);
    color: var(--bs-text-secondary);
    font-size: clamp(0.750em, calc(0.541em + 0.93vw), 0.875em);
    line-height: 1.5;
}

.product-entry a .price {
    font-size: clamp(1.063em, calc(0.330em + 3.256vw), 1.500em);
    font-weight: 800;
    color: var(--bs-heading-color);
    letter-spacing: -0.025em;
}

.product-entry a .price small {
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration-line: line-through;
    color: var(--bs-secondary-color);
    letter-spacing: -0.025em;
}

.product-entry a .more {
    --bs-border-color: #e2e8f0;
    width: clamp(1.875em, calc(0.829em + 4.651vw), 2.500em);
    height: clamp(1.875em, calc(0.829em + 4.651vw), 2.500em);
    background: var(--bs-light);
    border-radius: clamp(0.375em, calc(-0.253em + 2.791vw), 0.750em);
    color: rgba(var(--bs-secondary-rgb), 0.8);
    font-size: clamp(0.750em, calc(0.331em + 1.86vw), 1.000em);
    transition: .5s cubic-bezier(.4, 0, .2, 1);
}

.product-entry a:is(:hover, :active, :focus) .more {
    color: var(--main-brand-color);
    background: rgba(var(--main-brand-color-rgb), 0.08);
}

.product-card:hover .product-card__arrow {
    background: #eff6ff;
    border-color: #dbeafe !important;
    color: var(--bs-primary);
}

.product-card__icon {
    color: #bfdbfe;
    transition: color .5s ease, transform .5s ease;
}

.product-card:hover .product-card__icon {
    color: #93c5fd;
    transform: scale(1.1);
}

.product-card__title {
    transition: color .2s ease;
}

.product-card:hover .product-card__title {
    color: var(--bs-primary) !important;
}

.product-entries {
    --bs-gutter-x: clamp(0.750rem, calc(0.310rem + 1.957vw), 1.875rem);
    padding-bottom: clamp(3.000rem, calc(2.217rem + 3.478vw), 5.000rem);
}

.pagination {
    --bs-pagination-padding-x: 0.75rem;
    --bs-pagination-padding-y: 0.375rem;
    --bs-pagination-font-size: 1rem;
    --bs-pagination-color: var(--bs-link-color);
    --bs-pagination-bg: var(--bs-body-bg);
    --bs-pagination-border-width: var(--bs-border-width);
    --bs-pagination-border-color: var(--bs-border-color);
    --bs-pagination-border-radius: var(--bs-border-radius);
    --bs-pagination-hover-color: var(--bs-link-hover-color);
    --bs-pagination-hover-border-color: var(--bs-border-color);
    --bs-pagination-focus-color: var(--bs-link-hover-color);
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-border-color: #0d6efd;
    --bs-pagination-disabled-color: var(--bs-secondary-color);
    --bs-pagination-disabled-bg: var(--bs-secondary-bg);
    --bs-pagination-disabled-border-color: var(--bs-border-color);
    display: flex;
    padding-left: 0;
    list-style: none;
}

.pagination {
    --bs-pagination-padding-x: 0.875rem;
    --bs-pagination-border-width: 0;
    --bs-pagination-bg: transparent;
    --bs-pagination-focus-box-shadow: none;
    --bs-pagination-color: var(--bs-text-secondary);
    --bs-pagination-font-size: 0.875rem;
    --bs-pagination-active-bg: transparent;
    --bs-pagination-hover-bg: transparent;
    --bs-pagination-focus-bg: transparent;
    --bs-pagination-active-bg: var(--main-brand-color);
    --bs-pagination-hover-color: var(--bs-heading-color);
    --bs-pagination-focus-color: var(--bs-heading-color);
    padding-bottom: clamp(3.375rem, calc(2.348rem + 4.565vw), 6.000rem);
    font-weight: 500;
}

.pagination .page-link {
    border-radius: 0.5rem !important;
}

.pagination .page-item.disabled {
    opacity: 0;
    visibility: hidden;
}

.feature-box-section {
    padding-bottom: 6rem;
}

.feature-box-section .box {
    --bs-border-color: #e2e8f0;
    max-width: 848px;
    padding: 2.5rem clamp(0.750rem, calc(-2.180rem + 13.023vw), 2.500rem);
    border-radius: 2rem;
    text-align: center;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
}

.feature-box-section .wrapper {
    max-width: 512px;
}

.feature-box-section .title {
    font-size: 1.5em;
    margin-bottom: 0.75rem;
}

.feature-box-section p {
    font-size: clamp(0.938em, calc(0.833em + 0.465vw), 1.000em);
}

.feature-box-section p {
    color: var(--bs-text-secondary);
}

/* Contact page */
.contact-main {
    padding-top: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    padding-bottom: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    background-color: var(--bs-light);
}

.contact-main .content {
    max-width: 912px;
}

.contact-main .info ul .title {
    color: var(--bs-heading-color);
}

.contact-main .form-title {
    font-size: 1.375em;
}

/* Text page */
.default-main {
    padding-top: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    padding-bottom: clamp(4.000rem, calc(3.217rem + 3.478vw), 6.000rem);
    background-color: var(--bs-light);
}

.default-main .content {
    max-width: 912px;
}

.default-main h2,
.default-main h3,
.default-main h4,
.default-main h5,
.default-main h6 {
    padding-top: 0.875rem;
}

.default-main h1 {
    font-size: 2.25em;
}

.default-main h2 {
    padding-top: 1.875rem;
    font-size: 1.5em;
}

.default-main h3 {
    font-size: 1.125em;
}

.default-main h4 {
    font-size: 1em;
}

.default-main h5 {
    font-size: 0.875em;
}

.default-main h6 {
    font-size: 0.75em;
}

/**
  *
  * FOOTER
  *
  */
#main-footer {
    --bs-link-color: var(--footer-link-color);
    --bs-link-hover-color: var(--footer-link-hover-color);
    background-color: var(--footer-bg-color);
    color: var(--footer-text-color);
    padding-top: 5rem;
    padding-bottom: 2.5rem;
}

#main-footer p,
#main-footer ul,
#main-footer .title {
    font-size: 0.875em;
}

#main-footer p {
    max-width: 384px;
}

.newsletter-form {
    --bs-gutter-x: 0.75rem;
    width: 100%;
    max-width: 28rem;
}

.newsletter-form .col:first-child {
    flex: 1 1 0%;
}

.newsletter-form .col:last-child {
    flex: 0 0 132px;
}

.newsletter-form .form-control {
    --bs-border-radius: 0.75rem;
    --bs-border-color: rgba(var(--footer-text-color-rgb), 0.3);
    --bs-secondary-color: var(--footer-text-color);
    padding: 0.75rem 1rem;
    background-color: rgba(var(--footer-text-color-rgb), 0.12);
    font-size: 1em;
    color: #fff;
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.newsletter-form .form-control:focus {
    outline: none;
    border-color: var(--main-brand-color);
    box-shadow: 0 0 0 1px var(--main-brand-color);
}

.newsletter-form .btn-primary {
    --bs-btn-padding-x: 0.75rem;
    --bs-btn-padding-y: 0.75rem;
    --bs-btn-border-radius: 0.75rem;
    text-shadow: none;
    box-shadow: none !important;
    transform: translateY(0) !important;
}

#main-footer .title {
    letter-spacing: 0.05em;
}

#main-footer .contact-icon {
    font-size: 1.125em;
}

#main-footer .bottom-bar {
    --bs-link-color: var(--bs-text-secondary);
    color: var(--bs-text-secondary);
    font-size: 0.75em;
}

#main-footer .disclaimer {
    font-size: 0.625em;
    line-height: 1.375;
    color: rgba(var(--footer-text-color-rgb), 0.5);
}

/**
  *
  * end FOOTER
  *
  */