/* --------------------------------------------------
   0.  TIPOGRAFÍA
-------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800;900&display=swap");

/* --------------------------------------------------
   1.  VARIABLES
-------------------------------------------------- */
:root{
    --drapp-primary:#4f46e5;       /* Indigo-600 */
    --drapp-secondary:#7e22ce;     /* Purple-700 */
    --drapp-gradient:linear-gradient(135deg,#7e22ce 0%,#4f46e5 100%);
    --drapp-final-gradient:linear-gradient(135deg,#4f46e5 0%,#9333ea 60%,#ec4899 100%);
    --drapp-bg-light:#f5f3ff;     /* Lavender-50 */
    --bs-body-font-family:'Inter',sans-serif;
}

/* --------------------------------------------------
   2.  RESET / GENERALES
-------------------------------------------------- */
*{box-sizing:border-box;}
body{
    margin:0;
    color:#1f2937;                /* Gray-800 */
    background-color:#fff;
    font-family: var(--bs-body-font-family), serif;
    overflow-x: hidden; /* Prevent horizontal scrolling */
}
h1,h2,h3,h4,h5{
    margin:0 0 .6em;
    font-weight:900;              /* EXTRA-BOLD */
    color:#111827;                /* Gray-900 */
    line-height:1.15;
}

/* --------------------------------------------------
   3.  BOTONES
-------------------------------------------------- */
.btn-primary,
.btn-outline-primary{
    font-size:.9rem;
    padding:.75rem 1.6rem;
    border-radius:.55rem;
}
.btn-primary{
    color:#fff;
    background:var(--drapp-primary);
    border:none;
}
.btn-primary:hover{background:#4338ca;}  /* Indigo-700 */

.btn-outline-primary{
    color:var(--drapp-primary);
    border:1.8px solid var(--drapp-primary);
    background:transparent;
}
.btn-outline-primary:hover{
    background:var(--drapp-primary);
    color:#fff;
}
.btn-outline-primary .arrow{transition:transform .2s;}
.btn-outline-primary:hover .arrow{transform:translateX(4px);}

/* --------------------------------------------------
   4.  HERO
-------------------------------------------------- */
.hero{
    padding:5rem 0 3rem;
    background:linear-gradient(180deg,
    rgba(79,70,229,.06) 0%,
    rgba(126,34,206,.06) 100%);
}
.hero .tagline{
    font-size:.95rem;
    font-weight:700;
    color:#ec4899;                /* Pink-500 */
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:1.25rem;
}
.hero h1{
    font-size:clamp(2rem,4.7vw + 1rem,3rem);
    letter-spacing:-.02em;
}
.hero h1 span{color:var(--drapp-primary);}
.hero-img{position:relative;}
.hero-img img{
    border-radius:1rem;
    box-shadow:0 35px 70px rgba(126,34,206,.25); /* Glow púrpura */
}
.floating-badge{
    position:absolute;bottom:-1rem;right:0; /* Adjusted to prevent overflow */
    width:116px;height:116px;
    background:var(--drapp-gradient);
    border-radius:50%;
    box-shadow:0 8px 24px rgba(0,0,0,.18);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    color:#fff;line-height:1.05;
}
.floating-badge span{
    font-size:1.85rem;font-weight:800;
}

/* list with green ticks */
.check-list{margin:1.8rem 0 0;padding:0;list-style:none;}
.check-list li{
    position:relative;
    padding-left:2.2rem;
    margin-bottom:1.2rem;
    font-weight:500;
}
.check-list li::before{
    content:"\f26e";
    font-family: "bootstrap-icons", serif;
    position:absolute;left:0;top:.15rem;
    width:1.35rem;height:1.35rem;
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;
    background:#22c55e;           /* Green-500 */
    color:#fff;font-size:.82rem;
}

/* --------------------------------------------------
   5.  SEPARADOR
-------------------------------------------------- */
.separator{
    width:100%;
    height:1px;
    background:rgba(79,70,229,.15);
    margin:3.5rem 0 2.8rem;
}

/* --------------------------------------------------
   6.  ESTADÍSTICAS
-------------------------------------------------- */
.stats{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:4rem 2rem;                /* fila/columna */
}
.stats .stat{
    flex:1 1 180px;               /* mínimo 180 px */
    text-align:center;
}
.stats .stat-value{
    font-size:3rem;
    font-weight:800;
    color:var(--drapp-primary);
    margin-bottom:.35rem;
}
.stats p{margin:0;font-weight:500;}

/* --------------------------------------------------
   7.  FEATURE SECTION (Beneficios)
-------------------------------------------------- */
#features{background:#f9fafb;}  /* Gray-50 */

/* etiqueta pill */
.section-badge{
    display:inline-block;
    background:rgba(79,70,229,.15);
    color:var(--drapp-primary);
    font-size:.85rem;
    font-weight:700;
    padding:.45rem 1rem;
    border-radius:9999px;
}

/* tamaños de título y lead */
.section-title{
    font-size:2rem;             /* ~40 px  */
    max-width:40ch;
    margin:0 auto .8rem;
}

.section-lead{
    max-width:60ch;
    margin:0 auto 3rem;
    font-weight:500;
    color:#475569;                /* Gray-600 */
}

.feature-card{
    background:#ffffff;
    border:1px solid #e5e7eb;     /* Gray-200 */
    border-radius:1.25rem;
    padding:2.5rem 2rem 2.25rem;
    transition:box-shadow .25s,transform .25s;
    height:100%;
}
.feature-card:hover{
    box-shadow:0 12px 32px rgba(0,0,0,.06);
    transform:translateY(-4px);
}

/* iconos */
.feature-card .icon-wrap{
    width:3.5rem;height:3.5rem;
    display:flex;align-items:center;justify-content:center;
    border-radius:.9rem;
    margin-bottom:1.65rem;
    background:rgba(79,70,229,.08);
}
.feature-card:nth-child(2) .icon-wrap{background:rgba(219,39,119,.1);} /* pink */
.feature-card:nth-child(3) .icon-wrap{background:rgba(79,70,229,.08);} /* default */

/* icon glyph */
.feature-card .icon-wrap i{
    font-size:1.55rem;
    color:var(--drapp-primary);
}

/* título / texto */
.feature-card h5{
    font-size:1.35rem;
    font-weight:800;
    color:#0f172a;
    margin-bottom:.85rem;
}
.feature-card p{
    font-weight:500;
    color:#374151;
    margin-bottom:1.6rem;
}

/* enlace “Conocer más →” */
.feature-card a{
    font-weight:600;
    color:var(--drapp-primary);
    text-decoration:none;
    display:inline-flex;align-items:center;gap:.2rem;
}
.feature-card a::after{
    content:"\2192";
    transition:transform .2s;
}
.feature-card a:hover{text-decoration:underline;}
.feature-card a:hover::after{transform:translateX(4px);}

/* --------------------------------------------------
   8.  ALL-IN-ONE SECTION (#how)
-------------------------------------------------- */
#how .container{max-width:1040px;}

/* pestañas */
.feature-tabs{
    background:#f1f5f9;
    border-radius:.6rem;
    overflow:hidden;                /* mantiene bordes alineados */
    padding:0;
    display:flex;
    max-width:820px;
    margin:0 auto 2rem;
}
.feature-tabs .nav-item{flex:1;}
.feature-tabs .nav-link{
    width:100%;
    border:none;
    background:transparent;
    padding:1rem 0;
    font-weight:700;
    color:#475569;                 /* Gray-600 */
    text-align:center;
}
.feature-tabs .nav-link.active{
    background:#ffffff;
    color:#0f172a;
}

/* panel */
.feature-panel{
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:1.25rem;
    padding:2.8rem 2.4rem;
}

/* título y lista */
.panel-title{
    font-size:1.6rem;
    font-weight:800;
    margin-bottom:1.4rem;
}
.feature-list{
    list-style:none;padding:0;margin-bottom:2rem;
}
.feature-list li{
    position:relative;
    padding-left:2.4rem;
    margin-bottom:1.25rem;
}
.feature-list li::before{
    content:"\f26e";
    font-family:"bootstrap-icons";
    position:absolute;left:0;top:.1rem;
    width:1.5rem;height:1.5rem;
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;background:#22c55e;color:#fff;font-size:.88rem;
}
.feature-list span{
    display:block;
    font-size:.95rem;
    font-weight:400;
    color:#475569;
}

/* --------------------------------------------------
   9.  CTA SECTION (#cta)
-------------------------------------------------- */
.cta-gradient{
    background:var(--drapp-gradient);
    color:#fff;
    min-height:520px;
    padding:4.5rem 0;
}
/* wrapper para no ocupar todo el ancho */
.cta-inner{max-width:1120px;margin:0 auto;}

.cta-title{
    font-size:2rem;
    font-weight:900;
    line-height:1.15;
    color:#fff;
}
.cta-lead{
    font-size:1.2rem;
    font-weight:500;
    max-width:52ch;
    margin:0 auto;
}

/* métricas */
.stat-card{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.18);
    border-radius:.95rem;
    padding:2.2rem 1.8rem;
    text-align:left;
}
.stat-card i{
    font-size:1.9rem;
    color:#facc15;                /* Yellow-400 */
    display:block;
    margin-bottom:1.25rem;
}
.stat-value{font-size:1.75rem;font-weight:800;margin-bottom:.35rem;}
.stat-card small{font-weight:500;color:#e2e8f0;}

/* glass card */
.glass-card{
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.25);
    border-radius:1.3rem;
    padding:3rem 2.5rem;
    box-shadow:0 0 0 1px rgba(255,255,255,.06),
    0 20px 60px rgba(0,0,0,.22);
}
.glass-card h3{color:#fff;}
.glass-card .btn-light{
    background:#fff;
    color:#4f46e5;
    font-weight:700;
    border:none;
}
.glass-card .btn-light:hover{background:#e0e7ff;}

/* --------------------------------------------------
   10.  TESTIMONIALS
-------------------------------------------------- */
#testimonials{background:#f9fafb;}
.testimonial-card {
    border: 1px solid #e0e7ff;
    border-radius: 1rem;
    padding: 1.5rem;
}
.testimonial-card .stars {
    color: #fbbf24;
}

/* --------------------------------------------------
   11.  FAQ (accordion fancy)
-------------------------------------------------- */
.fancy-accordion{max-width:860px;margin:0 auto;}
.accordion-item{border:none;border-bottom:1px solid #e2e8f0;}

/* cabecera base */
.accordion-button{
    font-weight:700;
    padding:1.25rem 1rem;
    color:#0f172a;
    background:#fff;
    border-radius:.5rem;
    transition:background .2s,box-shadow .2s;
}

/* ícono chevron */
.accordion-button::after{
    content:"\f282";
    font-family: "bootstrap-icons", serif;
    background:none;
    transform:rotate(-90deg);
    transition:transform .25s;
}

/* HOVER solo en items cerrados */
.accordion-button.collapsed:hover{
    background:rgba(79,70,229,.05);
}

/* ITEM ABIERTO */
.accordion-button:not(.collapsed){
    color:#fff;
    background:rgba(79,70,229,.85);
    box-shadow:0 0 0 1px rgba(79,70,229,.4);
}
.accordion-button:not(.collapsed)::after{transform:rotate(0deg);color:#fff;}

/* cuerpo */
.accordion-body{
    padding:1.25rem 1rem 1.75rem;
    font-weight:500;
    color:#334155;
    line-height:1.6;
}

/* animación */
.accordion-collapse{transition:height .3s ease;}

/* --------------------------------------------------
   12.  DEMO
-------------------------------------------------- */
#demo{background:#f9fafb;}
#demo.section-padding{padding:3rem;}
.meetings-iframe-container{margin-top: 0 !important; margin-bottom: 0 !important;}

/* --------------------------------------------------
   13.  SECCIÓN FINAL  (#final-cta)
-------------------------------------------------- */
.final-gradient{
    background:var(--drapp-final-gradient);
    color:#fff;
    padding:5rem;
}
.final-title{
    color:#fff;
    font-size:2rem;
    font-weight:900;
    line-height:1.15;
}
.final-lead{
    font-size:1.25rem;
    font-weight:500;
    max-width:46ch;
    margin:0 auto;
}

/* --------------------------------------------------
   14.  BOTÓN FLOTANTE Y BACK TO TOP CONTAINER
-------------------------------------------------- */
/* Floating WhatsApp Button */
.floating-buttons-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px; /* Space between WhatsApp button and Back to Top */
}

.floating-whatsapp-btn {
    background-color: #25D366; /* WhatsApp green */
    color: white;
    border-radius: 50px; /* Pill shape */
    padding: 10px 20px;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: 1rem;
    transition: background-color 0.3s ease, transform 0.3s ease;
    white-space: nowrap; /* Prevent text wrapping */
}

.floating-whatsapp-btn:hover {
    background-color: #1DA851; /* Darker green on hover */
    transform: translateY(-3px); /* Slight lift effect */
    color: white; /* Ensure text stays white on hover */
}

.floating-whatsapp-btn i {
    font-size: 1.8rem; /* Larger icon */
    margin-right: 10px;
}

.floating-whatsapp-btn .whatsapp-text {
    font-weight: bold;
}

/* Back to Top Button */
#back-to-top {
    background-color: #007bff; /* Primary blue */
    color: white;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease, transform 0.3s ease;
}

#back-to-top:hover {
    background-color: #0056b3; /* Darker blue on hover */
    transform: translateY(-3px);
}

/* Adjustments for smaller screens */
@media (max-width: 768px) {
    .floating-buttons-container {
        bottom: 15px;
        right: 15px;
        gap: 8px;
    }

    .floating-whatsapp-btn {
        padding: 8px 15px;
        font-size: 0.9rem;
    }

    .floating-whatsapp-btn i {
        font-size: 1.5rem;
        margin-right: 8px;
    }

    #back-to-top {
        width: 45px;
        height: 45px;
        font-size: 1.3rem;
    }
}

/* --------------------------------------------------
   15.  NAVBAR & UTILIDADES
-------------------------------------------------- */
.navbar-brand img{height:24px;}
.navbar-nav .nav-link{font-weight:600;margin-right:1.4rem;transition:color .3s ease;}
.navbar-nav .nav-link.active-link {
    color: var(--drapp-primary);
    font-weight: 700;
}
.section-padding{padding:5rem 0;}
.gradient-bg{background:var(--drapp-gradient);color:#fff;}

/* --------------------------------------------------
   16.  FOOTER
-------------------------------------------------- */
footer {
    background: #000016;
    color: #98a2b3;
}
footer a {
    color: #c7d2fe;
    text-decoration: none;
}
footer a:hover {
    text-decoration: underline;
}
