﻿/*
Theme Name: Asociación María Reina de la Paz
Theme URI: https://www.codestudio.com.py
Author: Néstor Morel
Description: Tema Institucional Moderno (Estilo CodeStudio)
Version: 7.2.0 (Restored Stable)
*/

/* =========================================
   1. VARIABLES & RESET
   ========================================= */
html {
    scroll-behavior: smooth;
}

:root {
    --navy: #2c3e50;
    --navy-dark: #1e293b;
    --gold: #d4a017;
    --gold-light: #f59e0b;
    --zen-gold: #c5a059;
    --zen-gold-muted: rgba(197, 160, 89, 0.6);
    --zen-bg: #ffffff;
    --zen-bg-soft: #fcfaf5;
    --zen-dark: #0d0e10;
    --zen-text: #1a1a1a;
    --zen-text-muted: #555555;
    --zen-border: rgba(0, 0, 0, 0.06);
    --white: #ffffff;
    --bg-body: #f8fafc;
    --text-main: #0f172a;
    --text-light: #64748b;
    --shadow-soft: 0 10px 40px rgba(0, 0, 0, 0.08);
    --shadow-hover: 0 20px 50px rgba(0, 0, 0, 0.12);
    --radius: 20px;
    --radius-sm: 12px;
    --glass-bg: rgba(255, 255, 255, 0.9);
    --glass-border: 1px solid rgba(255, 255, 255, 0.5);
    --glass-blur: blur(12px);
    --section-spacing: 100px;
    --section-spacing-sm: 60px;
}

/* Utilitarios Globales */
.bg-gradient-gold {
    background: var(--gradient-gold) !important;
}

.opacity-10 {
    opacity: 0.1 !important;
}

.opacity-25 {
    opacity: 0.25 !important;
}

.opacity-50 {
    opacity: 0.5 !important;
}

.opacity-75 {
    opacity: 0.75 !important;
}

.ls-1 {
    letter-spacing: 1px !important;
}

.ls-2 {
    letter-spacing: 2px !important;
}

.fw-extra-bold {
    font-weight: 800 !important;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Outfit', sans-serif;
    color: var(--text-main);
    background-color: var(--bg-body);
    font-size: 16px;
    line-height: 1.6;
    overflow-x: hidden;
    padding-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--navy);
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

a {
    text-decoration: none;
    transition: 0.3s;
}

img {
    max-width: 100%;
    height: auto;
}

ul {
    list-style: none;
}

/* =========================================
   2. HEADER CLEAN PROFESSIONAL
   ========================================= */

/* Variables para el nuevo Header */
.encabezado-sitio-v2 {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
}

.encabezado-sitio-v2 .navbar-brand {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    font-size: 1.25rem;
    text-decoration: none;
    transition: color 0.3s ease;
}

.encabezado-sitio-v2 .navbar-brand:hover {
    color: var(--gold);
}

/* Custom Logo dentro del navbar */
.encabezado-sitio-v2 .navbar-brand img {
    max-height: 45px;
    /* Reduced size for thinner header */
    width: auto;
    margin: 0;
    padding: 0;
}

/* Enlace Limpio (Nuevo Estilo Minimalista) */
.enlace-nav-limpio {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: var(--navy) !important;
    text-decoration: none;
    padding: 0.5rem 0.5rem !important;
    transition: color 0.3s ease;
    opacity: 0.8;
}

.enlace-nav-limpio:hover,
.enlace-nav-limpio:focus {
    color: var(--gold) !important;
    opacity: 1;
}

/* Eliminar línea decorativa anterior para look más limpio */
.enlace-nav-limpio::after {
    display: none;
}

/* Current/Active item */
.nav-item.current-menu-item .enlace-nav-limpio,
.nav-link-clean.active {
    color: var(--navy) !important;
    font-weight: 600;
    opacity: 1;
}

.text-navy {
    color: var(--navy) !important;
}

.btn-link:hover {
    color: var(--gold) !important;
}

/* Botón CTA Donaciones - ESTILO OUTLINE (Sin Background) */
/* Botón CTA Donaciones - ESTILO CONTORNO (Sin Fondo) */
.boton-cta {
    font-family: 'Inter', sans-serif;
    background: transparent;
    color: var(--navy) !important;
    border: 2px solid var(--navy);
    border-radius: 50px;
    padding: 0.4rem 1.1rem;
    /* Compact button */
    font-weight: 600;
    font-size: 14px;
    /* Slightly smaller text */
    text-decoration: none !important;
    transition: all 0.25s ease;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.boton-cta:hover {
    background: var(--navy);
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(44, 62, 80, 0.3);
    text-decoration: none !important;
}

.boton-cta:active {
    transform: translateY(0);
}

.boton-cta i {
    font-size: 14px;
}

/* Toggle Hamburger mejorado */
.site-header-clean .navbar-toggler {
    border: none;
    padding: 0.5rem;
}

.site-header-clean .navbar-toggler:focus {
    box-shadow: none;
}

/* Responsive Adjustments */
@media (max-width: 991.98px) {
    .site-header-clean .navbar-nav {
        padding: 1rem 0;
        gap: 0 !important;
    }

    .site-header-clean .nav-link-clean {
        padding: 0.75rem 0 !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    }

    .site-header-clean .nav-link-clean::after {
        display: none;
    }

    .site-header-clean .btn-cta {
        margin-top: 1rem;
        width: 100%;
        justify-content: center;
        padding: 0.85rem 1.5rem;
    }
}

/* Animación de entrada del header */
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.site-header-clean {
    animation: slideDown 0.5s ease forwards;
}

/* ==== ESTILOS LEGACY (mantener compatibilidad) ==== */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.98);
    z-index: 1000;
    padding: 10px 0;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.site-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Logo */
.site-branding {
    display: flex;
    align-items: center;
}

.site-branding img {
    height: 45px;
    width: auto;
}

/* NavegaciÃ³n Desktop */
.main-navigation {
    display: block;
}

.main-navigation ul {
    display: flex;
    gap: 30px;
    margin: 0;
    padding: 0;
    align-items: center;
}

.main-navigation li {
    position: relative;
}

.main-navigation a {
    color: var(--navy);
    font-weight: 600;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 8px 0;
}

.main-navigation a:hover {
    color: var(--gold);
}

/* Indicador activo */
.main-navigation a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--gold);
    transition: width 0.3s;
}

.main-navigation a:hover::after {
    width: 100%;
}

/* BotÃ³n CTA en MenÃº (Opcional) */
.menu-cta a {
    background: var(--navy);
    color: white !important;
    padding: 10px 25px !important;
    border-radius: 50px;
    font-size: 0.85rem !important;
}

.menu-cta a:hover {
    background: var(--gold) !important;
    color: white !important;
    transform: translateY(-2px);
}

.menu-cta a::after {
    display: none;
}

/* Mobile Toggle */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--navy);
    cursor: pointer;
}

/* =========================================
   3. HERO MODERNO (Refinado)
   ========================================= */
.seccion-hero {
    position: relative;
    min-height: 550px;
    height: auto;
    display: flex;
    align-items: center;
    background: var(--bg-body);
    overflow: hidden;
    background: var(--bg-body);
    overflow: hidden;
    padding: 80px 0 30px;
    /* Added top padding for header space */
}

@media (max-width: 1024px) {
    .seccion-hero {
        height: auto;
        min-height: auto;
        overflow: visible;
        /* Prevent clipping */
        padding-bottom: 100px;
        /* Generous space at bottom */
    }
}

/* Rosario Decorativo */
.decoracion-rosario {
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translateY(-50%);
    width: 150px;
    height: 450px;
    z-index: 0;
    opacity: 0.6;
    pointer-events: none;
}

.decoracion-rosario svg {
    width: 100%;
    height: 100%;
}

/* Background Abstracto */
.seccion-hero::before {
    content: '';
    position: absolute;
    top: -40%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(212, 160, 23, 0.05) 0%, transparent 70%);
    z-index: 0;
}

.seccion-hero::after {
    content: '';
    position: absolute;
    bottom: -20%;
    left: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(44, 62, 80, 0.08) 0%, transparent 70%);
    z-index: 0;
}

/* Contenido Hero */
.contenido-hero {
    position: relative;
    z-index: 2;
    padding-right: 0;
    margin-left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.etiqueta-hero {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: white;
    box-shadow: var(--shadow-soft);
    color: var(--text-light);
    font-weight: 600;
    font-size: 0.8rem;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 30px;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.titulo-hero {
    font-size: 4rem;
    margin-bottom: 25px;
    color: var(--navy);
    line-height: 1.1;
}

.texto-gradiente {
    color: var(--gold);
    display: inline-block;
}

.cursor-parpadeante {
    animation: blink 1s infinite;
    color: var(--gold);
    font-weight: 300;
}

.descripcion-hero {
    font-size: 1.25rem;
    color: var(--text-light);
    max-width: 550px;
    margin-bottom: 45px;
    line-height: 1.7;
}

/* Botones - Diseño Clean Professional */
.btn {
    font-family: 'Inter', sans-serif;
    padding: 14px 28px;
    border-radius: 50px;
    font-weight: 500;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.25s ease;
}

.btn-primary {
    background: var(--navy);
    color: #fff !important;
    border: none;
    box-shadow: 0 2px 4px rgba(44, 62, 80, 0.2);
}

.btn-primary:hover {
    background: var(--gold);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(212, 160, 23, 0.3);
    color: #fff !important;
}

.btn-outline {
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #424242 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.btn-outline:hover {
    border-color: var(--navy);
    color: var(--navy) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(44, 62, 80, 0.15);
}

/* =========================================
   4. FLOAT CARDS (Refined)
   ========================================= */
.floating-container {
    position: relative;
    height: 400px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    transform: scale(0.9);
    margin-top: -20px;
    width: 100%;
}

.glass-card {
    background: white;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    position: absolute;
    transition: 0.3s;
}

/* Layout de Tarjetas */
.card-main {
    position: relative;
    width: 300px;
    z-index: 2;
    transform: rotate(0deg);
}

/* Badge Top Right */
.card-badge-top {
    top: 50px;
    right: 0px;
    background: white;
    z-index: 3;
    animation: float 6s ease-in-out infinite;
    padding: 15px 25px;
}

/* Badge Bottom Left */
.card-badge-bottom {
    bottom: 80px;
    left: 0px;
    background: white;
    z-index: 1;
    animation: float 7s ease-in-out infinite reverse;
    padding: 15px 25px;
}

.icon-circle {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(44, 62, 80, 0.08);
    color: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    margin-right: 15px;
}

/* =========================================
   5. UTILS & GRID
   ========================================= */
.container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 30px;
    width: 100%;
}

/* CSS Grid System */
.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    width: 100%;
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    width: 100%;
}

.grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    width: 100%;
}

.row {
    width: 100%;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.col-6 {
    width: 48%;
    padding: 0;
    display: flex;
    flex-direction: column;
}

/* Specific Alignment for Right Column */
.col-6:last-child {
    align-items: flex-end;
}

.col-12 {
    width: 100%;
    padding: 0;
}

.gap-20 {
    gap: 20px;
}

.d-flex {
    display: flex;
}

/* Responsive Grid */
@media (max-width: 992px) {

    .grid-4,
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .menu-toggle {
        display: block;
    }

    .main-navigation {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        padding: 20px;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    }

    .main-navigation ul {
        flex-direction: column;
        align-items: flex-start;
    }

    .main-navigation li,
    .main-navigation a {
        width: 100%;
        display: block;
    }

    .hero-section {
        padding-top: 40px;
        text-align: center;
        height: auto;
    }

    .row {
        flex-direction: column;
    }

    .col-6 {
        width: 100%;
        align-items: center !important;
        margin-bottom: 40px;
    }

    .floating-container {
        display: none;
    }
}

@media (max-width: 600px) {

    .grid-4,
    .grid-3,
    .grid-2 {
        grid-template-columns: 1fr;
    }

    .hero-title {
        font-size: 2.5rem;
    }
}

/* =========================================
   6. CREATIVE SECTIONS (About, Stats, Services)
   ========================================= */

/* --- About Section (Asymmetric) --- */
.section-creative-about {
    position: relative;
    padding: var(--section-spacing) 0;
    overflow: hidden;
}

.about-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    align-items: center;
}

@media (max-width: 992px) {
    .about-grid {
        grid-template-columns: 1fr;
    }
}

.about-image-stack {
    position: relative;
    padding-left: 20px;
}

.img-main {
    border-radius: 20px;
    box-shadow: -20px 20px 0 var(--navy);
    width: 90%;
    z-index: 10;
    position: relative;
    transition: transform 0.4s ease;
}

.img-main:hover {
    transform: translateY(-10px);
}

.img-deco {
    position: absolute;
    bottom: -30px;
    right: 0;
    width: 180px;
    border-radius: 15px;
    border: 5px solid white;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    z-index: 20;
    animation: float-gentle 5s infinite reverse;
}

/* --- Stats Bar (Premium) - STABLE NAVY BLOCK --- */
.stats-premium {
    background: var(--navy);
    position: relative;
    padding: 80px 0;
    color: white;
    margin: 60px 0;
    border-radius: 30px;
    overflow: hidden;
}

.stats-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, transparent 100%);
    pointer-events: none;
}

.stat-card-creative {
    text-align: center;
    padding: 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    transition: transform 0.3s;
}

.stat-card-creative:last-child {
    border-right: none;
}

.stat-card-creative:hover {
    transform: translateY(-5px);
}

