/* =============================================
   TEMA: ELEGANT
   Sofisticado, tipográfico, hoteles y restaurantes de nivel
   ============================================= */

/* --- Bordes muy sutiles --- */
[data-tema="elegant"] .rounded-2 { border-radius: 0.25rem !important; }
[data-tema="elegant"] .rounded-top { border-radius: 0.25rem 0.25rem 0 0 !important; }
[data-tema="elegant"] .rounded-end { border-radius: 0 0.25rem 0.25rem 0 !important; }
[data-tema="elegant"] .btn {
    border-radius: 0 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 0.78em !important;
    font-weight: 500 !important;
    padding: 0.6rem 1.8rem !important;
}
[data-tema="elegant"] img { border-radius: 0.2rem !important; }

/* --- Sombras muy suaves y elegantes --- */
[data-tema="elegant"] .shadow-sm { box-shadow: 0 2px 16px rgba(0,0,0,0.06) !important; }

/* --- H2: tipografía protagonista, ornamento fino central --- */
[data-tema="elegant"] h2 {
    font-weight: 400;
    font-style: italic;
    letter-spacing: 0.06em;
    position: relative;
    padding-bottom: 1.1rem;
}
[data-tema="elegant"] h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 1px;
    background: currentColor;
    opacity: 0.6;
}

/* --- Cards de servicios: fondo muy sutil, borde fino superior --- */
[data-tema="elegant"] .serv {
    border-top: 1px solid rgba(0,0,0,0.12) !important;
    border-radius: 0.25rem !important;
    background: rgba(255,255,255,0.5) !important;
}

/* --- Imágenes con marco fino --- */
[data-tema="elegant"] .galeria-item img,
[data-tema="elegant"] .foto img {
    border: 1px solid rgba(0,0,0,0.10);
    padding: 3px;
    background: #fff;
}

/* --- Hover sutil en cards --- */
[data-tema="elegant"] .serv,
[data-tema="elegant"] .post,
[data-tema="elegant"] .blog-mini {
    transition: box-shadow 0.3s ease;
}
[data-tema="elegant"] .serv:hover,
[data-tema="elegant"] .post:hover,
[data-tema="elegant"] .blog-mini:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.10) !important;
}

/* --- Dropdown refinado --- */
[data-tema="elegant"] .dropdown-menu {
    border-radius: 0 !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    padding: 0.75rem 0;
}
[data-tema="elegant"] .dropdown-item {
    letter-spacing: 0.05em;
    font-size: 0.88em;
}

/* --- Navbar con línea inferior fina elegante --- */
[data-tema="elegant"] .navbar { border-bottom: 1px solid rgba(0,0,0,0.08); }

/* --- Footer: separador con ornamento --- */
[data-tema="elegant"] .footer > div { border-top: 1px solid rgba(255,255,255,0.2); }

/* --- Espaciado generoso entre secciones --- */
[data-tema="elegant"] .seccion-bloque {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/* --- Textos con mayor interlineado --- */
[data-tema="elegant"] p { line-height: 1.9; }
[data-tema="elegant"] .lead { letter-spacing: 0.02em; }

/* --- Módulo 19: variante ELEGANT (línea fina vertical refinada con padding generoso) --- */
[data-tema="elegant"] .se-mod19 .valor-item {
	border-left: 1px solid currentColor;
	padding: .5rem 0 .5rem 1.5rem;
	font-family: Georgia, serif;
}
[data-tema="elegant"] .se-mod19 .valor-item strong {
	font-weight: 600;
	letter-spacing: .01em;
}
[data-tema="elegant"] .se-mod19 .se-mod19-foto-main { border-radius: 0; box-shadow: 0 12px 50px rgba(0,0,0,.10); }
[data-tema="elegant"] .se-mod19 .se-mod19-foto-thumbs img { border-radius: 0; }

/* =====================================================
   Personalización de módulos para ELEGANT
   Filosofía: rectos finos, mucho espaciado, líneas decorativas, serif
   ===================================================== */
[data-tema="elegant"] .se-mod1 .img img,
[data-tema="elegant"] .se-mod2 .img img { border-radius: 0; box-shadow: 0 24px 60px rgba(0,0,0,.12); }
[data-tema="elegant"] .se-mod14 img { border-radius: 0; }

[data-tema="elegant"] .se-mod6 .row > div > .fondo2a,
[data-tema="elegant"] .se-mod6 .row > div > .fondo1a { background: transparent !important; border: 1px solid rgba(0,0,0,.10); border-radius: 0; padding: 2.5rem 2rem; }

[data-tema="elegant"] .se-mod9 .grid,
[data-tema="elegant"] .se-mod9 .photolist { gap: 1.25rem; }
[data-tema="elegant"] .se-mod9 .grid__item img,
[data-tema="elegant"] .se-mod9 .grid__img { border-radius: 0; box-shadow: 0 6px 24px rgba(0,0,0,.08); }

[data-tema="elegant"] .se-mod11 .pricing-card { border-radius: 0; border: none; border-top: 2px solid currentColor; box-shadow: none; padding: 2.5rem 1.75rem; }
[data-tema="elegant"] .se-mod11 .pricing-card.featured { border-top-width: 4px; }

[data-tema="elegant"] .se-mod12 .accordion-item { border-radius: 0 !important; border-left: 0; border-right: 0; border-top: 0; box-shadow: none; }
[data-tema="elegant"] .se-mod12 .accordion-button { border-radius: 0 !important; padding: 1.25rem 0; font-style: italic; }

[data-tema="elegant"] .se-mod16 .timeline::before { width: 1px; }
[data-tema="elegant"] .se-mod16 .timeline-dot { width: 10px; height: 10px; border-width: 1px; background: #fff; }
[data-tema="elegant"] .se-mod16 .timeline-date { font-style: italic; font-weight: 400; }

[data-tema="elegant"] .se-mod18 .stat-numero { font-weight: 400; font-style: italic; letter-spacing: -1px; }
