/* ===================================
    Crafto - Design agency
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/* variable */
:root {
    --base-color: #c583ff;
    /* Lila (primary accent / innovation / growth) */
    --medium-gray: #a7a7a8;
    /* Secondary gray / neutral */
    --white: #f8f8f8;
    /* Lila suave / light neutral */
    --concrete-gray: #f8f8f8;
    /* Background for light sections */
    --bg-maire-yellow: #000000;
    /* Primary dark base */
    --light-medium-gray: #a7a7a8;
    /* Separators / borders */
    --dark-gray: #303030;
    /* Text body on white */
    --zeus-grey: #a7a7a8;
    /* Dark gray borders / grid lines */
    --alt-font: 'Bebas Neue', cursive;
    --primary-font: 'Inter', sans-serif;
}

body {
    font-size: 17px;
    line-height: 30px;
}

.container-fluid {
    max-width: 1750px;
}

/* custom cursor */
@media (hover: hover) and (pointer: fine) {
    .custom-cursor .circle-cursor-outer {
        border: 1px solid transparent;
    }

    .custom-cursor .circle-cursor-inner {
        width: 20px;
        height: 20px;
        left: -5px;
        top: -5px;
        background: var(--dark-gray);
    }

    .custom-cursor .circle-cursor-inner.cursor-link-hover {
        width: 30px;
        height: 30px;
        background: var(--white);
        opacity: 0.5 !important;
    }
}

/* heading tag */
h1 {
    font-size: 5rem;
    line-height: 4.5rem;
}

h3 {
    font-size: 3.125rem;
    line-height: 2.8rem;
}

.fs-325 {
    font-size: 20.313rem;
    line-height: 20.313rem;
}

/* page title */
.page-title-large h1 {
    font-size: 5.625rem;
    line-height: 4.375rem;
}

/* header */
header .container-fluid {
    padding: 0;
}

.navbar .navbar-nav .nav-link {
    font-weight: 700;
    font-size: 15px;
    padding: 10px 24px;
}

header .navbar-brand {
    padding: 38px 0;
}

header .navbar-brand img {
    max-height: 40px;
}

/* line height */
.lh-160 {
    line-height: 10rem;
}

.lh-300 {
    line-height: 18.75rem;
}

/* top bottom left right */
.top-minus-250px {
    top: -250px;
}

.right-minus-250px {
    right: -250px;
}

.left-minus-230px {
    left: -230px;
}

/* bg color */
.bg-concrete-gray {
    background-color: var(--concrete-gray);
}

.bg-maire-yellow {
    background-color: var(--bg-maire-yellow);
}

.bg-gradient-dark-transparent {
    background: -webkit-gradient(linear, left bottom, left top, color-stop(7%, #292927), to(transparent));
    background: linear-gradient(to top, #292927 7%, transparent 100%);
}

.bg-gradient-gray-light-dark-transparent {
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.8)), to(transparent));
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 100%);
}

/* border color */
.border-color-zeus-grey {
    border-color: var(--zeus-grey) !important;
}

/* text color */
.text-concrete-gray {
    color: var(--concrete-gray);
}

.text-white,
.btn-link.text-white,
a.text-white-hover:hover {
    color: var(--white) !important;
}

/* word break normal */
.word-break-normal {
    word-break: normal;
}

/* btn */
.btn {
    font-family: var(--primary-font) !important;
    letter-spacing: 0;
}

.btn.btn-switch-text.btn-large>span {
    font-size: 15px;
    padding: 18px 36px;
}

.btn.btn-switch-text.btn-medium>span {
    font-size: 14px;
    padding: 14px 28px;
}

.btn.btn-base-color {
    color: var(--dark-gray);
}

.btn.btn-box-shadow.btn-base-color:hover {
    color: var(--dark-gray);
}

.btn.btn-link {
    padding: 0;
}

.btn.btn-dark-gray,
.btn.btn-box-shadow.btn-dark-gray:hover {
    color: #d8d8d4;
}

.threeD-letter-menu {
    min-height: inherit;
}