.stat-icon-gold {
    font-size: 2.5rem;
    color: var(--gold);
    margin-bottom: 20px;
    text-shadow: 0 5px 15px rgba(212, 160, 23, 0.3);
    background: transparent;
    display: inline-block;
}

.stat-number-big {
    font-size: 3rem;
    font-weight: 800;
    display: block;
    line-height: 1;
    margin-bottom: 10px;
    color: white;
}

.stat-label {
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
    letter-spacing: 1px;
}

/* --- Services (Interactive Cards) --- */
.service-card-interactive {
    background: white;
    padding: 40px 30px;
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.03);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.service-card-interactive::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: var(--navy);
    transition: height 0.3s ease;
    z-index: -1;
}

.service-card-interactive:hover::before {
    height: 100%;
}

.service-card-interactive:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(44, 62, 80, 0.2);
}

.service-card-interactive:hover h3,
.service-card-interactive:hover p {
    color: white;
}

.service-card-interactive:hover .card-icon {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    transform: rotateY(180deg);
}

.card-icon {
    width: 70px;
    height: 70px;
    background: var(--bg-body);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: var(--navy);
    margin-bottom: 25px;
    transition: all 0.5s ease;
}

/* --- CTA Clean --- */
.cta-clean {
    background: linear-gradient(135deg, var(--bg-body) 0%, #fff 100%);
    padding: 100px 0;
    text-align: center;
    position: relative;
}

/* Helper Animations */
@keyframes float-gentle {

    0%,
    100% {
        transform: translateY(0);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    }

    50% {
        transform: translateY(-15px);
        box-shadow: 0 30px 60px rgba(0, 0, 0, 0.12);
    }
}

@keyframes spin-slow {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes flash {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }
}

.cursor-blink {
    animation: flash 1s infinite;
}

.fade-in-up {
    animation: fadeInUp 0.8s ease forwards;
    opacity: 0;
    transform: translateY(20px);
}

.delay-1 {
    animation-delay: 0.2s;
}

.delay-2 {
    animation-delay: 0.4s;
}

.delay-3 {
    animation-delay: 0.6s;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================
   7. MISSING SECTION STYLES (Restored)
   ========================================= */
.section-padding {
    padding: 80px 0;
}

.section-title {
    font-size: 2.5rem;
    color: var(--navy);
    margin-bottom: 20px;
    font-weight: 800;
}

.section-subtitle {
    display: inline-block;
    padding: 8px 16px;
    background: rgba(212, 160, 23, 0.1);
    color: var(--gold-light);
    border-radius: 50px;
    text-transform: uppercase;
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 15px;
}

/* =========================================
   8. TRANSFORMANDO VIDAS (CINEMATIC REDESIGN)
   ========================================= */
.transformando-cinematico {
    position: relative;
    padding: 120px 0;
    overflow: hidden;
    color: white;
    background: var(--navy-dark);
    /* Fallback */
}

.fondo-cinematico {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Reemplazar URL con imagen real de alta calidad si existe */
    background-image: url('recursos/slider%201%20.png');
    background-size: cover;
    background-position: center;
    filter: grayscale(100%) contrast(1.2) brightness(0.6);
    z-index: 0;
}

.superposicion-oscura {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(30, 41, 59, 0.95) 0%, rgba(30, 41, 59, 0.7) 100%);
    z-index: 1;
}

.contenido-cinematico {
    position: relative;
    z-index: 5;
}

/* Tipografía de Impacto */
.titulo-cinematico {
    font-family: 'Inter', sans-serif;
    /* Changed to Modern Inter */
    font-size: 5rem;
    line-height: 0.9;
    font-weight: 800;
    /* Robust but modern */
    margin-bottom: 20px;
    position: relative;
    text-transform: uppercase;
    letter-spacing: -2px;
    word-wrap: break-word;
}

@media (max-width: 768px) {
    .titulo-cinematico {
        font-size: 2.5rem;
        /* More responsive */
        letter-spacing: -1px;
        line-height: 1.1;
    }
}


.texto-borde {
    color: rgba(255, 255, 255, 0.3);
}

.texto-resplandor-dorado {
    color: var(--gold);
    text-shadow: 0 0 30px rgba(212, 160, 23, 0.6);
    position: relative;
    display: inline-block;
}

/* Elemento Geométrico Decorativo */
.forma-geometrica {
    position: absolute;
    top: -50px;
    left: -50px;
    width: 200px;
    height: 200px;
    border: 1px solid rgba(212, 160, 23, 0.2);
    border-radius: 50%;
    z-index: -1;
    animation: rotate-slow 20s linear infinite;
}

@keyframes rotate-slow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Tarjeta de Contenido */
.tarjeta-cinematica {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(10px);
    border-left: 4px solid var(--gold);
    padding: 50px 40px;
    margin-left: 50px;
    position: relative;
    border-radius: 0 20px 20px 0;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

.icono-cita {
    font-size: 3rem;
    color: rgba(255, 255, 255, 0.1);
    position: absolute;
    top: 20px;
    right: 20px;
}

.texto-cinematico {
    font-size: 1.35rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 300;
}

.texto-cinematico strong {
    color: var(--gold);
    font-weight: 600;
}

/* Separador y Botón */
.puntos-separadores span {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: var(--gold);
    border-radius: 50%;
    margin-right: 5px;
    opacity: 0.5;
}

.mt-20 {
    margin-top: 20px;
}

.ml-10 {
    margin-left: 10px;
}

.relative {
    position: relative;
}

.btn-gold-glow {
    background: linear-gradient(135deg, var(--gold) 0%, #f1c40f 100%);
    color: var(--navy-dark);
    padding: 15px 35px;
    border-radius: 50px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    box-shadow: 0 10px 20px rgba(212, 160, 23, 0.3);
    transition: all 0.3s ease;
}

.btn-gold-glow:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 20px 40px rgba(212, 160, 23, 0.5);
    color: var(--navy-dark);
}

/* Responsive */
@media (max-width: 992px) {
    .transformando-cinematico {
        padding: 80px 0;
    }

    .titulo-cinematico {
        font-size: 3.5rem;
        text-align: center;
        margin-bottom: 40px;
    }

    .tarjeta-cinematica {
        margin-left: 0;
        padding: 30px;
        border-left: none;
        border-top: 4px solid var(--gold);
        border-radius: 0 0 20px 20px;
    }

    .forma-geometrica {
        display: none;
    }
}

.bank-card {
    background: var(--bg-body);
    padding: 25px;
    border-radius: 20px;
    margin-top: 25px;
    text-align: left;
    border-left: 5px solid var(--gold);
}

.bank-label {
    display: block;
    font-size: 0.8rem;
    text-transform: uppercase;
    color: var(--text-light);
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.bank-data {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--navy);
}

/* --- 8.0 Hero Stats Bar (Minimalist Transparent) --- */
/* --- 8.0 Hero Stats Bar (Creative Glass & Dividers) --- */
/* --- 8.0 Hero Stats Bar (Creative Glass & Dividers) --- */
/* Hero Stats Bar - Rediseño Minimalista con Toque Mágico (CodeStudio) */
.barra-estadisticas-hero {
    background: rgba(255, 255, 255, 0.9);
    /* Más translúcido para efecto cristal */
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 20px;
    padding: 30px 50px;

    /* SOMBRA MÁGICA: Multicapa para profundidad + resplandor dorado sutil */
    box-shadow:
        0 15px 35px rgba(44, 62, 80, 0.08),
        /* Sombra base suave */
        0 5px 15px rgba(0, 0, 0, 0.03),
        /* Sombra de contacto */
        0 0 0 1px rgba(255, 255, 255, 0.8) inset,
        /* Borde interior de luz */
        0 20px 60px -15px rgba(212, 160, 23, 0.15);
    /* Resplandor Dorado Inferior */

    position: relative;
    z-index: 10;
    margin-top: -60px;
    /* Un poco más arriba para solapar */
    border: 1px solid rgba(255, 255, 255, 0.6);

    display: flex;
    justify-content: space-around;
    align-items: center;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
}

/* Efecto de Levitación al pasar el mouse */
.barra-estadisticas-hero:hover {
    transform: translateY(-5px);
    box-shadow:
        0 20px 50px rgba(44, 62, 80, 0.12),
        0 5px 15px rgba(0, 0, 0, 0.05),
        0 0 0 1px rgba(255, 255, 255, 0.9) inset,
        0 30px 70px -15px rgba(212, 160, 23, 0.25);
    /* Resplandor más intenso */
}

/* Nota: Estilos de hijos (.item-estadistica-hero) se mantienen abajo */

.item-estadistica-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 20px 25px;
    flex: 1;
    border-radius: 16px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: default;
}

/* Fondo de Hover Elegante */
.item-estadistica-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(212, 160, 23, 0.08) 0%, transparent 70%);
    border-radius: 16px;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.item-estadistica-hero:hover::before {
    opacity: 1;
}

.item-estadistica-hero:hover {
    transform: translateY(-3px);
}

/* Separadores Verticales Sutiles - Mejorados */
.item-estadistica-hero:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 15%;
    height: 70%;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(212, 160, 23, 0.2), rgba(0, 0, 0, 0.05), transparent);
}

.icono-estadistica-hero {
    font-size: 2rem;
    color: var(--gold);
    margin-bottom: 12px;
    filter: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
}

/* Efecto de Brillo en el Icono */
.icono-estadistica-hero::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    background: radial-gradient(circle, rgba(212, 160, 23, 0.2) 0%, transparent 60%);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.4s ease;
    z-index: -1;
}

.item-estadistica-hero:hover .icono-estadistica-hero::after {
    transform: translate(-50%, -50%) scale(1.5);
}

.item-estadistica-hero:hover .icono-estadistica-hero {
    transform: translateY(-5px) scale(1.15);
    filter: drop-shadow(0 5px 15px rgba(212, 160, 23, 0.4));
}

/* ============================================
   NÚMEROS DEL CONTADOR - DISEÑO PREMIUM
   ============================================ */
.numero-estadistica-hero {
    display: block;
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 8px;
    letter-spacing: -1px;

    /* Gradiente Dorado Premium */
    background: linear-gradient(135deg, var(--navy) 0%, #1e3a5f 50%, var(--gold) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;

    /* Transición suave */
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
}

/* Efecto de Brillo (Shine) en hover */
.item-estadistica-hero:hover .numero-estadistica-hero {
    background: linear-gradient(135deg, var(--gold) 0%, #f5d742 50%, var(--navy) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    transform: scale(1.08);
    filter: drop-shadow(0 4px 15px rgba(212, 160, 23, 0.3));
}

/* Animación de Pulso cuando completa el conteo */
.numero-estadistica-hero.contado {
    animation: countPulse 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes countPulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.15);
        filter: drop-shadow(0 0 20px rgba(212, 160, 23, 0.5));
    }

    100% {
        transform: scale(1);
    }
}

