@font-face {
    font-family: "P-Regular";
    src: url("/assets/fonts/Poppins-Regular.ttf");
}
@font-face {
    font-family: "P-Light";
    src: url("/assets/fonts/Poppins-Light.ttf");
}
@font-face {
    font-family: "P-Bold";
    src: url("/assets/fonts/Poppins-Bold.ttf");
}
@font-face {
    font-family: "P-Medium";
    src: url("/assets/fonts/Poppins-Medium.ttf");
}
@font-face {
    font-family: "P-SemiBold";
    src: url("/assets/fonts/Poppins-SemiBold.ttf");
}

body{
    color:white;
    font-family: P-Regular;
    background-color: black;
}

.hero{
    background-image: url('/assets/img/bg2.jpg');
    background-size:900px;
    background-position: bottom;
    background-repeat: no-repeat;
    display:flex;
    justify-content: center;
    align-items: center;
    min-height: 60vh;
}
.hero h1{
    font-family: P-Bold;
    font-size:30px;
}
.hero h2{
    font-family: P-Medium;
    font-size:20px;
}
.hero h3{
    font-family: P-Light;
    font-size:20px;
}
.heroimg{
    width: 60%;
}
.signature{
    width: 70%;
}
.changing-text { opacity: 0; transition: opacity 0.6s ease-in-out; }
.changing-text.visible { opacity: 1; }
.button {
    text-decoration: none;
    padding: 0.75rem 1.75rem;
    border: none; /* Elimina bordes molestos */
    border-radius: 2rem;
    display: inline-block;
    transition: all 0.3s ease-in-out;
  }

