/* =============================================
   TEMA: MODERN
   Contemporáneo, dinámico, hoteles y estudios
   ============================================= */

/* --- Bordes medianos, modernos --- */
[data-tema="modern"] .rounded-2 { border-radius: 0.5rem !important; }
[data-tema="modern"] .rounded-top { border-radius: 0.5rem 0.5rem 0 0 !important; }
[data-tema="modern"] .rounded-end { border-radius: 0 0.5rem 0.5rem 0 !important; }
[data-tema="modern"] .btn { border-radius: 50rem !important; padding-left: 1.6rem !important; padding-right: 1.6rem !important; }
[data-tema="modern"] img { border-radius: 0.5rem !important; }

/* --- Sombras largas y sutiles --- */
[data-tema="modern"] .shadow-sm { box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important; }
[data-tema="modern"] .serv,
[data-tema="modern"] .post,
[data-tema="modern"] .equipo-mini { box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important; }

/* --- Hover: cards se elevan --- */
[data-tema="modern"] .serv,
[data-tema="modern"] .post,
[data-tema="modern"] .blog-mini {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
[data-tema="modern"] .serv:hover,
[data-tema="modern"] .post:hover,
[data-tema="modern"] .blog-mini:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.13) !important;
}

/* --- H2: sin adorno pero con letra más ligera y espaciada --- */
[data-tema="modern"] h2 {
    font-weight: 300;
    letter-spacing: 0.04em;
}

/* --- Solapamiento: algunos módulos con margen negativo --- */
[data-tema="modern"] .modulo + .modulo {
    margin-top: -2rem;
    position: relative;
    z-index: 1;
}

/* --- Cards de servicios: sin fondo alternativo, solo sombra --- */
[data-tema="modern"] .serv {
    background: #fff !important;
    border: none !important;
    overflow: hidden;
}

/* --- Imágenes de galería con overlay sutil al hover --- */
[data-tema="modern"] .galeria-item { overflow: hidden; border-radius: 0.5rem; }
[data-tema="modern"] .galeria-item img { transition: transform 0.4s ease; }
[data-tema="modern"] .galeria-item:hover img { transform: scale(1.04); }

/* --- Dropdown con sombra profunda --- */
[data-tema="modern"] .dropdown-menu {
    border-radius: 0.5rem !important;
    border: none;
    box-shadow: 0 12px 40px rgba(0,0,0,0.12);
}

/* --- Navbar sin borde --- */
[data-tema="modern"] .navbar { border-bottom: none; }

/* --- Footer limpio --- */
[data-tema="modern"] .footer > div { border-top: 1px solid rgba(255,255,255,0.1); }

/* --- Secciones con más espacio vertical --- */
[data-tema="modern"] .seccion-bloque {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/* --- Módulo 19: variante MODERN (línea inferior con número) --- */
[data-tema="modern"] .se-mod19 .valor-item {
	border-left: none;
	padding: 0 0 1rem 0;
	border-bottom: 1px solid rgba(0,0,0,.1);
	counter-increment: m19-counter;
	position: relative;
	padding-left: 2.2rem;
}
[data-tema="modern"] .se-mod19 .valores-grid { counter-reset: m19-counter; }
[data-tema="modern"] .se-mod19 .valor-item::before {
	content: "0" counter(m19-counter);
	position: absolute;
	left: 0; top: 0;
	font-weight: 800;
	color: currentColor;
	opacity: .35;
	font-size: 1rem;
}
[data-tema="modern"] .se-mod19 .se-mod19-foto-main { border-radius: 8px; }

/* =====================================================
   Personalización de módulos para MODERN
   Filosofía: bordes ligeramente redondeados, sombras difusas, dinámico
   ===================================================== */
[data-tema="modern"] .se-mod1 .img img,
[data-tema="modern"] .se-mod2 .img img { border-radius: 10px; box-shadow: 0 16px 50px -20px rgba(0,0,0,.30); }
[data-tema="modern"] .se-mod14 img { border-radius: 10px; }

[data-tema="modern"] .se-mod6 .row > div > .fondo2a,
[data-tema="modern"] .se-mod6 .row > div > .fondo1a { background: #fff !important; border-radius: 10px; padding: 1.75rem; box-shadow: 0 16px 40px -20px rgba(0,0,0,.20); }

[data-tema="modern"] .se-mod9 .grid,
[data-tema="modern"] .se-mod9 .photolist { gap: .5rem; }
[data-tema="modern"] .se-mod9 .grid__item img,
[data-tema="modern"] .se-mod9 .grid__img { border-radius: 8px; transition: transform .4s; }
[data-tema="modern"] .se-mod9 .grid__item:hover img { transform: scale(1.04); }

[data-tema="modern"] .se-mod11 .pricing-card { border-radius: 12px; border: none; background: #fff; box-shadow: 0 20px 60px -30px rgba(0,0,0,.30); padding: 2.5rem 1.75rem; }
[data-tema="modern"] .se-mod11 .pricing-card.featured { transform: scale(1.05); }

[data-tema="modern"] .se-mod12 .accordion-item { border-radius: 8px !important; margin-bottom: .5rem; border: none; background: rgba(0,0,0,.03); }
[data-tema="modern"] .se-mod12 .accordion-button { border-radius: 8px !important; background: transparent; }

[data-tema="modern"] .se-mod16 .timeline::before { width: 3px; background: linear-gradient(to bottom, currentColor, transparent); }
[data-tema="modern"] .se-mod16 .timeline-dot { width: 16px; height: 16px; box-shadow: 0 0 0 4px rgba(0,0,0,.06); }
[data-tema="modern"] .se-mod16 .timeline-item:nth-child(odd),
[data-tema="modern"] .se-mod16 .timeline-item:nth-child(even) { padding-bottom: 2.5rem; }

[data-tema="modern"] .se-mod18 .stat-numero { font-weight: 700; background: linear-gradient(135deg, currentColor, transparent); -webkit-background-clip: text; }