/* Partículas decorativas detrás del número */
.numero-estadistica-hero::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    background: radial-gradient(circle, rgba(212, 160, 23, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.item-estadistica-hero:hover .numero-estadistica-hero::before {
    opacity: 1;
}

.etiqueta-estadistica-hero {
    font-size: 0.8rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 2px;
    position: relative;
    transition: all 0.3s ease;
}

/* Línea decorativa debajo del label en hover */
.etiqueta-estadistica-hero::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    transition: all 0.4s ease;
    transform: translateX(-50%);
}

.item-estadistica-hero:hover .etiqueta-estadistica-hero::after {
    width: 80%;
}

.item-estadistica-hero:hover .etiqueta-estadistica-hero {
    color: var(--navy);
}

@media (max-width: 1024px) {
    .barra-estadisticas-hero {
        margin-top: 50px;
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 20px 0;
        padding: 20px 0;
        display: grid !important;
        /* Force grid */
        grid-template-columns: 1fr !important;
        /* Force single column */
        /* Stack vertically on mobile */
        gap: 40px;
        text-align: center;
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
        border-top: 1px solid rgba(44, 62, 80, 0.1);
        border-bottom: 1px solid rgba(44, 62, 80, 0.1);
    }

    .item-estadistica-hero:not(:last-child)::after {
        display: none;
    }

    .numero-estadistica-hero {
        font-size: 2.5rem;
        /* Resize for mobile */
    }
}

/* =========================================
   8. CREATIVE REDESIGN (LOWER SECTIONS)
   ========================================= */

/* --- 8.1 Creative Split Section (History) --- */
.creative-section-light {
    background: #fff;
    position: relative;
    overflow: hidden;
}

.split-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

@media (max-width: 992px) {
    .split-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .reverse-mobile {
        display: flex;
        flex-direction: column-reverse;
    }
}

.split-image-wrapper {
    position: relative;
}

.image-frame-organic {
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
    overflow: hidden;
    box-shadow: 20px 20px 60px rgba(0, 0, 0, 0.1), -20px -20px 60px #ffffff;
    transition: all 0.5s ease;
    background: var(--bg-body);
}

.image-frame-organic:hover {
    border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
    transform: scale(1.02);
}

.fluid-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.year-badge {
    position: absolute;
    bottom: 20px;
    right: 0px;
    background: var(--navy);
    color: white;
    padding: 20px;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0 10px 30px rgba(44, 62, 80, 0.3);
    border: 5px solid white;
    animation: bounce-in 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes bounce-in {
    from {
        transform: scale(0);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.year-badge .yrs {
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1;
}

.year-badge .lbl {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.section-subtitle-gold {
    display: block;
    color: var(--gold);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
    font-size: 0.9rem;
}

.section-title-creative {
    font-size: 3rem;
    color: var(--navy);
    line-height: 1.2;
    margin-bottom: 30px;
}

.highlight-brush {
    position: relative;
    z-index: 1;
    display: inline-block;
}

.highlight-brush::after {
    content: '';
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 15px;
    background: rgba(212, 160, 23, 0.3);
    z-index: -1;
    transform: skewX(-15deg);
}

.glass-card-text {
    background: rgba(248, 250, 252, 0.7);
    padding: 40px;
    border-radius: 20px;
    border-left: 5px solid var(--navy);
}

.glass-card-text p {
    margin-bottom: 20px;
    font-size: 1.05rem;
    color: var(--text-light);
}

.link-arrow {
    font-weight: 700;
    color: var(--navy);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 10px;
    display: inline-block;
}

.link-arrow:hover {
    color: var(--gold);
    padding-left: 10px;
}

/* --- 8.2 Works Layout (Collage) --- */
.creative-works {
    background-color: #f8fafc;
}

.mb-60 {
    margin-bottom: 60px;
}

.mb-80 {
    margin-bottom: 80px;
}

.works-row {
    position: relative;
}

.works-info-card h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
}

.works-info-card p {
    color: var(--text-light);
    font-size: 1.1rem;
    margin-bottom: 25px;
}

.check-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
    font-weight: 500;
    color: var(--navy);
}

.check-list li::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--gold);
}

.works-image-collage {
    position: relative;
    padding: 20px;
}

.collage-main {
    border-radius: 20px;
    width: 100%;
    display: block;
    position: relative;
    z-index: 2;
}

.smooth-shadow {
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.collage-small {
    position: absolute;
    bottom: -30px;
    right: -20px;
    width: 180px;
    z-index: 3;
    border-radius: 15px;
    border: 5px solid white;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

.collage-small-left {
    position: absolute;
    top: -30px;
    left: -20px;
    width: 180px;
    z-index: 3;
    border-radius: 15px;
    border: 5px solid white;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

.floating {
    animation: float-gentle 4s ease-in-out infinite;
}

/* --- 8.3 Donation Creative --- */
.donation-creative {
    background: #fff;
}

.donation-card-glass {
    max-width: 800px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    padding: 60px 40px;
    border-radius: 40px;
    box-shadow: 0 30px 80px rgba(44, 62, 80, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.8);
    position: relative;
    z-index: 2;
}

.circle-icon-pulse {
    width: 80px;
    height: 80px;
    background: var(--gold);
    color: white;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    margin-bottom: 30px;
    animation: pulse-gold 2s infinite;
}

@keyframes pulse-gold {
    0% {
        box-shadow: 0 0 0 0 rgba(212, 160, 23, 0.7);
    }

    70% {
        box-shadow: 0 0 0 20px rgba(212, 160, 23, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(212, 160, 23, 0);
    }
}

/* --- 8.8 Propósito de Servicio (Diseño Creativo) --- */
.seccion-proposito {
    position: relative;
    background: radial-gradient(circle at 70% 50%, rgba(255, 248, 220, 0.3) 0%, rgba(255, 255, 255, 1) 70%);
    padding: 60px 0;
    text-align: center;
    overflow: hidden;
}

/* Animación Flotante para la Palma */
@keyframes floatPalm {

    0%,
    100% {
        transform: translateY(-50%) rotate(-10deg) translateX(0);
    }

    50% {
        transform: translateY(-55%) rotate(-8deg) translateX(10px);
    }
}

.decoracion-proposito-derecha {
    position: absolute;
    top: 50%;
    right: -150px;
    width: 600px;
    height: 800px;
    background-image: url('https://images.pexels.com/photos/1032650/pexels-photo-1032650.jpeg?auto=compress&cs=tinysrgb&w=800');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.8;
    z-index: 1;
    pointer-events: none;
    animation: floatPalm 6s ease-in-out infinite;
}

/* Partículas Doradas de Fondo */
.bg-particula {
    position: absolute;
    border-radius: 50%;
    background: var(--gold);
    opacity: 0.1;
    z-index: 0;
    animation: floatParticle 10s infinite linear;
}

@keyframes floatParticle {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 0.1;
    }

    50% {
        opacity: 0.3;
    }

    100% {
        transform: translateY(-100px) rotate(360deg);
        opacity: 0;
    }
}

.contenedor-proposito {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

.grupo-titulo-proposito {
    margin-bottom: 50px;
    position: relative;
    display: inline-block;
}

.proposito-sup {
    display: block;
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--navy);
    letter-spacing: 4px;
    margin-bottom: 5px;
    font-family: 'Montserrat', sans-serif;
}

.proposito-sub {
    display: block;
    font-size: 3.5rem;
    font-weight: 800;
    color: var(--gold);
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: -1px;
    margin-top: 5px;
}

.descripcion-proposito {
    font-size: 1.25rem;
    color: var(--navy);
    /* Darker text for contrast */
    line-height: 1.8;
    margin-bottom: 50px;
    background: rgba(255, 255, 255, 0.7);
    /* Light overlay */
    padding: 20px;
    border-radius: 15px;
    backdrop-filter: blur(5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.descripcion-proposito strong {
    color: var(--navy);
    font-weight: 700;
}

.grupo-iconos {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.icono-manos-dorado {
    font-size: 4rem;
    color: var(--gold);
}


/* --- 8.9 Compromiso Solidario (Parallax Dorado) --- */
.seccion-compromiso {
    position: relative;
    background-image: linear-gradient(rgba(212, 160, 23, 0.92), rgba(212, 160, 23, 0.95)), url('https://images.pexels.com/photos/1032650/pexels-photo-1032650.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1');
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    padding: 60px 0;
    text-align: center;
    color: #fff;
    margin-top: 0;
}

.contenedor-compromiso {
    max-width: 900px;
    /* MÃ¡s ancho para que el texto respire */
    margin: 0 auto;
    padding: 0 20px;
}

.icono-paloma-blanca {
    font-size: 4rem;
    /* Un poco mÃ¡s pequeÃ±a para balancear */
    color: #fff;
    margin-bottom: 25px;
    display: inline-block;
    filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.1));
}

.texto-parallax-dorado {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.6rem;
    /* Ajustado para que no ocupe tanto */
    line-height: 1.6;
    font-weight: 400;
    font-style: italic;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.texto-parallax-dorado strong {
    font-weight: 800;
    font-style: normal;
    font-size: 1.9rem;
}

/* --- 8.10 Transformando Vidas (Curved Design) --- */
.transformando-section {
    position: relative;
    background: #fff;
    text-align: center;
}

.transformando-image-container {
    position: relative;
    height: 500px;
    width: 100%;
    /* Imagen de comunidad/ayuda */
    background-image: url('https://images.pexels.com/photos/6646917/pexels-photo-6646917.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1');
    background-size: cover;
    background-position: center 30%;
    /* Enfocar rostros */
}

/* Efecto Curvo Blanco en la parte inferior de la imagen */
.curve-mask {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.curve-mask svg {
    display: block;
    width: 100%;
    height: 60px;
}

.curve-mask path {
    fill: #ffffff;
}

.transformando-content {
    padding: 60px 20px 80px;
    max-width: 800px;
    margin: 0 auto;
}

.transformando-title {
    font-size: 3rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: var(--gold);
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 30px;
    letter-spacing: -1px;
}

.transformando-desc {
    font-size: 1.2rem;
    color: #555;
    line-height: 1.6;
}

.bank-details-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    background: var(--bg-body);
    padding: 30px;
    border-radius: 20px;
    border: 2px dashed rgba(44, 62, 80, 0.1);
}

.bank-item {
    text-align: left;
    display: flex;
    flex-direction: column;
}

.bank-item.full-width {
    grid-column: 1 / -1;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    padding-top: 15px;
    margin-top: 5px;
}

.bank-item .lbl {
    font-size: 0.8rem;
    text-transform: uppercase;
    color: var(--text-light);
    letter-spacing: 1px;
}

.bank-item strong {
    font-size: 1.2rem;
    color: var(--navy);
}

.text-navy {
    color: var(--navy);
}

.btn-whatsapp-lg {
    display: inline-block;
    background: #25D366;
    color: white;
    font-weight: 700;
    font-size: 1.2rem;
    padding: 15px 40px;
    border-radius: 50px;
    box-shadow: 0 10px 25px rgba(37, 211, 102, 0.4);
    transition: all 0.3s ease;
}

.btn-whatsapp-lg:hover {
    background: #128C7E;
    color: white;
    transform: scale(1.05);
    box-shadow: 0 15px 35px rgba(37, 211, 102, 0.5);
}

.mt-30 {
    margin-top: 30px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-30 {
    margin-bottom: 30px;
}

.text-center {
    text-align: center;
}

/* --- 8.4 Creative Footer --- */
.site-footer-creative {
    background: var(--navy-dark);
    color: white;
    padding: 80px 0 0;
    position: relative;
    overflow: hidden;
}

.site-footer-creative::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(212, 160, 23, 0.05) 0%, transparent 70%);
    pointer-events: none;
}

.footer-top-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 60px;
    margin-bottom: 60px;
}

@media (max-width: 992px) {
    .footer-top-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

.footer-brand {
    padding-right: 40px;
}

.footer-title-lg {
    font-size: 1.8rem;
    margin-bottom: 20px;
    color: white;
}

.footer-desc {
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 30px;
    font-size: 1.05rem;
}

.social-links-circle {
    display: flex;
    gap: 15px;
}

.social-links-circle a {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: 0.3s;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.social-links-circle a:hover {
    background: var(--gold);
    border-color: var(--gold);
    transform: translateY(-3px);
}

.widget-title {
    color: white;
    margin-bottom: 25px;
    font-size: 1.2rem;
    position: relative;
    padding-left: 15px;
}

.widget-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    height: 15px;
    width: 3px;
    background: var(--gold);
}

.footer-menu li {
    margin-bottom: 15px;
}

.footer-menu a {
    color: rgba(255, 255, 255, 0.7);
    transition: 0.3s;
}

.footer-menu a:hover {
    color: var(--gold);
    padding-left: 5px;
}

.contact-list li {
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    color: rgba(255, 255, 255, 0.8);
    gap: 15px;
}

.icon-gold {
    color: var(--gold);
    margin-top: 5px;
}

.footer-bottom-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: 30px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .footer-bottom-bar {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
}

/* Main Navbar Container */
/* Contenedor Principal de la Barra de Navegación */
.encabezado-sitio-v2 {
    background: #fff;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    /* Sombra suave para separar del contenido */
    padding: 0 !important;
    /* Removed Padding as requested */
    transition: all 0.3s ease;
    border-bottom: 1px solid rgba(0, 0, 0, 0.03);
    /* Borde sutil */
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Cache Buster: v7.3.2 - Fix Syntax */

.encabezado-sitio-v2 .navbar {
    min-height: auto !important;
    padding: 0 !important;
}

@media (min-width: 992px) {
    .encabezado-sitio-v2 .navbar-nav {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        margin: 0;
    }

    .encabezado-sitio-v2 .navbar-collapse {
        position: relative;
        justify-content: flex-end;
        /* Ensure CTA is on the right */
    }
}

.encabezado-sitio-v2 .navbar-nav {
    margin: 0 !important;
}

/* --- 8.5 Creative Statistics & Legacy (Missing Sections) --- */
.stat-card-creative {
    background: white;
    padding: 30px 20px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.03);
    position: relative;
    overflow: hidden;
}

.stat-card-creative::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: var(--gold);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.stat-card-creative:hover {
    transform: translateY(-5px);
}

.stat-card-creative:hover::before {
    transform: scaleX(1);
}

.stat-icon-gold {
    font-size: 2.5rem;
    color: var(--gold);
    margin-bottom: 15px;
    display: block;
}

.stat-number-big {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--navy);
    line-height: 1;
    margin-bottom: 10px;
}

.stat-label {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.4;
    display: block;
}

.legacy-content {
    background: white;
    padding: 60px;
    border-radius: 30px;
    /* Curvatura suave */
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);
    position: relative;
}

.legacy-content::after {
    content: '"';
    position: absolute;
    top: 20px;
    left: 30px;
    font-size: 8rem;
    color: rgba(212, 160, 23, 0.1);
    /* Gold transparente */
    font-family: serif;
    line-height: 0;
}

/* --- 8.6 Donation Creative --- */
.donation-creative {
    background: var(--navy-dark);
    color: white;
}

.donation-card-glass {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 60px 40px;
    border-radius: 30px;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
}

.circle-icon-pulse {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--gold);
    margin: 0 auto 30px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
    }

    70% {
        box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}

.bank-details-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 30px 0;
    text-align: left;
}

.bank-item {
    background: rgba(0, 0, 0, 0.2);
    padding: 15px 20px;
    border-radius: 10px;
}

.bank-item .lbl {
    display: block;
    font-size: 0.8rem;
    text-transform: uppercase;
    opacity: 0.7;
    margin-bottom: 5px;
}

/* Responsive Donation Box */
@media (max-width: 768px) {
    .bank-details-grid {
        grid-template-columns: 1fr;
    }

    .donation-card-glass {
        padding: 30px 20px;
    }

    .fila-detalle {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .boton-copiar {
        position: absolute;
        top: 10px;
        right: 10px;
    }

    .contenedor-detalles-bancarios .fila-detalle {
        position: relative;
        /* For absolute button positioning */
    }
}

/* Mobile CTA in Header */
.mobile-cta-btn {
    display: none;
    font-family: 'Inter', sans-serif;
    background: transparent;
    color: #1976D2;
    border: 2px solid #1976D2;
    border-radius: 50px;
    padding: 0.3rem 1rem;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
    margin-right: 10px;
    transition: all 0.2s ease;
}

.mobile-cta-btn:hover {
    background: #1976D2;
    color: white;
}

@media (max-width: 991px) {
    .mobile-cta-btn {
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }

    /* Hide desktop CTA when inside collapse if needed, or keeping it for menu list */
    /* User asked to "quitar de la barra de menu solo en movil" */
    .collapse .boton-cta {
        display: none !important;
    }
}

.bank-item strong {
    font-size: 1.1rem;
    color: #fff;
}

.bank-item.full-width {
    grid-column: 1 / -1;
}

.btn-whatsapp-lg {
    background: #25D366;
    color: white;
    padding: 15px 40px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1.1rem;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: transform 0.2s;
    text-decoration: none;
}

.btn-whatsapp-lg:hover {
    transform: translateY(-3px);
    background: #20BD5A;
    color: white;
}

/* =========================================
   8. TRANSFORMANDO VIDAS (REDISEÑO CINEMÁTICO)
   ========================================= */
.transformando-cinematico {
    position: relative;
    padding: 120px 0;
    overflow: hidden;
    color: white;
    background: var(--navy-dark);
}

.fondo-cinematico {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('recursos/slider%201%20.png');
    background-size: cover;
    background-position: center;
    filter: grayscale(100%) contrast(1.2) brightness(0.6);
    z-index: 0;
}

.superposicion-oscura {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(30, 41, 59, 0.95) 0%, rgba(30, 41, 59, 0.7) 100%);
    z-index: 1;
}

.contenido-cinematico {
    position: relative;
    z-index: 5;
}

/* Tipografía de Impacto */
.titulo-cinematico {
    font-size: 3.5rem;
    /* Reduced from 5rem to prevent overlap */
    line-height: 1;
    font-weight: 800;
    margin-bottom: 0;
    position: relative;
    font-family: 'Montserrat', sans-serif;
    word-wrap: break-word;
    /* Ensure it wraps if needed */
}

.tarjeta-cinematica {
    background: rgba(255, 255, 255, 0.05);
    /* Slightly more visible */
    backdrop-filter: blur(10px);
    border-left: 4px solid var(--gold);
    padding: 40px 30px;
    margin-left: 0;
    /* Removed margin to prevent overflow issues */
    position: relative;
    border-radius: 20px;
    /* Full radius looks better */
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

.icono-cita {
    font-size: 3rem;
    color: rgba(255, 255, 255, 0.1);
    position: absolute;
    top: 20px;
    right: 20px;
}

.texto-cinematico {
    font-size: 1.35rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 300;
}

.texto-cinematico strong {
    color: var(--gold);
    font-weight: 600;
}

.puntos-separadores span {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: var(--gold);
    border-radius: 50%;
    margin-right: 5px;
    opacity: 0.5;
}

.mt-20 {
    margin-top: 20px;
}

.ml-10 {
    margin-left: 10px;
}

.relativo {
    position: relative;
}

.btn-gold-glow {
    background: linear-gradient(135deg, var(--gold) 0%, #f1c40f 100%);
    color: var(--navy-dark);
    padding: 15px 35px;
    border-radius: 50px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    box-shadow: 0 10px 20px rgba(212, 160, 23, 0.3);
    transition: all 0.3s ease;
}

.btn-gold-glow:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 20px 40px rgba(212, 160, 23, 0.5);
    color: var(--navy-dark);
}

@media (max-width: 992px) {
    .transformando-cinematico {
        padding: 80px 0;
    }

    .titulo-cinematico {
        font-size: 3.5rem;
        text-align: center;
        margin-bottom: 40px;
    }

    .tarjeta-cinematica {
        margin-left: 0;
        padding: 30px;
        border-left: none;
        border-top: 4px solid var(--gold);
        border-radius: 0 0 20px 20px;
    }

    .forma-geometrica {
        display: none;
    }
}

/* Utility Classes Fix */
.d-block {
    display: block;
}

.align-center {
    align-items: center;
}

.text-outline {
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.5);
    color: transparent;
}

.text-gold-glow {
    text-shadow: 0 0 10px var(--gold);
}

.text-outline {
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.5);
    color: transparent;
}

