/* Rayo Contacto Pro — Frontend v1.5.0 */

/* Contenedor general */
.rcp-contacto-pro { display:flex; flex-direction:column; gap:30px; margin:20px 0; }
.rcp-intro { margin-bottom: 10px; }
.rcp-footer-email { text-align:center; margin:20px 0; }
.rcp-footer-email a {
    color: var(--texto-resaltado) !important;
    text-decoration: none;
}
.rcp-footer-email a:hover {
    text-decoration: underline;
}
.rcp-footer-email i { font-size:16px; margin-right:6px; }

/* Sucursal card */
.rcp-sucursal { display:flex; flex-wrap:wrap; gap:30px; align-items:flex-start; background:#fff; padding:20px; border-radius:10px; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.rcp-sucursal__datos { flex:1 1 40%; min-width:300px; }
.rcp-sucursal__mapa { flex:1 1 55%; min-width:320px; }
.rcp-sucursal__datos h3 { margin:0 0 6px; }
.rcp-sucursal__datos p { margin:6px 0; display:flex; align-items:center; gap:8px; font-size:15px; }
.rcp-sucursal__datos p a {
    color: var(--texto-resaltado) !important;
    text-decoration: none;
}
.rcp-sucursal__datos p a:hover {
    text-decoration: underline;
}
.rcp-sucursal__datos i { font-size:16px; color:#333; }

/* Map iframe */
.rcp-mapa-iframe-wrap { width:100%; position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:8px; box-shadow:0 4px 18px rgba(0,0,0,.08); }
.rcp-mapa-iframe-wrap iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Floating WhatsApp */
.rcp-wa-float { position:fixed; right:20px; bottom:20px; background:#25D366; color:#fff; border-radius:50%; width:55px; height:55px; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(0,0,0,.2); z-index:999; text-decoration:none; }
.rcp-wa-float i { font-size:28px; line-height:1; }

/* Responsive */
@media (max-width: 768px) {
  .rcp-sucursal { flex-direction: column; }
  .rcp-sucursal__datos, .rcp-sucursal__mapa { min-width: 100%; }
}

/* --- INICIO DE LA MODIFICACIÓN --- */
/* Reglas de visibilidad para el botón de WA */

/* 1. Ocultar en desktop si la clase .rcp-wa-hide-desktop está presente */
.rcp-wa-float.rcp-wa-hide-desktop {
    display: none;
}

/* 2. Media Query para móviles (768px o menos) */
@media (max-width: 768px) {
    /* 2a. Ocultar en mobile si la clase .rcp-wa-hide-mobile está presente */
    .rcp-wa-float.rcp-wa-hide-mobile {
        display: none;
    }

    /* 2b. FORZAR que se muestre si estaba oculto en desktop pero SÍ debe verse en mobile */
    /* (Sobreescribe la regla .rcp-wa-hide-desktop de arriba) */
    .rcp-wa-float.rcp-wa-hide-desktop {
        display: flex;
    }
    .rcp-wa-float { position:fixed; right:20px; bottom:100px !important; background:#25D366; color:#fff; border-radius:50%; width:55px; height:55px; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(0,0,0,.2); z-index:999; text-decoration:none; }

}
/* --- FIN DE LA MODIFICACIÓN --- */

/* --- INICIO NUEVO (REEMPLAZO TOTAL DE ESTILOS SOCIALES) --- */

/* [cdtsocialicons] - Iconos en línea (Default color) */
.rcp-social-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Margen de 10px entre elementos */
    align-items: center;
}
.rcp-social-icons a {
    font-size: 24px;
    color: var(--texto-resaltado) !important; /* Color del icono */
    text-decoration: none;
    transition: opacity 0.2s;
}
.rcp-social-icons a:hover {
    opacity: 0.7;
}

/* --- INICIO NUEVA MODIFICACIÓN --- */
/* [cdtsocialicons_claro] */
.rcp-social-icons--claro a {
    color: white;
}
.rcp-social-icons--claro a:hover {
    opacity: 0.8;
}

/* [cdtsocialicons_oscuro] */
.rcp-social-icons--oscuro a {
    color: var(--texto-resaltado) !important;
}
.rcp-social-icons.rcp-social-icons--oscuro a {
    color: var(--texto-resaltado) !important;
}
.rcp-social-icons--oscuro a:hover {
    opacity: 0.7;
}
/* --- FIN NUEVA MODIFICACIÓN --- */


/* [cdtsocialicons_lista] - Icono y Texto en línea */
.rcp-social-list-horizontal {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Margen de 10px entre elementos */
    align-items: center;
}
.rcp-social-list-item-horizontal {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 16px;
    color: var(--texto-resaltado) !important;
    text-decoration: none;
}
.rcp-social-list-item-horizontal i {
    font-size: 20px;
    color: var(--texto-resaltado) !important;
    transition: opacity 0.2s;
}
.rcp-social-list-item-horizontal:hover {
    text-decoration: none;
}
.rcp-social-list-item-horizontal:hover i {
    opacity: 0.7;
}

/* [cdtsocialicons_lista_vertical] - Icono y Texto en vertical */
.rcp-social-list-vertical {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}
.rcp-social-list-item-vertical {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 16px;
    color: var(--texto-resaltado) !important;
    text-decoration: none;
}
.rcp-social-list-item-vertical i {
    font-size: 20px;
    min-width: 20px;
    text-align: center;
    color: var(--texto-resaltado) !important;
    transition: opacity 0.2s;
}
.rcp-social-list-item-vertical:hover {
    text-decoration: none;
}
.rcp-social-list-item-vertical:hover i {
    opacity: 0.7;
}

/* --- FIN NUEVO (REEMPLAZO) --- */


/* --- INICIO NUEVA MODIFICACIÓN (Shortcodes cdt-suc-N) --- */

/* Estilos base y versión oscura (default) */
.cdt-sucursal-widget {
    margin: 0;
    color: black; /* Color por defecto (negro) */
}
.cdt-sucursal-widget h3 {
    font-size: 16px !important; /* !important para forzar sobre temas */
    font-weight: 700;
    margin: 0 0 10px;
    color: black; /* Color negro (default) */
}
.cdt-sucursal-widget p {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px !important;
    line-height: 1.4;
    color: black; /* Color negro (default) */

    /* Márgenes solicitados */
    margin-block-start: 0;
    margin-block-end: 3px;
    margin-inline-start: 0;
    margin-inline-end: 0;
    margin-bottom: 3px !important;
}
.cdt-sucursal-widget p:last-child {
    margin-block-end: 0; /* Sin margen en el último ítem */
}
.cdt-sucursal-widget p i {
    font-size: 16px; /* Ajustado para 14px de texto */
    color: black; /* Color negro (default) */
    margin-top: 2px;
    min-width: 18px;
    text-align: center;
}
.cdt-sucursal-widget a {
    color: var(--texto-resaltado) !important;
}
.cdt-sucursal-widget p a {
    color: var(--texto-resaltado) !important;
    text-decoration: none;
}
.cdt-sucursal-widget p a:hover {
    text-decoration: none;
}

/* Modificador para la versión clara */
.cdt-sucursal-widget--claro {
    color: white; /* Color blanco */
}
.cdt-sucursal-widget--claro h3 {
    color: white;
}
.cdt-sucursal-widget--claro p {
    color: white;
}
.cdt-sucursal-widget--claro p i {
    color: white;
}
.cdt-sucursal-widget--claro p a {
    color: white;
}
/* --- FIN NUEVA MODIFICACIÓN --- */

/* --- INICIO MODAL DE CONSULTA POR EMAIL --- */
.rcp-consulta-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rcp-consulta-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    cursor: pointer;
}

.rcp-consulta-modal-content {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 30px;
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    z-index: 10001;
}

.rcp-consulta-modal-close {
    position: absolute;
    top: 10px;
    right: 15px;
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
}

/* Los estilos de btn-secundario vienen de cdt-identidad */
.rcp-consulta-modal-close:hover {
    opacity: 0.8;
}

.rcp-consulta-modal-content h2 {
    margin: 0 0 20px;
    font-size: 24px;
    color: #333;
    font-family: var(--font-family-headings, inherit);
}

.rcp-consulta-field {
    margin-bottom: 20px;
}

.rcp-consulta-field label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #333;
    font-family: var(--font-family-body, inherit);
}

.rcp-consulta-field .required {
    color: #d63638;
}

.rcp-consulta-field input,
.rcp-consulta-field textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    font-family: var(--font-family-body, inherit);
    box-sizing: border-box;
    background-color: #fff;
    color: #333;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.rcp-consulta-field input:focus,
.rcp-consulta-field textarea:focus {
    outline: none;
    border-color: var(--fondo-boton-primario, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
}

.rcp-consulta-field textarea {
    resize: vertical;
    min-height: 100px;
}

.rcp-consulta-messages {
    margin-bottom: 15px;
    min-height: 20px;
}

.rcp-consulta-success {
    background: #d4edda;
    color: #155724;
    padding: 12px;
    border-radius: 4px;
    border: 1px solid #c3e6cb;
}

.rcp-consulta-error {
    background: #f8d7da;
    color: #721c24;
    padding: 12px;
    border-radius: 4px;
    border: 1px solid #f5c6cb;
}

.rcp-consulta-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.rcp-consulta-submit {
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    transition: opacity 0.2s;
    font-family: var(--font-family-body, inherit);
    background-color: var(--fondo-boton-primario, #2563eb) !important;
    color: var(--texto-boton-primario, #ffffff) !important;
}

.rcp-consulta-cancel {
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    transition: opacity 0.2s;
    font-family: var(--font-family-body, inherit);
    background-color: var(--fondo-boton-secundario, #f0f0f0) !important;
    color: var(--texto-boton-secundario, #333) !important;
}

.rcp-consulta-submit:hover:not(:disabled) {
    opacity: 0.9;
}

.rcp-consulta-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.rcp-consulta-cancel:hover {
    opacity: 0.9;
}

@media (max-width: 768px) {
    .rcp-consulta-modal-content {
        padding: 20px;
        width: 95%;
    }
    
    .rcp-consulta-modal-content h2 {
        font-size: 20px;
    }
}
/* --- FIN MODAL DE CONSULTA POR EMAIL --- */
