/* ===== AUDITORIOS CUSTOM CSS ===== */

/* ===== BASE SECTIONS ===== */
.aud-section {
padding: 80px 0;
}

.aud-section--light {
background-color: #ffffff;
}

.aud-section--dark {
background-color: #ffffff;
color: black;
}

.aud-section--gradient {
background: linear-gradient(135deg, #0e2c6c 0%, #1a4db3 100%);
color: white;
}

/* ===== CONTAINER ===== */
.aud-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 40px;
}

@media (max-width: 768px) {
.aud-container {
padding: 0 20px;
}
}

/* ===== HERO SECTION ===== */
.aud-hero {
position: relative;
overflow: hidden;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: flex-start;
}

.aud-hero__video-bg {
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
}

.aud-hero__overlay {
position: absolute;
inset: 0;
background: linear-gradient(
135deg,
rgba(10,37,64,.85) 0%,
rgba(10,37,64,.55) 60%,
rgba(232,184,75,.18) 100%
);
}

.aud-hero__content {
position: relative;
z-index: 2;
text-align: left;
color: white;
max-width: 700px;
}

.aud-hero__badge {
display: inline-block;
background: rgba(255, 255, 255, 0.2);
color: white;
padding: 8px 16px;
border-radius: 25px;
font-size: 0.9rem;
margin-bottom: 20px;
backdrop-filter: blur(10px);
}

.aud-hero__badge i {
margin-right: 6px;
}

.aud-hero__title {
font-size: 2.8rem;
font-weight: 700;
line-height: 1.2;
margin-bottom: 20px;
color: #eee;
}

.aud-hero__subtitle {
font-size: 1.2rem;
max-width: 700px;
margin-bottom: 30px;
line-height: 1.6;
opacity: 0.95;
color: #eee;
}

.aud-hero__cta {
display: flex;
gap: 15px;
justify-content: flex-start;
flex-wrap: wrap;
margin-bottom: 20px;
color: #eee;
}

.aud-hero__meta {
font-size: 0.9rem;
opacity: 0.8;
color: #eee;
}

/* ===== BUTTONS ===== */
.btn-aud-primary {
background: #0d6efd;
color: white;
padding: 12px 28px;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
gap: 8px;
border: none;
cursor: pointer;
}

.btn-aud-primary:hover {
background: #0b5ed7;
transform: translateY(-2px);
}

.btn-aud-secondary {
border: 2px solid white;
color: white;
padding: 12px 28px;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
gap: 8px;
background: transparent;
cursor: pointer;
}

.btn-aud-secondary:hover {
background: rgba(255, 255, 255, 0.1);
transform: translateY(-2px);
}

/* ===== BENEFITS CARDS ===== */
.aud-benefici-card {
background: white;
border-radius: 12px;
padding: 25px 20px;
height: 100%;
transition: all 0.3s ease;
border: 1px solid #eee;
text-align: center;
}

.aud-benefici-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.aud-benefici-card i {
font-size: 2rem;
margin-bottom: 12px;
color: #0d6efd;
}

.aud-benefici-card p {
margin: 0;
color: #6c757d;
font-size: 16px;
line-height: 1.4;
}

/* ===== SECTION TITLES ===== */
.aud-section-title {
text-align: center;
margin-bottom: 50px;
}

.aud-section-title h2 {
font-size: 3rem;
font-weight: 700;
color: #2d3436;
margin-bottom: 15px;
}

.aud-section--dark .aud-section-title h2 {
color: rgb(0, 0, 0);
}

.aud-section-title p {
font-size: 18px;
color: #6c757d;
max-width: 600px;
margin: 0 auto;
}

.aud-section--dark .aud-section-title p {
color: rgba(255, 255, 255, 0.85);
}

/* ===== CAROUSEL ===== */
.aud-carousel {
border-radius: 12px;
overflow: hidden;
}

.aud-carousel img {
width: 100%;
height: auto;
display: block;
}

/* ===== CTA SECTION ===== */
.aud-cta-section {
text-align: center;
padding: 40px 0;
}