.text-gold-glow {
    text-shadow: 0 0 10px var(--gold);
}

.titulo-cinematico {
    font-family: 'Playfair Display', serif !important;
    font-style: italic;
}


/* --- 9. DONATION PAGE & GENERIC PAGES --- */
.page-header-creative {
    background: var(--navy-dark);
    padding: 120px 0 80px;
    position: relative;
    text-align: center;
    color: white;
}

.page-title-lg {
    font-family: 'Playfair Display', serif;
    font-size: 3.5rem;
    margin-bottom: 20px;
}

.page-subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.2rem;
    opacity: 0.8;
    max-width: 700px;
    margin: 0 auto;
    font-style: italic;
}

.donation-card-modern {
    background: white;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
    padding: 50px;
    max-width: 700px;
    margin: -50px auto 0;
    position: relative;
    z-index: 10;
}

.card-icon-top {
    width: 80px;
    height: 80px;
    background: var(--gold);
    color: white;
    border-radius: 50%;
    margin: -90px auto 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    box-shadow: 0 10px 20px rgba(212, 160, 23, 0.3);
}

.bank-details-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.detail-row {
    display: flex;
    align-items: center;
    padding: 20px;
    background: #f8fafc;
    border-radius: 12px;
    transition: 0.3s;
}

.detail-row.highlight {
    background: rgba(212, 160, 23, 0.1);
    border: 1px solid rgba(212, 160, 23, 0.2);
}

.detail-row .icon {
    font-size: 1.5rem;
    color: var(--navy);
    margin-right: 20px;
    width: 40px;
    text-align: center;
}

.detail-row .info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.detail-row .label {
    font-size: 0.8rem;
    text-transform: uppercase;
    color: #888;
    letter-spacing: 1px;
}

.detail-row .value {
    font-size: 1.1rem;
    color: var(--navy);
}

.btn-copy {
    background: white;
    border: 1px solid #ddd;
    color: #666;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-copy:hover {
    background: var(--navy);
    color: white;
    transform: scale(1.1);
}


/* --- 10. GENERIC PAGES ELEGANT --- */
.page-header-simple {
    background: #f8fafc;
    padding: 80px 0 40px;
    text-align: center;
}

.page-title-elegant {
    font-family: 'Playfair Display', serif;
    font-size: 3rem;
    color: var(--navy);
    margin-bottom: 20px;
}

.separator-gold {
    width: 60px;
    height: 3px;
    background: var(--gold);
    margin: 0 auto;
}

.page-content-elegant {
    padding: 60px 0 100px;
    background: white;
}

.container-narrow {
    max-width: 900px;
    /* Reading optimizado */
}


/* Footer Grid Adjustment for 4 columns */
@media (min-width: 992px) {
    .footer-top-grid {
        grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
        /* Adjusted for map */
        gap: 30px;
    }
}


/* --- 11. UNIFICACIÓN & REFINAMIENTOS FINALES --- */

/* 1. Unificación Tipografía (Montserrat Global) */
.cinematic-title,
.page-title-lg,
.page-title-elegant,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Montserrat', sans-serif !important;
}

/* Revertir titulo home a bold */
.titulo-cinematico {
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -2px;
    font-size: 3.5rem;
}

/* 2. Donar Refinado */
.page-header-creative {
    padding-top: 160px;
    /* Evitar choque con header */
}

.page-subtitle {
    font-style: italic;
    color: var(--gold);
    font-weight: 500;
    max-width: 800px;
    margin: 10px auto;
    font-size: 1.3rem;
}

/* Recuadro Creativo */
.detail-row.creative-box {
    border: 2px dashed var(--gold);
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    position: relative;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}

/* Botón Windows-Style */
.btn-copy-windows {
    background: #f0f0f0;
    border: 1px solid #ccc;
    color: #333;
    width: 38px;
    height: 38px;
    border-radius: 4px;
    /* Square with slight radius */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-copy-windows:hover {
    background: #e0e0e0;
    border-color: #999;
}

.btn-copy-windows i {
    font-size: 1.1rem;
}

/* 3. Footer Map Grid */
@media (min-width: 992px) {
    .footer-top-grid {
        grid-template-columns: 1.3fr 0.8fr 1fr 1.2fr;
        gap: 25px;
    }
}

/* =========================================
   ASOMARIA PREMIUM DESIGN REFINEMENTS 
   ========================================= */

/* --- 1. Header Refinements --- */
.site-header {
    border-bottom: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    /* Soft shadow */
}

.brand-logo-text {
    font-family: 'Montserrat', sans-serif;
}

/* --- 2. Page Donar (Creative) --- */
.page-header-creative {
    position: relative;
    background: linear-gradient(135deg, var(--navy) 0%, #1a2a40 100%);
    color: #fff;
    padding: 120px 0 160px;
    /* Extra bottom padding for overlap */
    text-align: center;
    overflow: hidden;
}

.page-header-creative .overlay-gradient {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 70% 20%, rgba(212, 160, 23, 0.15), transparent 50%);
    pointer-events: none;
}

.page-title-lg {
    font-family: 'Playfair Display', serif;
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    color: var(--gold);
}

.page-subtitle {
    font-size: 1.2rem;
    font-weight: 300;
    opacity: 0.9;
    max-width: 700px;
    margin: 0 auto;
}

/* Donation Card (Glass + Overlap) */
.barra-estadisticas-hero {
    background: transparent;
    /* Removed white background */
    backdrop-filter: none;
    /* Removed blur */
    -webkit-backdrop-filter: none;
    border-radius: 0;
    /* Removed radius */
    padding: 50px 0;
    /* Increased spacing */
    box-shadow: none;
    /* Removed shadow */
    position: relative;
    z-index: 10;
    margin-top: -20px;
    /* Less overlap */
    border: none;
    /* Removed border */
    display: flex;
    justify-content: space-around;
    align-items: center;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.card-icon-top {
    width: 80px;
    height: 80px;
    background: var(--gold);
    color: #fff;
    border-radius: 50%;
    display: flex;
    /* Flexbox for centering */
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    margin: -100px auto 30px;
    /* Floating top icon */
    box-shadow: 0 10px 20px rgba(212, 160, 23, 0.3);
}

/* Flexbox fallback for icon centering */
.card-icon-top i {
    line-height: 1;
}


.bank-details-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
}

.detail-row {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.detail-row:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.detail-row.creative-box {
    background: linear-gradient(to right, #ffffff, #f0f4f8);
    border: 1px solid #e0e6ed;
}

.detail-row .icon {
    width: 50px;
    height: 50px;
    background: rgba(30, 58, 138, 0.1);
    /* Navy light */
    color: var(--navy);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.detail-row .info {
    flex: 1;
    text-align: left;
    display: flex;
    flex-direction: column;
}

.detail-row .label {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #888;
    margin-bottom: 4px;
}

.detail-row .value {
    font-size: 1.2rem;
    color: var(--navy);
    font-weight: 700;
}

/* Copy Buttons */
.btn-copy,
.btn-copy-windows {
    background: transparent;
    border: 1px solid #ddd;
    border-radius: 8px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-copy:hover,
.btn-copy-windows:hover {
    background: var(--navy);
    color: #fff;
    border-color: var(--navy);
}

/* WhatsApp Button */
.btn-whatsapp-lg {
    background: #25D366;
    color: white;
    padding: 15px 35px;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 10px 20px rgba(37, 211, 102, 0.3);
    transition: transform 0.2s;
}

.btn-whatsapp-lg:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(37, 211, 102, 0.4);
    color: #fff;
}


/* --- 3. Transformando Vidas (Cinematic) --- */
/* --- 3. Transformando Vidas (Cinematic) --- */
.transformando-cinematico {
    position: relative;
    padding: 100px 0;
    color: #fff;
    overflow: hidden;
    background-color: #0b1117;
    /* Fallback */
}

.transformando-cinematico .fondo-cinematico {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Use a dark abstract placeholder background */
    background: url('recursos/slider 1 .png') center/cover no-repeat fixed;
    z-index: 0;
}

.transformando-cinematico .superposicion-oscura {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(11, 17, 23, 0.85);
    /* Dark overlay */
    z-index: 1;
}

.transformando-cinematico .contenido-cinematico {
    position: relative;
    z-index: 2;
}

.titulo-cinematico {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 4rem;
    line-height: 1;
}

.texto-borde {
    color: transparent;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.3);
}

.texto-resplandor-dorado {
    color: var(--gold);
    text-shadow: 0 0 20px rgba(212, 160, 23, 0.5);
}

.tarjeta-cinematica {
    background: rgba(255, 255, 255, 0.05);
    /* Very subtle glass */
    backdrop-filter: blur(5px);
    border-left: 4px solid var(--gold);
    padding: 40px;
    border-radius: 0 20px 20px 0;
}

.texto-cinematico {
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.6;
    color: #e0e0e0;
}

.puntos-separadores span {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: var(--gold);
    border-radius: 50%;
    margin: 0 4px;
    opacity: 0.6;
}

/* Animations (Generic) */
.fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
    opacity: 0;
    transform: translateY(30px);
}

.delay-1 {
    animation-delay: 0.2s;
}

.delay-2 {
    animation-delay: 0.4s;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================
   PIE DE PÁGINA LIMPIO PROFESIONAL - TEMA DARK NAVY
   ========================================= */
.pie-pagina-sitio-limpio {
    font-family: 'Inter', sans-serif;
    background: #1e293b;
    border-top: none;
    padding: 60px 0 0;
    color: rgba(255, 255, 255, 0.8);
}

.grid-pie-pagina-limpio {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    padding-bottom: 50px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.columna-pie-pagina {
    display: flex;
    flex-direction: column;
}

.columna-pie-pagina-ancha {
    flex: 2;
}

/* Contact Cards - Estilo horizontal */
.tarjetas-contacto-pie-pagina {
    display: flex;
    gap: 40px;
}

.contact-card-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 140px;
}

.contact-icon-circle {
    width: 45px;
    height: 45px;
    background: var(--gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1e293b;
    font-size: 1rem;
    flex-shrink: 0;
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.contact-info strong {
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 600;
}

.contact-info span,
.contact-info a {
    color: var(--gold);
    font-size: 0.85rem;
    line-height: 1.4;
    text-decoration: none;
}

.contact-info a:hover {
    text-decoration: underline;
}

/* Marca del Pie de Página */
.marca-pie-pagina-limpia h4 {
    font-family: 'Inter', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 5px;
    letter-spacing: -0.5px;
}

.marca-pie-pagina-limpia p {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
    font-weight: 500;
}

/* Logo del Pie de Página */
.logo-pie-pagina {
    margin-bottom: 10px;
}

.logo-pie-pagina img {
    max-height: 60px;
    width: auto;
}

.lema-pie-pagina {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.6;
    margin: 15px 0 20px;
}

/* Redes Sociales */
.social-pie-pagina-limpio {
    display: flex;
    gap: 12px;
}

.social-pie-pagina-limpio a {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
    transition: all 0.25s ease;
    text-decoration: none;
}

.social-pie-pagina-limpio a:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: #1e293b;
    transform: translateY(-2px);
}

/* Títulos */
.titulo-pie-pagina-limpio {
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--gold);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 20px;
}

/* Enlaces */
.enlaces-pie-pagina-limpio {
    list-style: none;
    margin: 0;
    padding: 0;
}

.enlaces-pie-pagina-limpio li {
    margin-bottom: 12px;
}

.enlaces-pie-pagina-limpio a {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: all 0.2s ease;
    display: inline-block;
}

.enlaces-pie-pagina-limpio a:hover {
    color: var(--gold);
    transform: translateX(3px);
}

/* Contact Info */
.footer-contact-clean {
    list-style: none;
    margin: 0;
    padding: 0;
}

.contacto-pie-pagina-limpio li {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.5;
}

.contacto-pie-pagina-limpio i {
    color: var(--gold);
    font-size: 16px;
    margin-top: 3px;
    flex-shrink: 0;
}

.contacto-pie-pagina-limpio a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.2s ease;
}

.contacto-pie-pagina-limpio a:hover {
    color: var(--gold);
}

/* Sección CTA */
.texto-cta-pie-pagina {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.6;
    margin: 0 0 20px;
}

.boton-donar-pie-pagina {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--gold);
    color: #1e293b !important;
    padding: 12px 24px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(212, 160, 23, 0.3);
}

.boton-donar-pie-pagina:hover {
    background: #f1c40f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 160, 23, 0.4);
    color: #1e293b !important;
}

.boton-donar-pie-pagina i {
    font-size: 14px;
}

/* Parte Inferior del Pie de Página */
.fondo-pie-pagina-limpio {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 0;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.5);
}