.button-primary {
    color: white;
    font-family: P-SemiBold;
    transition: 0.3s;
    outline:2px solid #cccccc;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.button-primary:hover {
    background: linear-gradient(90deg, #844b27, #f79b38);
    outline:none;
    color: white;
    gap: 10px;
}

.button-primary-reverse {
    font-family: P-SemiBold;
    background: linear-gradient(90deg, #b4693a, #e5a35d);
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    box-shadow: none; /* por si hay un default */
  }

  .button-primary-reverse:hover {
    background: linear-gradient(90deg, #e5a35d, #b4693a);
    gap: 10px;
    color: white;
  }

.button-danger-reverse {
    font-family: P-SemiBold;
    background: linear-gradient(90deg, #b43a3a, #e55d5d);
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    box-shadow: none; /* por si hay un default */
  }

  .button-danger-reverse:hover {
    background: linear-gradient(90deg, #e55d5d, #b43a3a);
    gap: 10px;
    color: white;
  }

.pruebasocial{
    background-image: url('/assets/img/bg2-1.jpg');
    background-size:900px;
    background-position: top;
    background-repeat: no-repeat;
}
.section-title{
    font-family: P-Bold;
    font-size:30px;
}

.service-card {
    background-color: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 2rem;
    border-radius: 1.25rem;
    transition: all 0.3s ease;
    text-align: left;
}
.absolute-arrow-right{
    display: none;
}
.absolute-arrow-left{
    display: none;
}

.service-card:hover {
    background-color: rgba(255, 255, 255, 0.05);
    box-shadow: 0 0 20px rgba(155, 93, 229, 0.1);
}
.service-card-review{
    background-color: rgba(255, 255, 255, 0.05);
    box-shadow: 0 0 20px rgba(155, 93, 229, 0.1);
}
.service-card small{
    font-family: P-Light;
}
.service-card p{
    font-family: P-Regular;
    font-size:16px;
}
.service-card ul li i{
    color:#e5a35d;
}
.span-light{
    font-family: P-Light;
    font-size:13px;
}
.service-card .review-text{
    font-family: P-Light;
    font-size:16px;
}
.problema{
    background-image: url('/assets/img/bg2-2.jpg');
    background-size:900px;
    background-position: bottom right;
    background-repeat: no-repeat;
}
.section-subtitle{
    font-family: P-Medium;
}
.problems-list li{
    display: flex;
    align-items: center;
    gap:10px;
    margin-bottom:10px;
    font-family: P-SemiBold;
    font-size:16px;
}
.problems-list li i{
    font-size:20px;
}
.asesorias{
    background-image: url('/assets/img/bg2-1.jpg');
    background-size:900px;
    background-position: top right;
    background-repeat: no-repeat;
}
.problema img{
    width: 250px;
}
.sobre-mi{
    background-image: url('/assets/img/bg2-3.jpg');
    background-size:cover;
    background-position: center;
    background-repeat: no-repeat;
}
.sobre-mi p{
    font-family: P-Light;
}



.footer-signature{
    width: 200px;
}
.footer-link{
    color:white;
    font-family: P-Light;
}
.footer-link:hover{
    color:#de9b58 !important;
}

#navbar {
    transition: top 0.3s ease, opacity 0.3s ease;
    background-color: rgba(0,0,0,1);
    padding-top:10px;
    padding-bottom:10px;
  }
.nav-slogan{
    font-family: P-SemiBold;
}
.nav-slogan i{
    color:rgb(0, 149, 255);
}
.nav-slogan b{
    font-family: P-Bold;
}
  .custom-toggler {
    border: none;
    background: transparent;
    color: #ffffff;
    position: relative;
    margin-right:10px;
  }

  .custom-toggler:hover {
    color: #f7954d;
  }

  .custom-toggler:focus {
    outline: none;
    box-shadow: none;
  }

  .toggler-icon {
    transition: transform 0.4s ease, opacity 0.4s ease;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /* css asesoria express */
  .asesoria-express{
    background-image: url('/assets/img/bg2-1.jpg');
    background-size:900px;
    background-position: top;
    background-repeat: no-repeat;
  }

  .paso-box {
    background-color: #111;
    border-radius: 20px;
    padding: 30px 15px;
    min-height: 160px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
  }

  .paso-box:hover {
    background-color: #1a1a1a;
    transform: translateY(-3px);
  }

  .paso-num {
    font-size: 2.5rem;
    font-weight: bold;
    color: #f7954d;
    margin-bottom: 10px;
  }

  .paso-text {
    font-size: 1.1rem;
    color: #fff;
    font-weight: 500;
    line-height: 1.4;
  }
  .paso-wrapper {
    position: relative;
  }

  .paso-flecha {
    position: absolute;
    top: 50%;
    right: -12px;
    transform: translateY(-50%);
    font-size: 1.6rem;
    color: #f7954d;
  }
  #form-step-2 input {
    background-color: #111;
    color: #fff;
    border: 1px solid #333;
    border-radius: 10px;
    padding: 15px;
  }

  #form-step-2 input::placeholder {
    color: #777;
  }

  #form-step-2 select {
    background-color: #111;
    color: #fff;
    border: 1px solid #333;
    border-radius: 10px;
    padding: 15px;
  }

  #form-step-2 select::placeholder {
    color: #777;
  }
  .checkbox-custom {
    appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #ccc;
    border-radius: 50%;
    background-color: transparent;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    position: relative;
  }
  .checkbox-custom:hover{
    cursor: pointer;
  }

  .checkbox-custom:checked::after {
    content: '✔';
    color: white;
    background-color: #b4693a;
    height:100%;
    width: 100%;
    border-radius: 50%;
    font-size: 16px;
    position: absolute;
    text-align: center;
    display: flex;
    justify-content:center;
    align-items: center;
    left: 0;
    top:0;
    vertical-align: center;
  }
  .upload-area {
    border: 2px dashed #666;
    padding: 40px 20px;
    border-radius: 15px;
    background-color: #111;
    color: #999;
    cursor: pointer;
    transition: all 0.3s ease;
  }

  .upload-area:hover {
    background-color: #1a1a1a;
    border-color: #f7954d;
    color: #fff;
  }
  .upload-area.dragover {
    background-color: #222;
    border-color: #f7954d;
    color: #fff;
}
.preview-container img {
    width: 100%;
    max-width: 180px;
    border-radius: 10px;
    margin-top: 10px;
    position: relative;
}

.preview-container {
    position: relative;
}

.btn-delete-img {
    position: absolute;
    top: -10px;
    right: -10px;
    background: #dc3545;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}
.upload-area .invalid-feedback {
    display: none;
    color: #dc3545;
    font-size: 0.9rem;
    margin-top: 0.5rem;
    text-align: center;
  }
#payment-form{
    background-color:white;
    padding:20px;
    border-radius: 20px;
}

.checkmark-container {
    width: 100px;
    height: 100px;
    margin: 0 auto;
  }

  .checkmark {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: block;
    stroke-width: 2;
    stroke: #4CAF50;
    stroke-miterlimit: 10;
    box-shadow: inset 0px 0px 0px #4CAF50;
    animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
  }

  .checkmark-circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 2;
    stroke-miterlimit: 10;
    stroke: #4CAF50;
    fill: none;
    animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
  }

  .checkmark-check {
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    stroke-width: 2;
    stroke: #4CAF50;
    animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.6s forwards;
  }

  @keyframes stroke {
    100% { stroke-dashoffset: 0; }
  }

  @keyframes scale {
    0%, 100% { transform: none; }
    50% { transform: scale(1.1); }
  }

  @keyframes fill {
    100% { box-shadow: inset 0px 0px 0px 10px #4CAF50; }
  }


/* client overview */
.client-overview-image{
    width: 200px;
    border-radius: 20px;
}

.main-list-text{
    font-family: P-Medium !important;
    font-size:14px;
}
.main-list-icon{
    color:#b4693a !important;
}
.alert-warning{
    background-color:black;
    color:#b4693a;
    border-color: #b4693a;
}

  /* Estilo personalizado para tabs */
  .nav-tabs .nav-link {
    color: #6c757d; /* gris medio */
    border: none;
    border-bottom: 2px solid transparent;
    transition: color 0.3s, border-color 0.3s;
  }

  .nav-tabs .nav-link:hover {
    color: #343a40; /* gris oscuro */
  }

  .nav-tabs .nav-link.active {
    color: #212529; /* casi negro */
    border-bottom: 2px solid #212529;
    font-weight: 600;
  }

  .nav-pills .nav-link {
    color: #6c757d;
    background-color: transparent;
    font-weight: 500;
    transition: color 0.3s, background-color 0.3s;
  }

  .nav-pills .nav-link:hover {
    color: #343a40;
  }

  .nav-pills .nav-link.active {
    color: #ffffff;
    background-color: #212529; /* fondo oscuro para destacar */
    font-weight: 600;
  }

  .text-fade{
    color:rgba(255,255,255,0.6);
  }
  .fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

  .asesoria-list li{
    display:flex;
    gap:5px;
    align-items: center;
    margin-bottom:10px;
  }

  .adjust-top-light{
    margin-top:80px;
  }
  .product-img{
    width: 100%;
    border-radius:20px;
    opacity:0.8;
  }
  .product-img:hover{
    opacity:1;
  }
  .downdrop-desc{
    font-family: P-Bold;
    text-align:center;
    background-color: rgba(0,0,0,0.5);
    border-radius:5px;
    padding:5px;
    cursor:pointer;
  }
  .landing-report{
    background-color: rgb(0, 0, 0);
  }
  .bg-crema{
    background-color: rgb(251, 247, 241);
    border:1px solid rgba(0,0,0,0.5);
    box-shadow:1px 1px 10px rgb(251, 247, 241);
    padding:10px;
    margin-bottom:15px;
    border-radius: 20px;
  }
  @media(max-width:758px){
    /* client overview */
.client-overview-image{
    width: 100%;
    border-radius: 20px;
}
    .asesoria-list .sublist{
        font-size:13px;
    }
    .absolute-arrow-right{
        display: flex;
        position: absolute;
        right:10px;
        top:55%;
        font-size:30px;
        opacity: 0.3;
    }
    .problems-card{
        padding:0px;
        padding-top:10px;
        background-color: transparent;
        margin-top:220px;
    }
    .problema .button-primary-reverse{
        margin-top:150px;
    }
    .absolute-arrow-left{
        display: flex;
        position: absolute;
        left:10px;
        top:55%;
        font-size:30px;
        opacity: 0.3;
    }
    .pruebasocial{
        background-image: none;
    }
    .problema{
        background-image: url('/assets/img/hero.png');
        background-size:contain;
        background-position: top center;
        background-repeat: no-repeat;
        min-height: 80vh;
    }
    .sobre-mi{
        background-image: url('/assets/img/sobremi.png');
        background-size:contain;
        background-position: top center;
        background-repeat: no-repeat;
    }
    .phone-bg-1{
        background-image: url('/assets/img/hero2.jpg');
        background-size:cover;
        background-position: top;
        background-repeat: no-repeat;
    }
    .phone-bg-2{
        background-image: url('/assets/img/express.png');
        background-size:250px;
        background-position: bottom right;
        background-repeat: no-repeat;
    }
    .phone-bg-3{
        background-image: url('/assets/img/premium.png');
        background-size:370px;
        background-position: bottom right;
        background-repeat: no-repeat;

    }
    .asesoria-card{
        background-color: transparent;
        border:0px;
    }
    .adjust-top{
        margin-top:320px;
    }
    .hero h1{
        font-size:25px;
    }
    .hero h1 b{
        font-size:21.3px;
    }
    .hero h2{
        font-size:18px;
    }
    .hero h3{
        font-size:14px;
    }
  }

  @media(max-width:990px){
    .heroimg{
        width: 100%;
    }
  }