.aud-cta-section h3 {
font-size: 1.5rem;
margin-bottom: 20px;
color: #2d3436;
}

.aud-cta-section p {
font-size: 1rem;
color: #6c757d;
margin-bottom: 25px;
}

/* ===== BANNER ===== */
.aud-banner {
width: 100%;
height: auto;
display: block;
}

/* ===== RESPONSIVE ===== */
@media only screen and (max-width: 768px) {
.aud-hero {
min-height: 70vh;
padding-left: 40px;
}

.aud-hero__title {
font-size: 1.8rem;
}

.aud-hero__subtitle {
font-size: 1rem;
}

.aud-hero__cta {
flex-direction: column;
align-items: flex-start;
}

.aud-section {
padding: 50px 0;
}

.aud-section-title h2 {
font-size: 1.5rem;
}

.btn-aud-primary,
.btn-aud-secondary {
width: auto;
max-width: 100%;
padding: 12px 28px;
}
}

/* ===== ANIMATIONS ===== */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}

to {
opacity: 1;
transform: translateY(0);
}
}

.aud-hero__content {
animation: fadeInUp 0.8s ease-out;
}



/* ===== CARACTERÍSTICAS SECTION ===== */
.aud-features-section {
background: linear-gradient(135deg, #f0f7ff 0%, #f8fbff 100%);
padding: 4.5rem 0;
position: relative;
overflow: hidden;
}

.aud-features-wrapper {
width: 100%;
}

.aud-features-connectors {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 0;
display: none;
}

/* ===== CATEGORÍAS SUPERIORES ===== */
.aud-categories-top {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
margin-bottom: 3.5rem;
text-align: center;
position: relative;
z-index: 1;
}

.aud-category-item {
position: relative;
}

.aud-category-item h3, .aud-category-item h4{
font-size: 1.15rem;
font-weight: 700;
color: #0055cc;
margin-bottom: 0.75rem;
}

.category-dot {
display: inline-block;
width: 10px;
height: 10px;
background-color: #0055cc;
border-radius: 50%;
}

/* ===== GRID DE CARACTERÍSTICAS ===== */
.aud-features-grid {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 1.5rem;
position: relative;
z-index: 1;
}

.aud-feature-card {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.aud-feature-card:hover {
transform: translateY(-8px);
}

/* ===== ICONOS ===== */
.aud-feature-icon-box {
position: relative;
width: 140px;
height: 140px;
margin-bottom: 1.25rem;
display: flex;
align-items: center;
justify-content: center;
}

.aud-circle-outer {
position: absolute;
width: 140px;
height: 140px;
border: 2.5px solid #1e3a8a;
border-radius: 50%;
opacity: 0.3;
z-index: 1;
}

.aud-icon-inner {
width: 120px;
height: 120px;
background: linear-gradient(135deg, #d5ebf5 0%, #e6f2ff 100%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 3rem;
color: white;
box-shadow: 0 10px 30px rgba(0, 85, 204, 0.3);
z-index: 2;
position: relative;
transition: all 0.3s ease;
}

.aud-feature-card:hover .aud-icon-inner {
transform: scale(1.12);
box-shadow: 0 15px 40px rgba(0, 85, 204, 0.4);
}

/* ===== ETIQUETAS ===== */
.aud-feature-name {
font-size: 0.95rem;
font-weight: 600;
color: #0055cc;
line-height: 1.4;
margin: 0;
}

/* ===== RESPONSIVE: TABLET ===== */
@media (max-width: 1399px) {
.aud-features-section {
padding: 4rem 0;
}

.aud-categories-top {
gap: 1.5rem;
margin-bottom: 3rem;
}

.aud-category-item h3 {
font-size: 1.05rem;
}

.aud-features-grid {
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
}

.aud-feature-icon-box {
width: 130px;
height: 130px;
margin-bottom: 1rem;
}

.aud-circle-outer {
width: 130px;
height: 130px;
}

.aud-icon-inner {
width: 110px;
height: 110px;
font-size: 2.5rem;
}

.aud-feature-name {
font-size: 0.9rem;
}
}

@media (max-width: 1199px) {
.aud-features-grid {
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
}

.aud-feature-icon-box {
width: 120px;
height: 120px;
}

.aud-circle-outer {
width: 120px;
height: 120px;
}

.aud-icon-inner {
width: 100px;
height: 100px;
font-size: 2.2rem;
}
}

/* ===== RESPONSIVE: MD (Tablets) ===== */
@media (max-width: 991px) {
.aud-features-section {
padding: 3.5rem 0;
}

.aud-categories-top {
grid-template-columns: 1fr;
gap: 1.5rem;
margin-bottom: 2.5rem;
}

.aud-category-item h3 {
font-size: 1rem;
}

.aud-features-grid {
grid-template-columns: repeat(2, 1fr);
gap: 2.5rem;
}

.aud-feature-icon-box {
width: 115px;
height: 115px;
margin-bottom: 0.8rem;
}

.aud-circle-outer {
width: 115px;
height: 115px;
}

.aud-icon-inner {
width: 95px;
height: 95px;
font-size: 2rem;
}

.aud-feature-name {
font-size: 0.85rem;
}
}

/* ===== RESPONSIVE: SM (Tablets pequeños) ===== */
@media (max-width: 767px) {
.aud-features-section {
padding: 3rem 1rem;
}

.aud-categories-top {
grid-template-columns: 1fr;
gap: 1.25rem;
margin-bottom: 2rem;
}

.aud-category-item h3 {
font-size: 0.95rem;
}

.aud-features-grid {
grid-template-columns: repeat(2, 1fr);
gap: 2rem;
}

.aud-feature-icon-box {
width: 100px;
height: 100px;
margin-bottom: 0.7rem;
}

.aud-circle-outer {
width: 100px;
height: 100px;
border-width: 2px;
}

.aud-icon-inner {
width: 85px;
height: 85px;
font-size: 1.75rem;
}

.aud-feature-name {
font-size: 0.8rem;
max-width: 90px;
margin: 0 auto;
}
}

/* ===== RESPONSIVE: MOBILE (XS) ===== */
@media (max-width: 575px) {
.aud-features-section {
padding: 2.5rem 0.5rem;
}

.aud-categories-top {
grid-template-columns: 1fr;
gap: 1rem;
margin-bottom: 1.5rem;
}

.aud-category-item h3 {
font-size: 0.9rem;
margin-bottom: 0.5rem;
}

.aud-features-grid {
grid-template-columns: repeat(2, 1fr);
gap: 1.5rem;
}

.aud-feature-icon-box {
width: 85px;
height: 85px;
margin-bottom: 0.6rem;
}

.aud-circle-outer {
width: 85px;
height: 85px;
border-width: 1.5px;
}

.aud-icon-inner {
width: 72px;
height: 72px;
font-size: 1.5rem;
box-shadow: 0 6px 18px rgba(0, 85, 204, 0.25);
}

.aud-feature-card:hover .aud-icon-inner {
transform: scale(1.08);
box-shadow: 0 8px 22px rgba(0, 85, 204, 0.3);
}

.aud-feature-name {
font-size: 0.75rem;
max-width: 75px;
}
}

/* ===== RESPONSIVE: EXTRA SMALL ===== */
@media (max-width: 480px) {
.aud-categories-top {
grid-template-columns: 1fr;
gap: 0.8rem;
margin-bottom: 1.25rem;
}

.aud-category-item h3 {
font-size: 0.85rem;
}

.category-dot {
width: 8px;
height: 8px;
}

.aud-features-grid {
grid-template-columns: repeat(2, 1fr);
gap: 1.25rem;
}

.aud-feature-icon-box {
width: 80px;
height: 80px;
margin-bottom: 0.5rem;
}

.aud-circle-outer {
width: 80px;
height: 80px;
}

.aud-icon-inner {
width: 68px;
height: 68px;
font-size: 1.35rem;
}

.aud-feature-name {
font-size: 0.7rem;
max-width: 70px;
}
}

/* Desktop Large - Mostrar SVG connectors */
@media (min-width: 1400px) {
.aud-features-connectors {
display: block;
}
}