.derechos-autor-pie-pagina {
    font-weight: 500;
}

.creditos-pie-pagina a {
    color: var(--gold);
    text-decoration: none;
    font-weight: 600;
}

.creditos-pie-pagina a:hover {
    text-decoration: none;
}

.logo-desarrollado-por {
    max-height: 60px;
    /* Constrain height */
    width: auto;
    /* Allow width to scale */
    height: auto;
    /* Preserve aspect ratio */
    display: block;
    filter: brightness(1.2);
    object-fit: contain;
    /* Ensure no distortion */
}

.logo-desarrollado-por:hover {
    filter: brightness(1.4);
}

@media (max-width: 768px) {
    .logo-desarrollado-por {
        margin: 0 auto;
        /* Center on mobile */
        max-height: 75px;
        /* Slightly larger */
    }

    .creditos-pie-pagina {
        text-align: center;
        width: 100%;
        margin-top: 15px;
    }
}

/* =========================================
   SECCIÓN TARJETAS PRESENCIA (Estilo Bracket)
   ========================================= */
.seccion-tarjetas-presencia {
    padding: 80px 0;
    background: #f8fafc;
}

.encabezado-presencia {
    text-align: center;
    margin-bottom: 50px;
}

.titulo-presencia {
    font-family: 'Inter', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--navy);
    margin: 0 0 15px;
}

.highlight-gold {
    color: var(--gold);
}

.subtitulo-presencia {
    font-size: 1rem;
    color: #64748b;
    max-width: 600px;
    margin: 0 auto;
}

.grid-tarjetas-presencia {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.tarjeta-presencia {
    background: #fff;
    padding: 25px 30px;
    border-radius: 12px;
    border-left: 4px solid var(--gold);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

.tarjeta-presencia:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    transform: translateY(-3px);
}

.tarjeta-presencia h4 {
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--navy);
    margin: 0 0 8px;
}

.tarjeta-presencia p {
    font-size: 0.9rem;
    color: #64748b;
    margin: 0;
    line-height: 1.5;
}

@media (max-width: 992px) {
    .grid-tarjetas-presencia {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .grid-tarjetas-presencia {
        grid-template-columns: 1fr;
    }

    .titulo-presencia {
        font-size: 1.5rem;
    }
}

/* =========================================
   SECCIÓN DE CONTACTO - ESTILO REFERENCIA
   ========================================= */
.seccion-contacto {
    padding: 100px 0;
    background: #f8fafc;
}

.grid-contacto {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

/* Columna Izquierda - Info */
.columna-info-contacto {
    padding-right: 40px;
}

.insignia-seccion {
    display: inline-block;
    padding: 8px 20px;
    background: rgba(212, 160, 23, 0.1);
    color: var(--gold);
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 50px;
    margin-bottom: 20px;
}

.titulo-contacto {
    font-family: 'Inter', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--navy);
    margin: 0 0 15px;
    line-height: 1.2;
}

.subtitulo-contacto {
    font-size: 1rem;
    color: #64748b;
    line-height: 1.7;
    margin-bottom: 30px;
}

/* Horario */
.horario-contacto {
    margin-bottom: 30px;
}

.horario-contacto h4 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--navy);
    margin: 0 0 15px;
}

.items-horario {
    display: flex;
    gap: 30px;
}

.item-horario {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #64748b;
    font-size: 0.95rem;
}

.item-horario i {
    color: var(--gold);
}

/* Contact Cards */
.fila-tarjetas-contacto {
    display: flex;
    gap: 30px;
    margin-bottom: 20px;
}

.tarjeta-contacto {
    display: flex;
    gap: 15px;
    flex: 1;
}

