/* ===================================
    Crafto - Freelancer
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');
/* variable */
:root {     
    --base-color: #c2001c;
    --light-medium-gray:#e9e9e9;
    --primary-font: 'Inter', sans-serif;
    --alt-font: 'Inter', sans-serif;
}
body {
    font-size: 17px;
    line-height: 30px;
    color:var(--dark-gray);
}
section {
    padding-top: 90px;
    padding-bottom: 90px;
}
/* bg sliding line */
.bg-sliding-line {
    background-image: linear-gradient(135deg, transparent 45%, #9c2531 45%, #9c2531 55%, transparent 0);
    background-size: 5px 5px;
}
/* header */
.header-push-button .push-button {
    height: 8px;
}
header .navbar-brand img {
    max-height: 48px;
}
.header-push-button .push-button span:first-child {
    width: 15px;
    margin-right: 0;
}
.show-menu .header-push-button .push-button span:nth-child(1) {
    width: 15px;
    top: 0;
}
.show-menu .header-push-button .push-button span:nth-child(2) {
    top: 6px;
    -webkit-transform: rotate(0deg); 
    transform: rotate(0deg);
}
.hamburger-logo img {
    max-height: 48px;
}
.hamburger-nav {
    width: 30%;
}
.menu-item-list .nav-link {
    font-size: 35px;
    line-height: 30px;
}
/* font size */
.fs-335 {
    font-size: 20.938rem;
    line-height: 18.75rem;
}
/* margin */
.mt-minus-40px {
    margin-top: -40px;
}
/* top left right bottom */
.top-20 {
    top: 20%;
}
.top-35 {
    top: 35%;
}
.gutter-medium {
    margin-left: -7px;
    margin-right: -7px;
}
.portfolio-transform .portfolio-box .caption {
  padding: 20px 20px 10px;
}
.progress-bar-style-01 .progress .progress-bar-percent:after {
    border-top-color: #000;
}
/* bg gradient color */
.bg-gradient-top-very-light-gray { 
    background-image:linear-gradient(to top, #ffffff, #ffffff, #fcfafa, #fcfafa, #f7f7f7);
}
/* button gradient */
.btn-gradient-red {
    background-image: linear-gradient(to right, #ea0909, #f16940, #ea0909);
    background-size: 200% auto;
    color: var(--white);
}
/* text shadow large */
.text-shadow-large {
    text-shadow: 0 20px 60px rgb(0, 0, 0, 0.15);
}
.outside-box-bottom-2 {
    margin-bottom: -2vw; 
}
@media only screen and (max-width: 1700px) {
    .hamburger-nav {
        width: 35%;
    }
}
@media only screen and (max-width: 1600px) {
    .fs-335 {
        font-size: 15.625rem;
        line-height: 15.625rem;
    }
    .left-img {
        width: 300px;
    }
}
@media only screen and (max-width: 1399px) {
    .left-img {
        width: 250px;
    }
    .hamburger-nav {
        width: 40%;
    }
}
@media only screen and (max-width: 1399px) {
    .fs-335 {
        font-size: 12.5rem;
        line-height: 12.5rem;
    }
}
@media only screen and (max-width: 1199px) {
    .fs-335 {
        font-size: 10.625rem;
        line-height: 10.625rem;
    }
}
@media only screen and (max-width: 991px) {
    section {
          padding-top: 75px;
          padding-bottom: 75px;  
    }
}
@media only screen and (max-width: 767px) {
    .fs-335 {
        font-size:6.25rem;
        line-height: 6.25rem;
    }
    section {
          padding-top: 50px;
          padding-bottom: 50px;  
    }
}

/* Eliminar scrollbar feo del menú hamburguesa - forzado */
.push-menu.hamburger-menu-half,
.push-menu.hamburger-nav,
div[class*="push-menu"] {
    overflow-y: hidden !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.push-menu::-webkit-scrollbar,
.push-menu *::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
}

/* Si usa perfect-scrollbar o mCustomScrollbar */
.push-menu .ps__rail-y,
.push-menu .ps__scrollbar-y-rail,
.push-menu .mCSB_scrollTools,
.push-menu .mCSB_draggerContainer,
.push-menu .mCustomScrollBox > .mCSB_scrollTools {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
}

/* Forzar altura auto para evitar scroll */
.push-menu .menu-list-wrapper,
.push-menu .hamburger-menu {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

.feature-box-icon img {
    width: 90px;
    height: 90px;
    object-fit: contain;
    display: block;
    margin: 0 auto 20px;
}

/* En tablets y móviles */
@media (max-width: 768px) {
    .feature-box-icon img {
        width: 45px;
        height: 45px;
        margin-bottom: 15px;
    }
}

/* En móviles pequeños */
@media (max-width: 480px) {
    .feature-box-icon img {
        width: 35px;
        height: 35px;
    }
}

@media (max-width: 991px) {
    .progress-indicator { 
        display: none !important; 
        visibility: hidden;
        opacity: 0;
    }
    
    /* Prevenir scroll horizontal que puede causar líneas */
    body {
        overflow-x: hidden;
    }
}