/* hover box */
.hover-box.dark-hover:hover i {
    color: var(--base-color) !important;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

/* bg sliding line */
.bg-sliding-line {
    background-image: linear-gradient(45deg, transparent 45%, #fff 45%, #fff 55%, transparent 0);
    background-size: 0.2em 0.2em;
}

.text-sliding-line {
    background-image: linear-gradient(135deg, transparent 45%, #fff 45%, #fff 55%, transparent 0);
}

/* team style 08 */
.team-style-08 figure figcaption .social-icon a {
    background-color: var(--base-color);
}

.team-style-08 figure figcaption .social-icon a:hover {
    color: var(--dark-gray);
}

/* team style 04 */
.tab-style-04 .nav-tabs .nav-item .nav-link {
    color: var(--dark-gray);
}

/* Counter style 04 */
.counter-style-04 .vertical-counter-number ul {
    line-height: 1;
}

/* footer */
footer {
    padding-top: 110px;
    padding-bottom: 90px;
}

footer a {
    color: var(--dark-gray);
}

footer a:hover {
    color: var(--dark-gray);
}

footer .footer-logo img {
    max-height: 56px;
}

footer .list-style-05 li:before {
    background-color: var(--dark-gray);
}

footer .list-style-05 li:hover {
    margin-left: 0;
}

footer .list-style-05 li:before {
    margin: 0 20px;
}

footer ul li {
    margin-bottom: 7px;
    -webkit-transition: all 300ms cubic-bezier(0.37, 0.8, 0.63, 1);
    transition: all 300ms cubic-bezier(0.37, 0.8, 0.63, 1);
}

footer ul li:last-child {
    margin-bottom: 0;
}

footer ul li a:hover {
    padding-left: 10px;
}

@media (max-width: 1599px) {
    .fs-325 {
        font-size: 18.313rem;
        line-height: 18.313rem;
    }
}

/* media query responsive */
@media (max-width: 1499px) {
    .fs-325 {
        font-size: 16rem;
        line-height: 16rem;
    }
}

@media (max-width: 1399px) {
    .bottom-minus-130px {
        bottom: -70px;
    }

    .fs-325 {
        font-size: 15rem;
        line-height: 15rem;
    }
}

@media (max-width: 1199px) {
    .lg-lh-128 {
        line-height: 8rem;
    }

    .lg-bg-black {
        background-color: var(--bg-maire-yellow);
    }

    .fs-325 {
        font-size: 12rem;
        line-height: 12rem;
    }
}

@media (max-width: 991px) {
    [data-mobile-nav-style=full-screen-menu] .navbar-full-screen-menu-inner .navbar-nav>.nav-item {
        border-bottom: 0;
        text-align: center;
    }

    [data-mobile-nav-style=full-screen-menu] .navbar-full-screen-menu-inner .navbar-nav .nav-item .nav-link {
        font-size: 32px;
        line-height: 32px;
        font-weight: 700;
    }

    .main-content {
        z-index: inherit;
    }

    .lh-300 {
        line-height: 15rem;
    }

    footer {
        padding-top: 90px;
        padding-bottom: 70px;
    }

    .fs-325 {
        font-size: 10rem;
        line-height: 10rem;
    }
}

@media (max-width: 767px) {
    .sm-border-start {
        border-left: 1px solid !important;
    }

    .btn.btn-switch-text.btn-large>span {
        padding: 18px 30px;
    }

    footer ul li {
        margin-bottom: 6px;
    }

    footer {
        padding-top: 50px;
        padding-bottom: 40px;
    }

    footer .footer-logo img {
        width: auto;
    }

    .fs-325 {
        font-size: 9rem;
        line-height: 10.5rem;
    }
}

@media (max-width: 575px) {
    .xs-lh-112 {
        line-height: 7rem;
    }

    .fs-325 {
        font-size: 6rem;
        line-height: 8rem;
    }
}

/* ==========================================================================
   BRAND COLORS CUSTOMIZATIONS (ALLIO LABS)
   ========================================================================== */

/* Base Body Color Overrides */
body {
    background-color: #f8f8f8 !important;
    color: #303030 !important;
}

/* Light / Clear backgrounds */
.bg-concrete-gray,
.bg-white,
.bg-f8f8f8 {
    background-color: #f8f8f8 !important;
}

/* Dark backgrounds */
.bg-maire-yellow,
.bg-black,
.bg-000000,
section.lg-bg-black {
    background-color: #000000 !important;
}

.bg-dark-gray,
section.bg-dark-gray {
    background-color: #303030 !important;
}

/* Border color overrides */
.border-color-zeus-grey,
.border-color-light-gray,
.border-color-dark-gray,
.border-bottom {
    border-color: #a7a7a8 !important;
}

/* Headline principal and text on dark sections (over black) */
.bg-maire-yellow,
.bg-black,
.bg-dark-gray,
footer {
    color: #f8f8f8 !important;
}

.bg-maire-yellow h1,
.bg-maire-yellow h2,
.bg-maire-yellow h3,
.bg-black h1,
.bg-black h2,
.bg-black h3,
.bg-dark-gray h1,
.bg-dark-gray h2,
.bg-dark-gray h3,
footer h1,
footer h2,
footer h3,
footer span,
footer a {
    color: #f8f8f8 !important;
}

/* Main text body inside dark sections */
.bg-maire-yellow p,
.bg-maire-yellow div,
.bg-black p,
.bg-black div,
.bg-dark-gray p,
.bg-dark-gray div {
    color: #f8f8f8 !important;
}

/* Hero & Inner Page Hero background (white #f8f8f8 / brand clear background) */
section.full-screen,
section.page-title-separate-breadcrumbs {
    background-color: #f8f8f8 !important;
}

/* Plain text words ("and", "design", inner page titles) inside heroes */
section.full-screen .fs-200,
section.page-title-separate-breadcrumbs h1,
section.page-title-separate-breadcrumbs h2 {
    color: #000000 !important;
}

/* Hero paragraph descriptions (ensuring perfect readability on light background) */
section.full-screen .fs-18,
section.page-title-separate-breadcrumbs p,
section.page-title-separate-breadcrumbs div.last-paragraph-no-margin {
    color: #303030 !important;
}

/* Highlighted words / text base color */
.text-base-color,
.text-sliding-line.bg-base-color,
.text-sliding-line .text-base-color {
    color: #c583ff !important;
}

/* CTAs / Botones primarios */
.btn {
    transition: all 0.3s ease !important;
}

.btn.btn-dark-gray,
.btn.btn-base-color,
.btn.btn-switch-text {
    background-color: #c583ff !important;
    border-color: #c583ff !important;
    color: #000000 !important;
}

.btn.btn-dark-gray>span,
.btn.btn-base-color>span,
.btn.btn-switch-text>span {
    background-color: #c583ff !important;
    color: #000000 !important;
}

/* Button hovers (dark purple #4e006a as hover of primary buttons) */
.btn.btn-dark-gray:hover,
.btn.btn-base-color:hover,
.btn.btn-switch-text:hover,
.btn:hover {
    background-color: #4e006a !important;
    border-color: #4e006a !important;
    color: #f8f8f8 !important;
}

.btn.btn-dark-gray:hover>span,
.btn.btn-base-color:hover>span,
.btn.btn-switch-text:hover>span {
    background-color: #4e006a !important;
    color: #f8f8f8 !important;
}

/* Hover double-text switch override */
.btn.btn-switch-text span.btn-double-text::after {
    color: #f8f8f8 !important;
    background-color: #4e006a !important;
}

/* Link hovers */
a {
    transition: color 0.3s ease !important;
}

a:hover {
    color: #c583ff !important;
}

/* Badges / etiquetas pequeñas */
.border-radius-100px,
.bg-light-medium-gray.border-radius-100px,
.bg-base-color.border-radius-100px,
.bg-light-medium-gray.border-radius-100px.text-dark-gray {
    background-color: #4e006a !important;
    color: #f8f8f8 !important;
}

/* Sección "Números y resultados" numbers */
.counter-style-04 h2,
.counter-style-04 h3,
.counter-style-04 .vertical-counter,
.counter-style-04 sup,
.counter-style-04 .text-base-color {
    color: #c583ff !important;
}

/* Burbujas de stats */
.feature-box i,
.icon-with-text-style-07 i {
    color: #c583ff !important;
}

.hover-box.dark-hover:hover i {
    color: #4e006a !important;
}

/* Footer styling */
footer,
footer.bg-base-color {
    background-color: var(--base-color) !important;
    color: var(--bg-maire-yellow) !important;
    border-top: 1px solid #a7a7a8 !important;
}

footer a,
footer p,
footer span,
footer li,
footer div,
footer .text-dark-gray {
    color: #000000 !important;
}

footer a:hover {
    color: #4e006a !important;
}

footer .list-style-05 li:before {
    background-color: #000000 !important;
}

/* Services Slider Custom Navigation & Dots */
.services-slider-pagination .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    background-color: #a7a7a8 !important;
    opacity: 0.5 !important;
    margin: 0 5px !important;
    transition: all 0.3s ease !important;
    border-radius: 50% !important;
    display: inline-block !important;
}

.services-slider-pagination .swiper-pagination-bullet::before,
.services-slider-pagination .swiper-pagination-bullet::after {
    display: none !important;
}

.services-slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #c583ff !important;
    opacity: 1 !important;
    transform: scale(1.2) !important;
}

.swiper-button-prev.services-slider-btn,
.swiper-button-next.services-slider-btn {
    position: static !important;
    width: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    background-color: rgba(0, 0, 0, 0.08) !important;
    color: #303030 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transform: none !important;
    transition: all 0.2s ease-in-out !important;
}

.swiper-button-prev.services-slider-btn::after,
.swiper-button-next.services-slider-btn::after {
    display: none !important;
}

.swiper-button-prev.services-slider-btn:hover,
.swiper-button-next.services-slider-btn:hover {
    background-color: rgba(0, 0, 0, 0.15) !important;
    color: #000000 !important;
    transform: scale(1.05) !important;
}

.swiper-button-prev.services-slider-btn i,
.swiper-button-next.services-slider-btn i {
    font-size: 16px !important;
    color: #303030 !important;
    transition: transform 0.2s ease-in-out !important;
    display: inline-block !important;
}

.swiper-button-prev.services-slider-btn:hover i,
.swiper-button-next.services-slider-btn:hover i {
    color: #000000 !important;
}