.icono-tarjeta-contacto {
    width: 50px;
    height: 50px;
    background: var(--gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.contenido-tarjeta-contacto {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.contenido-tarjeta-contacto strong {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--navy);
}

.contenido-tarjeta-contacto span,
.contenido-tarjeta-contacto a {
    font-size: 0.9rem;
    color: var(--gold);
    line-height: 1.5;
    text-decoration: none;
}

.contenido-tarjeta-contacto a:hover {
    text-decoration: underline;
}

/* Columna Derecha - Formulario */
.columna-formulario-contacto {
    position: relative;
}

.tarjeta-formulario-contacto {
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}

.tarjeta-formulario-contacto h3 {
    font-family: 'Inter', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--navy);
    margin: 0 0 10px;
}

.tarjeta-formulario-contacto>p {
    font-size: 0.95rem;
    color: #64748b;
    margin-bottom: 25px;
}

/* Formulario */
.formulario-contacto .fila-formulario {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.formulario-contacto input,
.formulario-contacto textarea {
    flex: 1;
    padding: 14px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    color: var(--navy);
    background: #fff;
    transition: all 0.2s ease;
}

.formulario-contacto input::placeholder,
.formulario-contacto textarea::placeholder {
    color: #94a3b8;
}

.formulario-contacto input:focus,
.formulario-contacto textarea:focus {
    outline: none;
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.1);
}

.formulario-contacto textarea {
    resize: vertical;
    min-height: 100px;
}

.boton-enviar {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #f97316;
    color: #fff;
    border: none;
    padding: 14px 30px;
    border-radius: 50px;
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 4px 15px rgba(249, 115, 22, 0.3);
}

.boton-enviar:hover {
    background: #ea580c;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(249, 115, 22, 0.4);
}

.boton-enviar i {
    font-size: 0.9rem;
}

/* Responsive Contact Section */
@media (max-width: 992px) {
    .grid-contacto {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .columna-info-contacto {
        padding-right: 0;
    }
}

@media (max-width: 576px) {
    .seccion-contacto {
        padding: 60px 0;
    }

    .titulo-contacto {
        font-size: 1.8rem;
    }

    .items-horario {
        flex-direction: column;
        gap: 10px;
    }

    .fila-tarjetas-contacto {
        flex-direction: column;
        gap: 20px;
    }

    .formulario-contacto .fila-formulario {
        flex-direction: column;
    }

    .tarjeta-formulario-contacto {
        padding: 25px;
    }
}

/* Responsive Footer */
@media (max-width: 992px) {
    .grid-pie-pagina-limpio {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .columna-pie-pagina-ancha {
        grid-column: span 2;
    }

    .tarjetas-contacto-pie-pagina {
        flex-wrap: wrap;
        gap: 25px;
    }
}

@media (max-width: 768px) {
    .grid-pie-pagina-limpio {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-col-wide {
        grid-column: span 1;
    }

    .footer-contact-cards {
        flex-direction: column;
        gap: 20px;
    }

    .contact-card-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 15px;
    }
}

@media (max-width: 576px) {
    .footer-grid-clean {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }

    .footer-col,
    .footer-col-wide {
        align-items: center;
        grid-column: span 1;
    }

    .footer-social-clean {
        justify-content: center;
    }

    .footer-contact-cards {
        align-items: center;
    }

    .contact-card-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-bottom-clean {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
}

/* --- PÃ¡gina Donar (Refactorizada a EspaÃ±ol) --- */

.hero-donar {
    position: relative;
    padding: 160px 0 100px;
    background: var(--navy);
    text-align: left;
}

.hero-donar .container {
    position: relative;
    z-index: 1;
}

.insignia-donar {
    display: inline-block;
    padding: 10px 25px;
    background: rgba(212, 160, 23, 0.15);
    color: var(--gold);
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 50px;
    margin-bottom: 20px;
    letter-spacing: 2px;
    text-transform: uppercase;
    border: 1px solid rgba(212, 160, 23, 0.3);
}

.titulo-donar {
    font-family: 'Inter', sans-serif;
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 700;
    color: #fff;
    margin: 0 0 15px;
    line-height: 1.1;
}

.subtitulo-donar {
    font-size: 1.1rem;
    color: var(--gold);
    line-height: 1.6;
    font-weight: 400;
    max-width: 500px;
    font-style: italic;
}

.contenedor-tarjeta-donacion {
    position: relative;
    z-index: 20;
}

.wrapper-tarjeta-donacion {
    display: flex;
    justify-content: flex-end;
    padding-right: 15px;
}

.tarjeta-donacion-moderna {
    margin-top: -480px;
    margin-left: auto;
    margin-right: 0;
    width: 100%;
    max-width: 380px;
    padding: 30px;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    position: relative;
}

.icono-tarjeta-superior {
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
    margin-top: -60px;
    background: var(--navy);
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-left: auto;
    margin-right: auto;
    border: 4px solid #f8fafc;
    /* Match body bg usually, or white */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.titulo-tarjeta-donacion {
    text-align: center;
    margin-bottom: 30px;
    font-size: 1.5rem;
    color: var(--navy);
    font-weight: 700;
}

.contenedor-detalles-bancarios {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.fila-detalle {
    display: flex;
    align-items: center;
    padding: 12px;
    gap: 12px;
    background: #f8f9fa;
    border-radius: 10px;
    transition: transform 0.2s ease;
}

.fila-detalle:hover {
    transform: translateX(5px);
}

.fila-detalle.caja-creativa {
    background: rgba(212, 160, 23, 0.08);
    border: 1px solid rgba(212, 160, 23, 0.2);
}

.icono-detalle {
    width: 35px;
    height: 35px;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    border-radius: 50%;
    color: var(--navy);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.caja-creativa .icono-detalle {
    color: var(--gold);
}

.info-detalle {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.etiqueta-detalle {
    font-size: 0.75rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.valor-detalle {
    font-size: 1rem;
    color: #334155;
    word-break: break-all;
    font-weight: 700;
}

.valor-detalle-pequeno {
    font-size: 0.9rem;
    line-height: 1.25;
}

.boton-copiar {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.2s ease;
    border-radius: 50%;
}

.boton-copiar:hover {
    color: var(--gold);
    background: rgba(212, 160, 23, 0.1);
}

.contenedor-boton-ws {
    text-align: center;
    margin-top: 30px;
}

.boton-whatsapp-lg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 14px;
    font-size: 1rem;
    gap: 10px;
    background: #25D366;
    color: white !important;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(37, 211, 102, 0.3);
}

.boton-whatsapp-lg:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(37, 211, 102, 0.4);
    background: #22c35e;
}

/* Helper Text Highlight */
.resaltado-dorado {
    color: var(--gold);
}

/* ========================================
   ESTILOS DE LA PÃGINA HISTORIA
   ======================================== */

.pagina-historia {
    font-family: 'Inter', sans-serif;
    background: #ffffff;
}

/* ========================================
   ENCABEZADO ESPECTACULAR
   ======================================== */
.hero-historia-espectacular {
    position: relative;
    padding: 160px 0 100px;
    background: var(--navy);
    text-align: center;
    overflow: hidden;
}

.hero-historia-espectacular .container {
    position: relative;
    z-index: 1;
    max-width: 900px;
}

.insignia-historia {
    display: inline-block;
    padding: 10px 25px;
    background: rgba(212, 160, 23, 0.15);
    color: var(--gold);
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 50px;
    margin-bottom: 25px;
    letter-spacing: 2px;
    text-transform: uppercase;
    border: 1px solid rgba(212, 160, 23, 0.3);
}

.titulo-historia-grande {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 700;
    color: #fff;
    margin: 0 0 20px;
    line-height: 1.1;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.subtitulo-historia-grande {
    font-size: 1.25rem;
    color: var(--gold);
    line-height: 1.6;
    font-weight: 500;
    max-width: 700px;
    margin: 0 auto;
}

/* Onda decorativa inferior */
.onda-encabezado {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.onda-encabezado svg {
    display: block;
    width: calc(100% + 1.3px);
    height: 60px;
}

.onda-encabezado path {
    fill: #0a1628;
    /* Coincide con el fondo de la siguiente secciÃ³n */
}

/* ========================================
   DISEÃ‘O LÃNEA DE TIEMPO PREMIUM
   ======================================== */

.contenido-historia {
    padding: 100px 0;
    background: #0a1628;
    position: relative;
    overflow: hidden;
}

/* PatrÃ³n de fondo decorativo */
.contenido-historia::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(212, 160, 23, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(212, 160, 23, 0.05) 0%, transparent 40%);
    pointer-events: none;
}

.contenido-historia .container {
    max-width: 1100px;
    position: relative;
    z-index: 1;
}

/* Contenedor de la LÃ­nea de Tiempo */
.linea-tiempo {
    position: relative;
    padding: 40px 0;
}

/* LÃ­nea Central con Resplandor */
.linea-tiempo::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, var(--gold) 0%, rgba(212, 160, 23, 0.3) 100%);
    border-radius: 6px;
    box-shadow: 0 0 20px rgba(212, 160, 23, 0.4);
}

/* Elementos de la LÃ­nea de Tiempo */
.item-linea-tiempo {
    position: relative;
    margin-bottom: 60px;
    display: flex;
    align-items: flex-start;
}

.item-linea-tiempo:last-child {
    margin-bottom: 0;
}

/* Alternar posiciÃ³n izquierda/derecha */
.item-linea-tiempo:nth-child(odd) {
    justify-content: flex-start;
    padding-right: calc(50% + 40px);
}

.item-linea-tiempo:nth-child(even) {
    justify-content: flex-end;
    padding-left: calc(50% + 40px);
}

/* Punto de la LÃ­nea de Tiempo con AnimaciÃ³n */
.punto-linea-tiempo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--gold) 0%, #f5d742 100%);
    border: 5px solid #0a1628;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--navy);
    z-index: 2;
    box-shadow: 0 0 30px rgba(212, 160, 23, 0.5);
    animation: pulso 2s ease-in-out infinite;
}

@keyframes pulso {

    0%,
    100% {
        box-shadow: 0 0 20px rgba(212, 160, 23, 0.4);
    }

    50% {
        box-shadow: 0 0 40px rgba(212, 160, 23, 0.7);
    }
}

/* Tarjeta de Contenido Premium */
.tarjeta-linea-tiempo {
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
    padding: 40px;
    border-radius: 24px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
    position: relative;
    max-width: 100%;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    border-top: 5px solid var(--gold);
    overflow: hidden;
}

/* NÃºmero Decorativo Grande de Fondo */
.tarjeta-linea-tiempo::before {
    content: attr(data-numero);
    position: absolute;
    top: -20px;
    right: 20px;
    font-size: 8rem;
    font-weight: 900;
    color: rgba(30, 41, 59, 0.04);
    line-height: 1;
    pointer-events: none;
}

.tarjeta-linea-tiempo:hover {
    transform: translateY(-12px) scale(1.02);
    box-shadow: 0 35px 70px rgba(0, 0, 0, 0.35);
}

/* Flecha Indicadora de la Tarjeta */
.item-linea-tiempo:nth-child(odd) .tarjeta-linea-tiempo::after {
    content: '';
    position: absolute;
    right: -15px;
    top: 30px;
    border: 15px solid transparent;
    border-left-color: #fff;
}

.item-linea-tiempo:nth-child(even) .tarjeta-linea-tiempo::after {
    content: '';
    position: absolute;
    left: -15px;
    top: 30px;
    border: 15px solid transparent;
    border-right-color: #fff;
}

/* Etiqueta de Fecha */
.fecha-linea-tiempo {
    display: inline-block;
    background: linear-gradient(135deg, var(--gold) 0%, #f5d742 100%);
    color: var(--navy);
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.tarjeta-linea-tiempo h3 {
    font-family: 'Inter', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--navy);
    margin: 0 0 15px;
}

.tarjeta-linea-tiempo p {
    font-size: 1rem;
    color: #64748b;
    line-height: 1.8;
    margin-bottom: 12px;
}

.tarjeta-linea-tiempo p:last-child {
    margin-bottom: 0;
}

/* Lista de Obras */
.lista-obras {
    list-style: none;
    padding: 0;
    margin: 15px 0 0;
}

.lista-obras li {
    padding: 15px 20px;
    padding-left: 45px;
    background: #f8fafc;
    border-radius: 12px;
    margin-bottom: 10px;
    position: relative;
    font-size: 0.95rem;
    color: #64748b;
}

.lista-obras li::before {
    content: 'ðŸ“';
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
}

.lista-obras li:last-child {
    margin-bottom: 0;
}

.lista-obras strong {
    color: var(--navy);
    display: block;
    margin-bottom: 3px;
}

/* Responsividad para MÃ³viles */
@media (max-width: 768px) {
    .linea-tiempo::before {
        left: 30px;
    }

    .punto-linea-tiempo {
        left: 30px;
        width: 50px;
        height: 50px;
        font-size: 1.1rem;
    }

    .item-linea-tiempo:nth-child(odd),
    .item-linea-tiempo:nth-child(even) {
        padding-left: 80px;
        padding-right: 0;
        justify-content: flex-start;
    }

    .item-linea-tiempo:nth-child(odd) .tarjeta-linea-tiempo::after,
    .item-linea-tiempo:nth-child(even) .tarjeta-linea-tiempo::after {
        left: -15px;
        right: auto;
        border-left-color: transparent;
        border-right-color: #fff;
    }

    .tarjeta-linea-tiempo {
        padding: 25px;
    }

    .tarjeta-linea-tiempo h3 {
        font-size: 1.3rem;
    }
}

/* Alineación Hero Derecha - Desktop vs Mobile */
.columna-hero-derecha {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: -8rem;
    /* Desktop visual lift */
    padding-top: 0;
}

@media (max-width: 992px) {
    .columna-hero-derecha {
        margin-top: 0 !important;
        /* Reset on mobile to prevent overlap */
        justify-content: center;
        text-align: center;
        padding-top: 20px;
    }

    .columna-hero-derecha .firma-identidad {
        text-align: center !important;
        padding-right: 0 !important;
    }

    .columna-hero-derecha i.fa-dove {
        /* Adjust background icon on mobile if needed */
        right: 50% !important;
        transform: translateX(50%) rotate(-15deg) !important;
    }
}

/* =========================================
   HERO MASONRY REDESIGN (Feb 2026)
   ========================================= */

/* --- Left Column Typography --- */
.firma-identidad-hero {
    position: relative;
    z-index: 2;
}

.ls-2 {
    letter-spacing: 2px;
}

.text-gold {
    color: var(--gold) !important;
}

/* --- Masonry Grid Layout --- */
.hero-masonry-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: start;
    transform: rotate(-2deg) scale(0.95);
    /* Slight skew for dynamic feel */
    transition: all 0.5s ease;
    margin-top: 50px;
    max-width: 600px;
    margin-left: auto;
}

.hero-masonry-grid:hover {
    transform: rotate(0deg) scale(1);
}

.hero-masonry-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Adjust column speeds/offsets if needed */
.hero-masonry-col:nth-child(2) {
    margin-top: -60px;
    /* Pull middle column up more aggressively */
}

.hero-masonry-col:nth-child(1) {
    margin-top: 40px;
}

.hero-masonry-col:nth-child(3) {
    margin-top: 20px;
}

.masonry-item {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
    /* Stronger shadow */
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    background: transparent;
    border: none;
}

.masonry-item img {
    transition: transform 0.8s ease;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.masonry-item:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 25px 50px rgba(212, 160, 23, 0.25);
    z-index: 10;
}

.masonry-item:hover img {
    transform: scale(1.1);
}

.item-small {
    height: 140px;
}

.item-tall {
    height: 240px;
}

/* Responsive Masonry */
@media (max-width: 992px) {
    .hero-masonry-grid {
        grid-template-columns: repeat(3, 1fr);
        transform: none;
        margin-top: 40px;
        margin-left: 0;
        max-width: 100%;
    }

    .item-small {
        height: 100px;
    }

    .item-tall {
        height: 160px;
    }

    .firma-identidad-hero {
        text-align: center;
        margin-bottom: 30px;
    }

    .contenido-hero {
        text-align: center;
        align-items: center;
    }
}

@media (max-width: 576px) {
    .hero-masonry-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .hero-masonry-col:nth-child(3) {
        display: none;
        /* Hide 3rd column on very small screens */
    }

    .titulo-hero {
        font-size: 2.2rem !important;
    }
}

/* =========================================
   CROSS MASONRY HERO (Updated Feb 2026)
   ========================================= */

/* --- Icon Circles --- */
.icon-circle-outline {
    width: 60px;
    height: 60px;
    border: 2px solid #D4A017;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.icon-circle-outline:hover {
    background: #D4A017;
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(212, 160, 23, 0.4);
}

.icon-circle-outline:hover i {
    color: white !important;
}

/* --- Cross Masonry Grid --- */
.cross-masonry-wrapper {
    position: relative;
    padding: 20px;
}

.cross-item {
    position: relative;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    cursor: pointer;
    border: none;
    /* Removed border as requested */
    border-radius: 16px;
    /* High quality rounded corners */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    /* Soft upscale shadow */
    overflow: hidden;
    /* Ensure image stays inside */
    background: #fff;
}

.cross-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(212, 160, 23, 0.15);
    /* Golden glow */
    z-index: 5;
}

/* Feature Item Pulse */
.cross-item.featured {
    animation: pulse-border 3s infinite;
}

@keyframes pulse-border {
    0% {
        box-shadow: 0 0 0 0 rgba(212, 160, 23, 0.4);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(212, 160, 23, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(212, 160, 23, 0);
    }
}

/* Responsive Cross Grid - Mobile: True Organic Masonry */
/* Responsive Cross Grid - Mobile: Natural Collage Masonry */
/* Responsive Cross Grid - Mobile: Creative 2-Photo Collage */
/* Responsive Cross Grid - Mobile: Creative 2-Photo Collage (Refined) */
/* Responsive Cross Grid - Mobile: Sharp Collage (Hero) - No Borders */
@media (max-width: 992px) {
    .cross-col {
        display: contents !important;
    }

    .cross-masonry-wrapper {
        display: block !important;
        position: relative !important;
        height: 480px !important;
        margin: 20px auto 10px;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 15px !important;
        overflow: visible !important;
    }

    /* 1. Hide ALL items by default */
    .cross-item {
        display: none !important;
    }

    /* RESET Card Styles - Remove all white container features */
    .cross-item.featured,
    .cross-item.hero-item-wrapper-hero_img_3 {
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        /* Remove container shadow */
        font-size: 0 !important;
        /* Kill ghost space */
        line-height: 0 !important;
    }

    /* 2. Photo 1 (Featured - Top Left) */
    .cross-item.featured {
        display: block !important;
        position: absolute !important;
        width: 85% !important;
        height: 250px !important;
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        z-index: 1 !important;
        transform: rotate(-3deg) !important;
    }

    /* 3. Photo 2 (Secondary - Bottom Right) */
    .cross-item.hero-item-wrapper-hero_img_3 {
        display: block !important;
        position: absolute !important;
        width: 85% !important;
        height: 250px !important;
        bottom: 0 !important;
        right: 0 !important;
        left: auto !important;
        top: auto !important;
        z-index: 2 !important;
        transform: rotate(3deg) !important;
    }

    /* Apply shadow and shape directly to IMAGE or inner element */
    .cross-item img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
        /* Block to kill inline gap */
        border-radius: 0 !important;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;
        /* Shadow on image */
    }
}


/* =========================================
   BENTO GRID (Added Feb 2026)
   ========================================= */

/* Tablet Layout (2 Columns) */
@media (max-width: 992px) {
    .bento-grid-layout {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
    }

    /* Make the center gold card span full width on tablet if needed, or just flow naturally */
    .bento-card.bento-gold {
        grid-column: span 2;
    }
}

/* Mobile Layout (1 Column) */
@media (max-width: 768px) {
    .bento-grid-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }

    /* Reset heights for mobile to be content-based or fixed small */
    .bento-card {
        min-height: auto !important;
        padding: 20px !important;
    }

    /* Adjust titles for mobile */
    .bento-c1-title,
    .bento-c3-title {
        font-size: 1.3rem !important;
    }

    .bento-quote-text {
        font-size: 1rem !important;
    }

    /* Adjust images height for mobile */
    .bento-img-wrapper-bento_img_1,
    .bento-img-wrapper-bento_img_4 {
        height: 200px !important;
        min-height: 200px !important;
    }

    .bento-img-wrapper-bento_img_2,
    .bento-img-wrapper-bento_img_3 {
        height: 180px !important;
        flex-grow: 0 !important;
    }

    /* Ensure images cover correctly */
    .bento-grid-layout img {
        height: 100% !important;
        object-fit: cover !important;
    }
}

/* =========================================
   PROPÓSITO CARD (Reference Match)
   ========================================= */

.texto-proposito-wrapper {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 20px 0 !important;
    box-shadow: none !important;
    position: relative;
    z-index: 5;
    border: none !important;
}

.texto-proposito-wrapper .text-uppercase.fw-bold.text-navy {
    color: var(--navy) !important;
    font-weight: 800 !important;
    font-size: 0.8rem !important;
    letter-spacing: 3px !important;
}

/* Make DE SERVICIO massive & tight */
.display-4.text-navy {
    color: var(--navy) !important;
    letter-spacing: -2px !important;
    font-size: 3.5rem !important;
}

.bento-c3-text {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.1rem !important;
    color: #64748b !important;
    /* Slate gray */
    font-weight: 300 !important;
    line-height: 1.8 !important;
}

.quote-box {
    background: #F8FAFC !important;
    /* Very light blue-gray */
    border: none !important;
    border-left: 5px solid #D4A017 !important;
    /* Gold strip */
    border-radius: 0 10px 10px 0 !important;
    padding: 25px 30px !important;
    margin-top: 40px !important;
}

.bento-quote-text {
    font-family: 'Playfair Display', serif !important;
    font-style: italic !important;
    color: #334155 !important;
    font-weight: 600 !important;
}

@media (max-width: 768px) {
    .texto-proposito-wrapper {
        padding: 40px 30px !important;
        border-radius: 30px !important;
        text-align: left !important;
        /* Ensure left align like card */
    }

    .texto-proposito-wrapper .d-flex {
        justify-content: flex-start !important;
        /* Align decoration left */
    }
}

/* DESKTOP SPECIFIC POLISH (High Impact) */
@media (min-width: 992px) {

    /* Section Background to make card pop */
    .seccion-proposito-collage {
        background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    }

    .texto-proposito-wrapper {
        padding: 80px 60px !important;
        /* Luxurious spacing */
        margin-right: -60px;
        /* Magazine overlap effect */
        box-shadow: 0 50px 100px -20px rgba(50, 50, 93, 0.2) !important;
    }

    .display-4.text-navy {
        font-size: 4.5rem !important;
        /* Massive title */
    }

    .bento-c3-text {
        font-size: 1.25rem !important;
        max-width: 90%;
    }

    .collage-modern-wrapper {
        padding-left: 60px;
        /* Compensate for overlap */
    }
}

/* =========================================
   PROPÓSITO COLLAGE 3D (Added Feb 2026)
   ========================================= */

.collage-card {
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.collage-card:hover {
    transform: scale(1.05) rotate(0deg) !important;
    z-index: 10 !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}

@media (max-width: 992px) {
    .collage-3d-wrapper {
        min-height: 400px !important;
        margin-top: 50px;
    }

    .collage-card {
        position: absolute !important;
    }
}

@media (max-width: 768px) {
    .collage-3d-wrapper {
        min-height: auto !important;
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-top: 30px;
    }

    .collage-card {
        position: relative !important;
        width: 100% !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        border-width: 0 !important;
    }

    .collage-card img {
        height: 250px !important;
    }

    .texto-proposito-wrapper {
        padding: 25px !important;
        text-align: center;
    }

    .texto-proposito-wrapper .d-flex {
        justify-content: center;
    }
}

/* =========================================
   COLLAGE MODERN & ELEGANT (No Rotations)
   ========================================= */

.collage-card-modern:hover {
    z-index: 10 !important;
    transform: scale(1.03);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;
}

@media (max-width: 992px) {
    .collage-modern-wrapper {
        min-height: 500px !important;
    }
}

@media (max-width: 768px) {
    .collage-modern-wrapper {
        min-height: auto !important;
        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-top: 30px;
    }

    .collage-card-modern {
        position: relative !important;
        width: 100% !important;
        height: 250px !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        margin: 0 !important;
        border: none !important;
    }

    /* Hide decorative outline on mobile */
    .collage-modern-wrapper .border-warning {
        display: none;
    }
}

/* =========================================
   UI ENHANCEMENTS & MOBILE OPTIMIZATIONS (High Impact)
   ========================================= */

/* Hero Masonry - Shine & Pop Effect */
.cross-item {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.cross-item:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
    z-index: 10;
}

.cross-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-25deg);
    transition: none;
}

.cross-item:hover::after {
    left: 150%;
    transition: left 0.7s ease-in-out;
}

/* =========================================
   UI ENHANCEMENTS & MOBILE OPTIMIZATIONS (Elegant Refined)
   ========================================= */

/* Hero Masonry - Shine & Pop Effect */
.cross-item {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.cross-item:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
    z-index: 10;
}

.cross-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-25deg);
    transition: none;
}

