/* Critical above-the-fold Bootstrap subset — prevents FOUC while full Bootstrap loads async */
*,::after,::before{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0}
.container{width:100%;padding-right:.75rem;padding-left:.75rem;margin-right:auto;margin-left:auto}
@media(min-width:576px){.container{max-width:540px}}
@media(min-width:768px){.container{max-width:720px}}
@media(min-width:992px){.container{max-width:960px}}
@media(min-width:1200px){.container{max-width:1140px}}
@media(min-width:1400px){.container{max-width:1320px}}
.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-.5*var(--bs-gutter-x));margin-left:calc(-.5*var(--bs-gutter-x))}
.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}
.col-6{flex:0 0 auto;width:50%}
.col-12{flex:0 0 auto;width:100%}
@media(min-width:576px){.col-sm-6{flex:0 0 auto;width:50%}}
@media(min-width:768px){.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333%}.col-md-5{flex:0 0 auto;width:41.66667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333%}}
@media(min-width:992px){.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333%}.col-lg-5{flex:0 0 auto;width:41.66667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333%}.col-lg-8{flex:0 0 auto;width:66.66667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333%}.col-lg-12{flex:0 0 auto;width:100%}}
.d-block{display:block!important}
.d-flex{display:flex!important}
.d-none{display:none!important}
.d-inline-flex{display:inline-flex!important}
@media(min-width:992px){.d-lg-flex{display:flex!important}.d-lg-none{display:none!important}.d-lg-block{display:block!important}}
.w-100{width:100%!important}
.h-100{height:100%!important}
.position-relative{position:relative!important}
.position-absolute{position:absolute!important}
.overflow-hidden{overflow:hidden!important}
.img-fluid{max-width:100%;height:auto}
.text-white{color:#fff!important}
.text-center{text-align:center!important}
.text-start{text-align:left!important}
.text-end{text-align:right!important}
.fw-bold{font-weight:700!important}
.fw-light{font-weight:300!important}
.small{font-size:.875em}
.lead{font-size:1.25rem;font-weight:300}
.mb-0{margin-bottom:0!important}
.mb-1{margin-bottom:.25rem!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.mb-5{margin-bottom:3rem!important}
.mt-2{margin-top:.5rem!important}
.mt-3{margin-top:1rem!important}
.mt-4{margin-top:1.5rem!important}
.mt-5{margin-top:3rem!important}
.me-2{margin-right:.5rem!important}
.me-3{margin-right:1rem!important}
.ms-2{margin-left:.5rem!important}
.p-0{padding:0!important}
.p-4{padding:1.5rem!important}
.px-3{padding-right:1rem!important;padding-left:1rem!important}
.py-5{padding-top:3rem!important;padding-bottom:3rem!important}
.align-items-center{align-items:center!important}
.align-items-start{align-items:flex-start!important}
.justify-content-center{justify-content:center!important}
.justify-content-between{justify-content:space-between!important}
.flex-column{flex-direction:column!important}
.flex-wrap{flex-wrap:wrap!important}
.flex-grow-1{flex-grow:1!important}
.gap-2{gap:.5rem!important}
.gap-3{gap:1rem!important}
.gap-4{gap:1.5rem!important}
.g-4{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem}
.text-decoration-none{text-decoration:none!important}
.rounded-4{border-radius:var(--bs-border-radius-xl)!important}
.rounded-pill{border-radius:50rem!important}
.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}
.opacity-75{opacity:.75!important}
/* ============================================
   BUTTONS — critical styles independent of Bootstrap CSS variables
   Needed because Bootstrap loads async; buttons must look correct at first paint
   ============================================ */
.btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: .375rem;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.btn-primary {
    color: #fff;
    background-color: #6c13a3;
    border-color: #6c13a3;
}
.btn-primary:hover {
    color: #fff;
    background-color: #4a148c;
    border-color: #4a148c;
}

.btn-outline-secondary {
    color: #6c13a3;
    border-color: #6c13a3;
    background-color: transparent;
}
.btn-outline-secondary:hover {
    color: #fff;
    background-color: #6c13a3;
    border-color: #6c13a3;
}

.btn-sm { padding: .25rem .5rem; font-size: .875rem; border-radius: .25rem; }
.btn-lg { padding: .5rem 1rem; font-size: 1.25rem; border-radius: .5rem; }
.rounded-pill { border-radius: 50rem !important; }
.px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
.py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.mt-auto { margin-top: auto !important; }
.gap-2 { gap: .5rem !important; }
.list-unstyled { padding-left: 0; list-style: none; }
/* btn-cere-oferta uses btn-primary styles */
.btn-cere-oferta {
    background-color: #6c13a3;
    color: #ffffff;
    border: none;
    border-radius: 50rem;
    padding: .5rem 1.5rem;
    font-weight: 600;
    font-size: .95rem;
    text-decoration: none;
    display: inline-block;
    transition: background-color .2s ease;
}
.btn-cere-oferta:hover {
    background-color: #4a148c;
    color: #ffffff;
}