.cross-item:hover::after {
    left: 150%;
    transition: left 0.7s ease-in-out;
}

/* Mobile Masonry - Elegant Grid (2 Col) instead of Scroll */
@media (max-width: 992px) {
    .grid-cross-layout {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        /* Clean 2-col grid */
        gap: 15px;
        padding-bottom: 20px;
        margin-right: 0;
    }

    .cross-col {
        width: 100% !important;
        margin-bottom: 0 !important;
    }

    .cross-item img {
        height: 160px !important;
        /* Elegant compact height */
        border-radius: 15px;
    }

    /* Hide some items if too cluttered, or keep all */
    .cross-col:nth-child(2) {
        grid-column: span 2;
        /* Featured center item spans full width */
    }

    .cross-col:nth-child(2) .cross-item img {
        height: 220px !important;
        /* Hero item taller */
    }
}

/* Collage Section - Deep Shadow */
.collage-modern-wrapper {
    animation: float-slow 6s ease-in-out infinite;
}

@keyframes float-slow {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

@media (max-width: 768px) {

    /* Stacked look for mobile collage - Clean & Spaced */
    .collage-modern-wrapper {
        /* Changed from grid to flex column for clean stack */
        display: flex !important;
        flex-direction: column;
        gap: 20px;
        padding: 0 10px;
        margin-top: 30px !important;
    }

    .collage-card-modern {
        width: 100% !important;
        height: 240px !important;
        position: relative !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
        border-radius: 20px !important;
        margin-bottom: 0 !important;
        /* No overlap for cleaner look */
        transition: transform 0.3s ease;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
    }

    /* Reset transforms from Desktop */
    .collage-card-modern img {
        border-radius: 20px;
    }

    /* Donate Button Visibility Upgrade */
    .boton-cta {
        background: var(--gold) !important;
        color: white !important;
        border: none !important;
        box-shadow: 0 4px 15px rgba(212, 160, 23, 0.4);
        padding: 12px 25px !important;
        width: 100%;
        justify-content: center;
        margin-top: 10px;
        font-weight: 700 !important;
        text-transform: uppercase;
        letter-spacing: 1px;
    }
}

/* =========================================
   TYPOGRAPHY UPDATE - TRANSFORMANDO VIDAS (Editorial Mix)
   ========================================= */
.titulo-cinematico {
    line-height: 1.1;
    margin-bottom: 20px;
}

.texto-contorno {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 400;
    /* Light/Regular */
    color: var(--navy);
    opacity: 0.9;
    letter-spacing: 0.3em;
    /* Wide spacing for elegance */
    text-transform: uppercase;
    display: block;
    margin-bottom: 5px;
}

.texto-resplandor-dorado {
    font-family: 'Playfair Display', serif;
    font-size: 5rem;
    font-style: italic;
    font-weight: 700;
    color: var(--gold);
    text-shadow: none;
    /* Cleaner look */
    letter-spacing: -2px;
    /* Tight for impact */
    margin-top: -10px;
    display: block;
    line-height: 1;
}

@media (max-width: 768px) {
    .texto-contorno {
        font-size: 1.2rem;
        letter-spacing: 0.2em;
    }

    .texto-resplandor-dorado {
        font-size: 3.5rem;
    }
}

/* Responsive Collage - Propósito Section (Mobile: Sharp Fan "Abanico" - Final Refinement) */
@media (max-width: 992px) {
    .collage-modern-wrapper {
        min-height: 520px !important;
        width: 100% !important;
        display: block !important;
        position: relative !important;
        margin-top: 40px;
        padding: 0 !important;
        overflow: visible !important;
        z-index: 5 !important;
    }

    /* Hide 3rd image */
    .bento-img-wrapper-bento_img_3 {
        display: none !important;
    }

    /* RESET Card Styles for Sharpness */
    .collage-card-modern {
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    /* Image 1: The "Back" Card */
    .bento-img-wrapper-bento_img_1 {
        position: absolute !important;
        width: 90% !important;
        height: 250px !important;
        top: 0 !important;
        left: 50% !important;
        transform: translateX(-50%) rotate(-3deg) !important;
        z-index: 10 !important;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
        border-radius: 0 !important;
        border: none !important;
    }

    /* Image 2: The "Front" Card */
    .bento-img-wrapper-bento_img_2 {
        position: absolute !important;
        width: 90% !important;
        height: 250px !important;
        top: 230px !important;
        left: 50% !important;
        transform: translateX(-50%) rotate(3deg) !important;
        z-index: 20 !important;
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.25) !important;
        border-radius: 0 !important;
        border: none !important;
    }

    /* Images cover fully & Sharp */
    .collage-card-modern img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
        border-radius: 0 !important;
    }

    .collage-modern-wrapper .border-warning {
        display: none !important;
    }
}

/* =========================================
   MOBILE FLOATING CTA (DONATE)
   ========================================= */
.btn-flotante-donar {
    display: none;
}

@media (max-width: 992px) {
    .btn-flotante-donar {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
        position: fixed;
        bottom: 25px;
        right: 25px;
        background: var(--gradient-primary);
        color: white !important;
        padding: 14px 28px;
        border-radius: 50px;
        text-decoration: none !important;
        box-shadow: 0 8px 20px rgba(44, 62, 80, 0.4);
        z-index: 9999;
        font-weight: 600;
        font-size: 1rem;
        transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        border: 2px solid rgba(255, 255, 255, 0.2);
    }


    .btn-flotante-donar:active {
        transform: scale(0.95);
    }

    .btn-flotante-donar i {
        font-size: 1.1rem;
    }
}

/* =========================================
   BOOTSTRAP OVERRIDES (Theme Colors)
   ========================================= */
.bg-primary {
    background-color: var(--navy) !important;
}

.text-primary {
    color: var(--navy) !important;
}

.border-primary {
    border-color: var(--navy) !important;
}

.bg-secondary {
    background-color: var(--gold) !important;
}

.text-secondary {
    color: var(--gold) !important;
}

.border-secondary {
    border-color: var(--gold) !important;
}

/* Fix Overlay on Gallery (Custom) */
.overlay.bg-dark {
    background-color: var(--navy) !important;
}

/* =========================================
   7. CREATIVE SECTION EFFECTS (Scroll & Visuals)
   ========================================= */

/* A. Fade In Up Animation (Basic) */
.os-fade-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.os-visible {
    opacity: 1;
    transform: translateY(0);
}

/* B. Section Separators (Subtle) */
.section-wave-top::before {
    content: '';
    display: block;
    height: 50px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, transparent 100%);
    margin-bottom: 20px;
}

/* C. Card Hover Lift & Glow */
.card-hover-effect {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.card-hover-effect:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(44, 62, 80, 0.1);
}

/* D. Subtle Gradient backgrounds for even sections */
section:nth-of-type(even) {
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.8) 0%, rgba(255, 255, 255, 1) 100%);
}

/* =========================================
   2. HEADER PREMIUM (FORCED FAR RIGHT)
   ========================================= */

.encabezado-sitio-v2 {
    background-color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
    font-family: 'Outfit', sans-serif !important;
    z-index: 9999;
    min-height: 85px;
    display: flex;
    align-items: center;
}

/* Navbar Container */
.header-asomaria-nav {
    width: 100%;
}

/* Forzar que el contenedor de colapso empuje a la derecha (Solo Desktop) */
/* Solo en Desktop: Forzar alineación a la derecha y dirección horizontal */
@media (min-width: 992px) {
    .navbar-collapse {
        display: flex !important;
        justify-content: flex-end !important;
        flex-grow: 1 !important;
    }

    .encabezado-sitio-v2 .navbar-nav {
        position: relative !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 40px !important;
        padding: 0 !important;
    }
}

.nav-link-asomaria {
    color: #444444 !important;
    /* Gris carbón */
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 1.2px;
    text-decoration: none;
    text-transform: capitalize;
    transition: all 0.3s ease;
}

.nav-link-asomaria.active {
    color: var(--navy) !important;
    font-weight: 400;
}

.nav-link-asomaria:hover {
    color: var(--gold) !important;
}

/* Botón Píldora (Outline Navy) */
.btn-donar-pill {
    background: transparent !important;
    color: var(--navy) !important;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none !important;
    padding: 10px 35px !important;
    border-radius: 50px !important;
    border: 1px solid var(--navy) !important;
    transition: all 0.3s ease;
    display: inline-block;
    white-space: nowrap;
    letter-spacing: 1px;
}

.btn-donar-pill:hover {
    background: var(--navy) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(44, 62, 80, 0.15);
}

/* Mobile Adjustments & Floating Button */
@media (max-width: 991.98px) {

    /* Fixed Header Height for Mobile */
    .encabezado-sitio-v2 {
        min-height: 70px !important;
    }

    /* Reducir espacios en portadas y asegurar que el header no tape el contenido */
    .seccion-hero,
    .servicios-hero,
    .position-relative.d-flex.align-items-center.justify-content-center[style*="min-height: 70vh"],
    header+section[style*="min-height: 70vh"],
    .historia-creative section:first-of-type,
    .page .entry-content>section:first-of-type {
        min-height: 45vh !important;
        padding-top: 85px !important;
        /* Espacio para el header fixed */
        padding-bottom: 2rem !important;
    }

    .display-1,
    .display-3 {
        font-size: 2.5rem !important;
    }

    /* Menú Móvil PREMIUM (Efecto Lateral / Side Drawer) */
    .encabezado-sitio-v2 .navbar-collapse {
        position: fixed;
        top: 0;
        right: 0;
        /* Alineado a la derecha */
        left: auto;
        /* Anulamos left 0 anterior */
        width: 85%;
        /* No ocupa todo el ancho para un look más moderno */
        max-width: 400px;
        height: 100vh;
        background: #ffffff;
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
        padding: 80px 2rem 2rem !important;
        z-index: 1050;
        display: flex !important;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        overflow-y: auto;

        /* Optimización de Velocidad (Más rápido y fluido) */
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateX(100%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s linear, visibility 0.3s;
    }

    /* Entra de costado: Sincronizado con el click (usando .collapsing y .show) */
    .encabezado-sitio-v2 .navbar-collapse.show,
    .encabezado-sitio-v2 .navbar-collapse.collapsing {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(0);
    }

    /* Forzar que no haya delay entre el icono y el movimiento */
    .encabezado-sitio-v2 .navbar-collapse.collapsing {
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s linear;
        height: 100vh !important;
        /* Evitar que Bootstrap intente animar la altura */
    }

    /* Fondo oscuro tras el menú (Backdrop) */
    .site-header-clean:has(.navbar-collapse.show)::after,
    .site-header-clean:has(.navbar-collapse.collapsing)::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(0, 0, 0, 0.4);
        backdrop-filter: blur(4px);
        z-index: 1040;
        animation: fadeIn 0.2s ease-out forwards;
    }

    @keyframes fadeIn {
        from {
            opacity: 0;
        }

        to {
            opacity: 1;
        }
    }

    .social-menu-mobile a {
        width: 45px;
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f8fafc;
        border-radius: 50%;
        transition: all 0.3s ease;
        border: 1px solid #e2e8f0;
    }

    .social-menu-mobile a:hover {
        background: var(--navy);
        color: white !important;
        transform: translateY(-3px);
    }

    .encabezado-sitio-v2 .navbar-brand {
        position: relative;
        z-index: 1100;
    }

    .encabezado-sitio-v2 .navbar-toggler {
        border: none !important;
        padding: 0;
        outline: none !important;
        position: relative;
        z-index: 1100;
        /* Por encima del overlay menu */
    }

    .encabezado-sitio-v2 .navbar-toggler:focus {
        box-shadow: none !important;
    }

    /* Icono de menú en color institucional (Navy) */
    .encabezado-sitio-v2 .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2844, 62, 80, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
        width: 1.5em;
        height: 1.5em;
        transition: transform 0.3s ease;
    }

    /* Icono X cuando el menú está abierto */
    .encabezado-sitio-v2 .navbar-toggler:not(.collapsed) .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cline x1='7' y1='7' x2='23' y2='23' stroke='rgba%2844, 62, 80, 1%29' stroke-width='2' stroke-linecap='round'/%3e%3cline x1='7' y1='23' x2='23' y2='7' stroke='rgba%2844, 62, 80, 1%29' stroke-width='2' stroke-linecap='round'/%3e%3c/svg%3e") !important;
        transform: rotate(90deg);
    }

    /* Ajuste de la navegación en móvil */
    .encabezado-sitio-v2 .navbar-nav {
        flex-direction: column !important;
        align-items: center !important;
        /* Centrado horizontal */
        gap: 20px !important;
        margin: 20px 0 !important;
        width: 100%;
    }

    .encabezado-sitio-v2 .nav-link-asomaria {
        font-size: 1.6rem !important;
        /* Más grande en móvil para elegancia */
        font-weight: 400 !important;
        width: 100%;
        padding: 15px 0 !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.03) !important;
        text-align: center;
        color: var(--navy) !important;
        letter-spacing: 1px;
    }

    .encabezado-sitio-v2 .nav-link-asomaria:hover,
    .encabezado-sitio-v2 .nav-link-asomaria.active {
        color: var(--gold) !important;
    }

    /* Estilo para el link de Donar dentro del menú móvil (Outline Gold) */
    .navbar-nav .nav-item .nav-link-asomaria[href*="donar"] {
        margin-top: 20px;
        background: transparent !important;
        border: 1px solid var(--gold) !important;
        color: var(--gold) !important;
        padding: 12px 40px !important;
        border-radius: 50px;
        box-shadow: none;
        font-weight: 400 !important;
    }

    /* Ocultar elementos innecesarios */
    .encabezado-sitio-v2 .navbar-nav .btn-donar-pill {
        display: none !important;
    }
}

/* Botón Flotante Donar */
.btn-flotante-donar {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 2000;
    background: var(--navy);
    color: white !important;
    padding: 15px 30px;
    border-radius: 50px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 10px 25px rgba(44, 62, 80, 0.3);
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    font-size: 14px;
}

.btn-flotante-donar:hover {
    transform: translateY(-5px) scale(1.05);
    background: var(--gold);
    box-shadow: 0 15px 30px rgba(212, 160, 23, 0.3);
}

.btn-flotante-donar i {
    font-size: 1.2rem;
}

/* CTA Button (Solid Navy) matching user reference */
.btn-solid-cta {
    background-color: var(--navy) !important;
    color: white !important;
    border: 2px solid var(--navy) !important;
    transition: all 0.3s ease;
}

.btn-solid-cta:hover {
    background-color: var(--gold) !important;
    border-color: var(--gold) !important;
    color: white !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
}

/* =========================================
   HISTORIAS - ZEN MASTERPIECE (Evolution V3)
   ========================================= */

.historia-zen {
    background-color: var(--zen-bg);
    color: var(--zen-text);
    font-family: 'Outfit', sans-serif;
    overflow-x: hidden;
    position: relative;
}

.historia-zen::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3%3Ffilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.03;
    pointer-events: none;
    z-index: 9999;
}

.zen-scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 0%;
    height: 3px;
    background: var(--zen-gold);
    z-index: 10000;
}

.zen-hero {
    height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--zen-bg-soft);
    position: relative;
    padding: 0 5%;
}

.zen-hero-content {
    max-width: 1200px;
    z-index: 10;
    text-align: center;
}

.zen-eyebrow {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 10px;
    color: var(--zen-gold);
    margin-bottom: 2rem;
    display: block;
    font-weight: 600;
}

.zen-hero h1 {
    font-family: 'Marcellus', serif;
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    line-height: 1.1;
    color: var(--zen-dark);
    margin: 1.5rem 0;
}

.zen-hero h1 span {
    color: var(--zen-gold);
}

.zen-hero-line {
    width: 1px;
    height: 60px;
    background: linear-gradient(to bottom, var(--zen-gold), transparent);
    margin: 3rem auto 0;
}

.zen-section {
    padding: var(--section-spacing) 0;
    position: relative;
}

.bg-soft {
    background-color: var(--zen-bg-soft);
    background-image: none !important;
}

.zen-chapter {
    font-family: 'Marcellus', serif;
    font-size: 0.8rem;
    color: var(--zen-gold);
    border: 1px solid var(--zen-gold);
    padding: 8px 18px;
    border-radius: 50px;
    display: inline-block;
    margin-bottom: 2.5rem;
}

.zen-title {
    font-family: 'Marcellus', serif;
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    line-height: 1.1;
    margin-bottom: 2.5rem;
    color: var(--zen-dark);
}

.zen-p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--zen-text-muted);
    margin-bottom: 1.5rem;
}

.zen-lead {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.5;
    color: var(--zen-dark);
}

.zen-img-frame {
    position: relative;
    padding-bottom: 110%;
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
    background: #eee;
}

.zen-img-frame img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: all 1s ease;
}

.zen-img-frame:hover img {
    filter: grayscale(0%);
    transform: scale(1.05);
}

.zen-obras-layout {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.zen-obra-card {
    padding: 40px;
    background: #fff;
    border: 1px solid var(--zen-border);
    transition: all 0.4s;
}

.zen-obra-card:hover {
    border-color: var(--zen-gold);
    transform: translateY(-5px);
}

.zen-obra-card i {
    font-size: 1.4rem;
    color: var(--zen-gold);
    margin-bottom: 20px;
    display: block;
}

.zen-obra-card h4 {
    font-family: 'Marcellus', serif;
    font-size: 1.4rem;
    margin-bottom: 12px;
}

.zen-obra-card.featured {
    grid-column: span 2;
    border-left: 4px solid var(--zen-gold);
}

.zen-stats-wrap {
    background-color: #0d0e10 !important;
    background-image: none !important;
    padding: 140px 0;
    color: #ffffff !important;
    text-align: center;
    position: relative;
    z-index: 10;
    border-top: 1px solid rgba(197, 160, 89, 0.2);
}

.zen-stats-grid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 60px;
    margin: 80px 0;
}

.zen-stat-item {
    min-width: 220px;
    padding: 20px;
}

.zen-stat-val {
    display: block;
    font-family: 'Marcellus', serif;
    font-size: clamp(3.5rem, 8vw, 6rem);
    color: #c5a059 !important;
    line-height: 1;
    margin-bottom: 20px;
    font-weight: 700;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.zen-stat-label {
    display: block;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 0.85rem;
    color: #ffffff !important;
    opacity: 0.95;
    line-height: 1.5;
    font-weight: 400;
}

.zen-btn {
    display: inline-flex;
    padding: 22px 55px;
    border: 1px solid var(--zen-gold);
    color: var(--zen-gold);
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    transition: all 0.4s;
    text-decoration: none !important;
}

.zen-btn:hover {
    background: var(--zen-gold);
    color: white;
}

@media (max-width: 992px) {
    .zen-hero h1 {
        font-size: 2.2rem;
    }

    .zen-section {
        padding: 70px 0;
    }

    .zen-obras-layout {
        grid-template-columns: 1fr;
    }

    .zen-obra-card.featured {
        grid-column: auto;
    }

    .zen-stats-grid {
        gap: 20px;
    }
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.bg-gradient-gold {
    background: var(--gradient-gold) !important;
}

.bg-gold {
    background-color: var(--gold) !important;
}

.bg-soft-gold {
    background-color: rgba(212, 160, 23, 0.15) !important;
}

.text-shadow-sm {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* Creative Layered Card Styles */
.servicio-card-creative {
    perspective: 1000px;
    cursor: pointer;
}

.layer-back {
    transform: rotate(-5deg) scale(0.95);
    background: var(--gold);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.card-front {
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
}

.watermark-icon {
    transition: all 0.5s ease;
}

.servicio-card-creative:hover .layer-back {
    opacity: 1;
    transform: rotate(-3deg) scale(1) translate(-5px, -5px);
}

.servicio-card-creative:hover .card-front {
    transform: translate(5px, 5px);
    box-shadow: -5px 5px 20px rgba(0, 0, 0, 0.05) !important;
    border-color: transparent !important;
}

.servicio-card-creative:hover .watermark-icon {
    transform: rotate(0deg) scale(1.1) !important;
    opacity: 0.15 !important;
    color: var(--navy) !important;
}

/* =========================================
   SISTEMA DE DISEÑO INSTITUCIONAL (Global)
   ========================================= */
.header-institucional {
    padding: 90px 0 70px;
    background-color: #fdfaf3;
    /* Crema Institucional */
    text-align: center;
    position: relative;
    z-index: 1;
}

.header-institucional .insignia-oro {
    display: inline-block;
    padding: 7px 18px;
    background: #D4A017;
    color: white !important;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 3px;
    border-radius: 50px;
    margin-bottom: 20px;
    box-shadow: 0 8px 15px rgba(212, 160, 23, 0.15);
}

.header-institucional h1 {
    font-family: 'Outfit', sans-serif !important;
    font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
    color: #1A2B3C !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    margin-bottom: 15px !important;
    text-transform: none !important;
    letter-spacing: -0.02em !important;
}

.header-institucional h1 span,
.header-institucional h1 em {
    color: #D4A017 !important;
    font-style: italic !important;
}

.header-institucional p {
    font-family: 'Outfit', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 300 !important;
    color: #444 !important;
    max-width: 750px;
    margin: 0 auto !important;
    opacity: 0.9;
}