/* ==========================================================================
   Directorio Telefónico Cuba Pro — Estilos Frontend
   ========================================================================== */

:root {
    --dtc-red:       #cc0000;
    --dtc-blue:      #0057a8;
    --dtc-blue-dark: #003f7a;
    --dtc-dark:      #1a1a1a;
    --dtc-gray-bg:   #f4f5f7;
    --dtc-gray-line: #e2e4e8;
    --dtc-text:      #222;
    --dtc-muted:     #666;
    --dtc-white:     #fff;
    --dtc-radius:    5px;
}

/* ==========================================================================
   CONTENEDOR — 98% del ancho disponible, sin márgenes ni bordes externos
   ========================================================================== */
.dtc-pro-container {
    width: 98%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    color: var(--dtc-text);
    font-size: 15px;
    line-height: 1.5;
    box-sizing: border-box;
}

/* ==========================================================================
   SECCIÓN DE BÚSQUEDA — sin box-shadow ni bordes, solo acento izquierdo rojo
   ========================================================================== */
.dtc-search-container {
    background: var(--dtc-white);
    padding: 20px 18px;
    margin-bottom: 16px;
}

.dtc-titulo {
    color: var(--dtc-blue);
    text-align: center;
    margin: 0 0 20px;
    font-size: 1.3rem;
    font-weight: 700;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--dtc-gray-line);
    background: none;
    -webkit-text-fill-color: unset;
}

/* ==========================================================================
   FORMULARIOS
   ========================================================================== */
.dtc-form { width: 100%; }

.dtc-form-row {
    display: flex;
    gap: 14px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.dtc-form-group {
    flex: 1;
    min-width: 160px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.dtc-form-group-full { flex: 1 1 100%; }

.dtc-form-group label {
    display: block;
    font-weight: 600;
    color: var(--dtc-muted);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.dtc-form-group input,
.dtc-form-group select,
.dtc-form-group textarea {
    width: 100%;
    padding: 9px 12px;
    border: 2px solid var(--dtc-gray-line);
    border-radius: var(--dtc-radius);
    font-size: .93rem;
    transition: border-color .2s;
    background: var(--dtc-white);
    box-sizing: border-box;
    color: var(--dtc-text);
}

.dtc-form-group input:focus,
.dtc-form-group select:focus,
.dtc-form-group textarea:focus {
    outline: none;
    border-color: var(--dtc-blue);
    box-shadow: 0 0 0 3px rgba(0,87,168,.1);
}

.dtc-form-group textarea { resize: vertical; min-height: 76px; }

/* ==========================================================================
   BOTONES
   ========================================================================== */
.dtc-form-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 18px;
}

.dtc-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 20px;
    border: none;
    border-radius: var(--dtc-radius);
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: opacity .2s, transform .15s;
    color: var(--dtc-white);
}
.dtc-btn:hover { opacity: .87; transform: translateY(-1px); }

.dtc-btn-primary   { background: var(--dtc-blue); }
.dtc-btn-success   { background: #1a8c3a; }
.dtc-btn-danger    { background: var(--dtc-red); }
.dtc-btn-secondary { background: #5a6268; }

.dtc-btn-sm { padding: 5px 10px; font-size: .76rem; font-weight: 600; }

.dtc-btn:disabled { opacity: .5; cursor: not-allowed; transform: none !important; }

/* ==========================================================================
   CATEGORÍAS
   ========================================================================== */
.dtc-categories {
    background: var(--dtc-white);
    padding: 18px;
    margin-bottom: 16px;
}

.dtc-categorias-titulo {
    text-align: left;
    margin: 0 0 14px;
    color: var(--dtc-dark);
    font-size: .95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    padding-bottom: 8px;
    border-bottom: 3px solid var(--dtc-red);
    display: inline-block;
}

.dtc-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.dtc-category { text-decoration: none; color: inherit; }
.dtc-category:hover { text-decoration: none; }

.dtc-category-card {
    background: var(--dtc-gray-bg);
    border: 1px solid var(--dtc-gray-line);
    border-radius: var(--dtc-radius);
    padding: 12px 6px;
    text-align: center;
    transition: border-color .2s, box-shadow .2s, transform .15s;
    cursor: pointer;
}
.dtc-category-card:hover {
    border-color: var(--dtc-blue);
    box-shadow: 0 2px 10px rgba(0,87,168,.12);
    transform: translateY(-2px);
    background: var(--dtc-white);
}
.dtc-category-card i { font-size: 1.6em; color: var(--dtc-blue); margin-bottom: 6px; display: block; }
.dtc-category-card span { display: block; font-weight: 600; color: var(--dtc-text); font-size: .7rem; line-height: 1.3; text-decoration: none; }

/* ==========================================================================
   RESULTADOS — sin bordes externos, sin sombra extra
   ========================================================================== */
.dtc-results-wrapper {
    background: var(--dtc-white);
    margin-top: 16px;
    width: 100%;
    box-sizing: border-box;
}

/* Cabecera: fondo azul, texto BLANCO */
.dtc-results-header {
    background: linear-gradient(90deg, var(--dtc-blue), var(--dtc-blue-dark));
    padding: 13px 16px;
}

.dtc-resultado-titulo {
    margin: 0;
    font-size: .98rem;
    font-weight: 700;
    color: var(--dtc-white);   /* siempre blanco */
    letter-spacing: .2px;
}

/* ==========================================================================
   TABLA
   table-layout:fixed + overflow:hidden + text-overflow:ellipsis en td
   = el texto NUNCA desborda la celda
   ========================================================================== */
.scrollable-div {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

#dtc-table,
.dtc-results-wrapper table {
    width: 100% !important;
    min-width: 100%;
    border-collapse: collapse;
    font-size: .86rem;
    background: var(--dtc-white);
    table-layout: fixed;    /* las columnas respetan el ancho, el texto no desborda */
}

#dtc-table thead th,
.dtc-results-wrapper th {
    background: #f0f4fa;
    color: var(--dtc-dark);
    font-weight: 700;
    padding: 10px 10px;
    text-align: left;
    border-bottom: 2px solid var(--dtc-gray-line);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#dtc-table tbody tr:nth-child(even) td { background: #fafbfd; }
#dtc-table tbody tr:hover         td { background: #eef3fb; }

#dtc-table tbody td,
.dtc-results-wrapper td {
    padding: 8px 10px;
    border-bottom: 1px solid var(--dtc-gray-line);
    vertical-align: middle;
    overflow:      hidden;
    text-overflow: ellipsis;
    white-space:   nowrap;
    max-width:     0;   /* necesario con table-layout:fixed para que ellipsis funcione */
}

/* Anchos de columna — desktop (5 columnas: Nombre, Tel, Dir, Prov, Acciones) */
#dtc-table th:nth-child(1), #dtc-table td:nth-child(1) { width: 30%; }
#dtc-table th:nth-child(2), #dtc-table td:nth-child(2) { width: 17%; }
#dtc-table th:nth-child(3), #dtc-table td:nth-child(3) { width: 30%; }
#dtc-table th:nth-child(4), #dtc-table td:nth-child(4) { width: 13%; }
#dtc-table th:nth-child(5), #dtc-table td:nth-child(5) { width: 10%; }

/* ==========================================================================
   DATATABLES — controles en una sola fila, sin caja anidada
   ========================================================================== */
.dataTables_wrapper {
    padding: 12px 14px;
    box-sizing: border-box;
}

div.dtc-dt-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--dtc-gray-line);
    flex-wrap: wrap;
}

div.dtc-dt-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--dtc-gray-line);
    flex-wrap: wrap;
}

.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label {
    font-size: .83rem;
    color: var(--dtc-muted);
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    white-space: nowrap;
}

.dataTables_wrapper .dataTables_filter input {
    border: 2px solid var(--dtc-gray-line) !important;
    border-radius: var(--dtc-radius) !important;
    padding: 5px 9px !important;
    font-size: .83rem !important;
    outline: none !important;
    width: 160px;
    box-sizing: border-box;
    transition: border-color .2s;
}
.dataTables_wrapper .dataTables_filter input:focus {
    border-color: var(--dtc-blue) !important;
}

.dataTables_wrapper .dataTables_length select {
    border: 2px solid var(--dtc-gray-line) !important;
    border-radius: var(--dtc-radius) !important;
    padding: 4px 7px !important;
    font-size: .83rem !important;
}

.dataTables_wrapper .dataTables_info {
    font-size: .8rem;
    color: var(--dtc-muted);
    margin: 0;
}

/* PAGINACIÓN */
.dataTables_wrapper .dataTables_paginate {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-wrap: wrap;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    display: inline-block !important;
    border-radius: var(--dtc-radius) !important;
    padding: 5px 10px !important;
    font-size: .78rem !important;
    border: 1px solid var(--dtc-gray-line) !important;
    background: var(--dtc-white) !important;
    color: var(--dtc-blue) !important;
    cursor: pointer;
    transition: background .15s, color .15s;
    line-height: 1.4;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--dtc-gray-bg) !important;
    color: var(--dtc-blue-dark) !important;
    border-color: var(--dtc-blue) !important;
}

/* Página activa: azul sólido + texto BLANCO */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--dtc-blue) !important;
    border-color: var(--dtc-blue) !important;
    color: var(--dtc-white) !important;
    font-weight: 700;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    opacity: .35 !important;
    cursor: default;
    color: var(--dtc-muted) !important;
}

/* ==========================================================================
   MODALES
   ========================================================================== */
.dtc-modal {
    display: none;
    position: fixed;
    z-index: 10000;
    inset: 0;
    background-color: rgba(0,0,0,.55);
    backdrop-filter: blur(3px);
    animation: dtcFadeIn .25s ease;
    overflow-y: auto;
    padding: 20px;
    box-sizing: border-box;
}
@keyframes dtcFadeIn { from{opacity:0} to{opacity:1} }

.dtc-modal-content {
    background: var(--dtc-white);
    margin: 30px auto;
    border-radius: var(--dtc-radius);
    width: 100%;
    max-width: 560px;
    max-height: 88vh;
    overflow-y: auto;
    box-shadow: 0 12px 40px rgba(0,0,0,.22);
    animation: dtcSlideIn .25s ease;
}
@keyframes dtcSlideIn { from{opacity:0;transform:translateY(-28px)} to{opacity:1;transform:translateY(0)} }

.dtc-modal-header {
    background: var(--dtc-blue);
    color: var(--dtc-white);
    padding: 15px 20px;
    border-radius: var(--dtc-radius) var(--dtc-radius) 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.dtc-modal-titulo { margin: 0; font-size: 1rem; font-weight: 700; color: var(--dtc-white); }

.dtc-close {
    color: rgba(255,255,255,.85);
    font-size: 1.5rem;
    font-weight: bold;
    cursor: pointer;
    width: 30px; height: 30px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    transition: background .15s, transform .2s;
}
.dtc-close:hover { background: rgba(255,255,255,.2); transform: rotate(90deg); color: var(--dtc-white); }

.dtc-modal form,
.dtc-modal .dtc-form { padding: 20px 22px; }

.dtc-close-modal { background: #5a6268 !important; }

.dtc-info-display {
    background: var(--dtc-gray-bg);
    border: 2px solid var(--dtc-gray-line);
    border-radius: var(--dtc-radius);
    padding: 9px 13px;
    font-weight: 600;
    color: var(--dtc-text);
    font-family: 'Courier New', monospace;
    font-size: .88rem;
}

/* ==========================================================================
   ESTADOS
   ========================================================================== */
.dtc-loading {
    display: inline-block;
    width: 15px; height: 15px;
    border: 2px solid rgba(255,255,255,.4);
    border-radius: 50%;
    border-top-color: #fff;
    animation: dtcSpin .8s linear infinite;
    margin-right: 6px;
    vertical-align: middle;
}
@keyframes dtcSpin { to { transform: rotate(360deg); } }

#dtc-province-group { opacity: 1; transition: opacity .2s; }

.dtc-btn:focus, .dtc-category-card:focus {
    outline: 3px solid rgba(0,87,168,.4);
    outline-offset: 2px;
}

.sr-only {
    position: absolute !important;
    width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important;
    overflow: hidden !important; clip: rect(0,0,0,0) !important;
    white-space: nowrap !important; border: 0 !important;
}

/* ==========================================================================
   TABLET  ≤ 768px
   ========================================================================== */
@media (max-width: 768px) {
    .dtc-search-container,
    .dtc-categories { padding: 14px; }

    .dtc-titulo { font-size: 1.1rem; }

    .dtc-form-row { flex-direction: column; gap: 10px; }
    .dtc-form-group { min-width: unset; }

    .dtc-form-actions { flex-direction: column; align-items: stretch; }
    .dtc-btn { width: 100%; justify-content: center; }

    .dtc-category-grid { grid-template-columns: repeat(3, 1fr); gap: 7px; }
    .dtc-category-card { padding: 10px 4px; }
    .dtc-category-card i { font-size: 1.35em; }

    .dtc-modal-content { width: 98%; margin: 10px auto; }
    .dtc-modal form, .dtc-modal .dtc-form { padding: 14px; }

    .dataTables_wrapper { padding: 10px; }

    div.dtc-dt-controls { flex-direction: column; align-items: flex-start; gap: 8px; }

    .dataTables_wrapper .dataTables_filter input { width: 100% !important; }
    .dataTables_wrapper .dataTables_filter label { flex-direction: column; align-items: flex-start; width: 100%; gap: 4px; }
}

/* ==========================================================================
   MÓVIL  ≤ 500px
   Se ocultan Dirección y Provincia → Nombre + Teléfono legibles al 100%
   ========================================================================== */
@media (max-width: 500px) {
    .dtc-titulo { font-size: .98rem; }

    .dtc-category-grid { grid-template-columns: repeat(3, 1fr); gap: 6px; }
    .dtc-category-card span { font-size: .64rem; }

    /* Ocultar columnas 3 (Dirección) y 4 (Provincia) */
    #dtc-table th:nth-child(3),
    #dtc-table td:nth-child(3),
    #dtc-table th:nth-child(4),
    #dtc-table td:nth-child(4) { display: none; }

    /* Redistribuir: Nombre 50%, Teléfono 32%, Acciones 18% */
    #dtc-table th:nth-child(1), #dtc-table td:nth-child(1) { width: 50%; }
    #dtc-table th:nth-child(2), #dtc-table td:nth-child(2) { width: 32%; }
    #dtc-table th:nth-child(5), #dtc-table td:nth-child(5) { width: 18%; }

    #dtc-table thead th,
    #dtc-table tbody td { padding: 7px 6px; font-size: .79rem; }

    #dtc-table .dtc-btn-sm { padding: 4px 5px; font-size: .69rem; }

    .dtc-modal-content { margin: 4px auto; max-height: 96vh; }

    .dataTables_wrapper { padding: 8px 6px; }

    div.dtc-dt-controls,
    div.dtc-dt-footer { flex-direction: column; align-items: flex-start; gap: 6px; }

    .dataTables_wrapper .dataTables_filter input { width: 100% !important; }
    .dataTables_wrapper .dataTables_filter label { flex-direction: column; align-items: flex-start; width: 100%; gap: 4px; }
    .dataTables_wrapper .dataTables_paginate .paginate_button { padding: 4px 8px !important; font-size: .74rem !important; }
}

/* ==========================================================================
   OVERRIDES DE CONFLICTO CON post-style2.css
   Selectores más específicos para ganar la cascada sin tocar el post-style.
   ========================================================================== */

/* El post-style aplica border-left rojo y color oscuro a .entry-content h1/h2.
   El h2 del plugin vive dentro de .dtc-search-container → lo protegemos. */
.entry-content .dtc-titulo,
.dtc-titulo {
    border-left: none !important;
    padding-left: 0 !important;
    color: var(--dtc-blue) !important;
    background: none !important;
    -webkit-text-fill-color: var(--dtc-blue) !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    margin: 0 0 20px !important;
    text-align: center !important;
}

/* h3 de Categorías Populares */
.entry-content .dtc-categorias-titulo,
.dtc-categorias-titulo {
    border-left: none !important;
    padding-left: 0 !important;
    color: var(--dtc-dark) !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    border-bottom: 3px solid var(--dtc-red) !important;
    display: inline-block !important;
    padding-bottom: 8px !important;
}

/* h4 de resultados — "Se encontraron X resultados" — SIEMPRE blanco */
.entry-content .dtc-resultado-titulo,
.dtc-resultado-titulo,
.dtc-results-wrapper .dtc-resultado-titulo {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-left: none !important;
    padding-left: 0 !important;
    font-size: .98rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    background: none !important;
}

/* Paginación: botón activo (azul) → texto BLANCO; el post-style podría forzar color oscuro */
.entry-content .dataTables_paginate .paginate_button.current,
.dtc-results-wrapper .dataTables_paginate .paginate_button.current,
.dataTables_paginate .paginate_button.current,
.dataTables_paginate .paginate_button.current:hover {
    background: var(--dtc-blue) !important;
    border-color: var(--dtc-blue) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 700 !important;
}

/* Botones Anterior/Siguiente — texto azul sobre blanco */
.entry-content .dataTables_paginate .paginate_button,
.dtc-results-wrapper .dataTables_paginate .paginate_button {
    color: var(--dtc-blue) !important;
    -webkit-text-fill-color: var(--dtc-blue) !important;
}

/* Disabled */
.dataTables_paginate .paginate_button.disabled,
.dataTables_paginate .paginate_button.disabled:hover {
    opacity: .35 !important;
    color: var(--dtc-muted) !important;
    -webkit-text-fill-color: var(--dtc-muted) !important;
    background: var(--dtc-white) !important;
    cursor: default !important;
}

/* El post-style puede colorear los <a> dentro de .entry-content.
   Los botones del plugin no deben heredar ese color azul/subrayado. */
.entry-content .dtc-btn,
.entry-content .dtc-btn:hover {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
}

/* Cabecera resultados: fondo azul degradado, sin interferencias */
.dtc-results-header,
.dtc-results-header {
    background: linear-gradient(90deg, var(--dtc-blue), var(--dtc-blue-dark)) !important;
    color: #ffffff !important;
}

/* ==========================================================================
   FIX DEFINITIVO — línea roja del post-style en h2
   El post-style aplica border-left al .entry-content h2.
   Usamos todos los selectores posibles + !important para ganar.
   ========================================================================== */

/* Neutralizar border-left rojo en CUALQUIER heading dentro del plugin */
.dtc-pro-container h1,
.dtc-pro-container h2,
.dtc-pro-container h3,
.dtc-pro-container h4,
.dtc-pro-container h5,
.dtc-pro-container h6,
.entry-content .dtc-pro-container h1,
.entry-content .dtc-pro-container h2,
.entry-content .dtc-pro-container h3,
.entry-content .dtc-pro-container h4,
.entry-content .dtc-pro-container h5,
.entry-content .dtc-pro-container h6 {
    border-left: none !important;
    border: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Re-aplicar los estilos propios del plugin después del reset */
.dtc-pro-container .dtc-titulo,
.entry-content .dtc-pro-container .dtc-titulo {
    color: var(--dtc-blue) !important;
    -webkit-text-fill-color: var(--dtc-blue) !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin: 0 0 20px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--dtc-gray-line) !important;
}

.dtc-pro-container .dtc-categorias-titulo,
.entry-content .dtc-pro-container .dtc-categorias-titulo {
    color: var(--dtc-dark) !important;
    -webkit-text-fill-color: var(--dtc-dark) !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .6px !important;
    padding-bottom: 8px !important;
    border-bottom: 3px solid var(--dtc-red) !important;
    display: inline-block !important;
    margin: 0 0 14px !important;
}

.dtc-pro-container .dtc-resultado-titulo,
.entry-content .dtc-pro-container .dtc-resultado-titulo {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: .98rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* ==========================================================================
   COMUNIDAD: estadísticas públicas, reportes y cards móviles
   ========================================================================== */
.dtc-public-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 18px;
}

.dtc-public-stat-card {
    background: #fff;
    border: 1px solid var(--dtc-gray-line);
    border-radius: 10px;
    padding: 13px 10px;
    text-align: center;
    border-top: 4px solid var(--dtc-blue);
}

.dtc-public-stat-card strong {
    display: block;
    color: var(--dtc-dark);
    font-size: 1.35rem;
    line-height: 1.1;
    font-weight: 800;
}

.dtc-public-stat-card span {
    display: block;
    margin-top: 5px;
    color: var(--dtc-muted);
    font-size: .74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .35px;
}

.dtc-public-stat-warning { border-top-color: #f0ad00; }
.dtc-public-stat-danger { border-top-color: var(--dtc-red); }
.dtc-public-stat-success { border-top-color: #1a8c3a; }
.dtc-public-stat-info { border-top-color: var(--dtc-blue); }

.dtc-result-cards { display: none; }

.dtc-number-report-box {
    margin-top: 8px;
    border: 1px solid #dbe4f0;
    background: #f8fbff;
    border-radius: 8px;
    padding: 9px 10px;
    white-space: normal;
}

.dtc-number-report-risk {
    border-color: #f1b8b8;
    background: #fff7f7;
}

.dtc-number-report-title {
    color: var(--dtc-dark);
    font-size: .82rem;
    font-weight: 800;
    margin-bottom: 6px;
}

.dtc-number-report-risk .dtc-number-report-title { color: var(--dtc-red); }

.dtc-report-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.dtc-report-badge,
.dtc-report-clean {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 7px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.2;
    background: #eef3fb;
    color: var(--dtc-blue-dark);
    white-space: nowrap;
}

.dtc-report-motive-estafa,
.dtc-report-motive-spam,
.dtc-report-motive-molesto,
.dtc-report-motive-otro {
    background: #ffe6e6;
    color: #9f1111;
}

.dtc-report-clean {
    background: #e9f7ef;
    color: #176b35;
}

.dtc-report-note {
    margin: 7px 0 5px;
    color: var(--dtc-muted);
    font-size: .76rem;
}

.dtc-report-list {
    margin: 6px 0 0 18px;
    padding: 0;
    color: var(--dtc-text);
    font-size: .78rem;
}

.dtc-report-list li { margin-bottom: 4px; }

.dtc-number-report-compact {
    min-width: 118px;
}

.dtc-number-report-compact .dtc-number-report-title {
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0 0 6px;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    font: inherit;
}

.dtc-number-report-compact .dtc-number-report-title:hover,
.dtc-number-report-compact .dtc-number-report-title:focus {
    text-decoration: none;
    outline: none;
}

.dtc-report-toggle-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #fff;
    color: #9f1111;
    border: 1px solid rgba(183, 0, 0, .25);
    font-size: .62rem;
    font-weight: 900;
    white-space: nowrap;
}

.dtc-report-details-panel {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(183, 0, 0, .18);
}

.dtc-report-list li strong {
    display: inline-block;
    margin-right: 4px;
}

.dtc-report-list li em {
    font-style: normal;
    color: var(--dtc-muted);
    font-size: .72rem;
    font-weight: 700;
}

.dtc-report-list li span {
    display: block;
    margin-top: 3px;
    color: #263238;
    line-height: 1.38;
}

.dtc-report-clean-card {
    margin-top: 10px;
    padding: 9px 10px;
    border-radius: 8px;
    background: #e9f7ef;
    color: #176b35;
    font-size: .82rem;
    font-weight: 700;
}

.dtc-no-number-card {
    padding: 18px;
    border: 1px solid var(--dtc-gray-line);
    border-top: 0;
    background: #fff;
}

.dtc-no-number-phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #eef3fb;
    color: var(--dtc-blue-dark);
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: 10px;
}

.dtc-no-number-card p {
    margin: 0 0 12px;
    color: var(--dtc-muted);
}

.dtc-no-number-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

/* La tabla de escritorio puede mostrar una columna de reportes sin cortar textos importantes. */
.dtc-desktop-results #dtc-table,
.dtc-desktop-results .dtc-results-wrapper table {
    table-layout: auto !important;
}

.dtc-desktop-results #dtc-table tbody td,
.dtc-desktop-results .dtc-results-wrapper td {
    white-space: normal !important;
    max-width: none !important;
}

.dtc-result-card {
    border: 1px solid var(--dtc-gray-line);
    border-radius: 12px;
    padding: 13px;
    margin: 12px 0;
    background: #fff;
}

.dtc-result-card-header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 10px;
}

.dtc-result-label,
.dtc-result-card-row span {
    display: block;
    color: var(--dtc-muted);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .35px;
    margin-bottom: 2px;
}

.dtc-result-card h3 {
    margin: 0 !important;
    color: var(--dtc-dark) !important;
    -webkit-text-fill-color: var(--dtc-dark) !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

.dtc-type-pill {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--dtc-blue);
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
}

.dtc-result-card-phone {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    background: #eef3fb;
    border-radius: 8px;
    color: var(--dtc-blue-dark);
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: 10px;
}

.dtc-result-card-row {
    border-top: 1px solid var(--dtc-gray-line);
    padding-top: 9px;
    margin-top: 9px;
}

.dtc-result-card-row p {
    margin: 0;
    color: var(--dtc-text);
    font-size: .88rem;
    line-height: 1.4;
}

.dtc-result-card-actions { margin-top: 12px; }

@media (max-width: 768px) {
    .dtc-public-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dtc-public-stat-card strong { font-size: 1.15rem; }
}

@media (max-width: 600px) {
    .dtc-desktop-results { display: none !important; }
    .dtc-result-cards { display: block; padding: 10px; }
    .dtc-no-number-actions { flex-direction: column; }
    .dtc-no-number-card { padding: 14px; }
}

@media (max-width: 420px) {
    .dtc-public-stats { grid-template-columns: 1fr 1fr; gap: 7px; }
    .dtc-public-stat-card { padding: 10px 6px; }
    .dtc-public-stat-card strong { font-size: 1rem; }
    .dtc-public-stat-card span { font-size: .62rem; }
}

/* ==========================================================================
   v2.5.1 Comunidad: estadísticas después de categorías y resultados responsive
   ========================================================================== */
.dtc-pro-container .dtc-community-stats-section{margin:24px 0 18px;padding:0 0 4px;}
.dtc-pro-container .dtc-community-stats-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:1.05rem;font-weight:900;color:var(--dtc-dark);}
.dtc-pro-container .dtc-community-stats-title:before{content:"";width:4px;height:22px;border-radius:6px;background:var(--dtc-red);display:inline-block;}
.dtc-pro-container .dtc-public-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important;margin:0!important;clear:both;}
.dtc-pro-container .dtc-public-stat-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%)!important;border:1px solid #dfe8f4!important;border-radius:14px!important;padding:16px 14px 15px!important;text-align:left!important;box-shadow:0 8px 22px rgba(0,57,115,.08)!important;border-top:0!important;min-height:92px;}
.dtc-pro-container .dtc-public-stat-card:after{content:"";position:absolute;right:-24px;top:-24px;width:74px;height:74px;border-radius:50%;background:rgba(0,87,168,.08);}
.dtc-pro-container .dtc-public-stat-icon{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:9px;background:#eef5ff;color:var(--dtc-blue);font-size:.9rem;}
.dtc-pro-container .dtc-public-stat-card strong{display:block!important;color:var(--dtc-dark)!important;font-size:1.55rem!important;line-height:1!important;font-weight:900!important;letter-spacing:-.02em;}
.dtc-pro-container .dtc-public-stat-card span.dtc-public-stat-label{display:block!important;margin-top:6px!important;color:#526071!important;font-size:.72rem!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.35px!important;line-height:1.25!important;}
.dtc-pro-container .dtc-public-stat-warning .dtc-public-stat-icon{background:#fff5d8;color:#a56c00;}
.dtc-pro-container .dtc-public-stat-danger .dtc-public-stat-icon{background:#ffe9e9;color:#b70000;}
.dtc-pro-container .dtc-public-stat-success .dtc-public-stat-icon{background:#e8f7ee;color:#137136;}
.dtc-pro-container .dtc-public-stat-info .dtc-public-stat-icon{background:#eef5ff;color:var(--dtc-blue);}
.dtc-pro-container .dtc-result-cards{display:none!important;}
@media(max-width:768px){.dtc-pro-container .dtc-public-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.dtc-pro-container .dtc-public-stat-card strong{font-size:1.28rem!important;}}
@media(max-width:600px){.dtc-pro-container .dtc-desktop-results{display:none!important;}.dtc-pro-container .dtc-result-cards{display:block!important;padding:10px 0;}}
@media(max-width:420px){.dtc-pro-container .dtc-public-stats{grid-template-columns:1fr 1fr;gap:8px!important;}.dtc-pro-container .dtc-public-stat-card{padding:12px 10px!important;min-height:86px;}.dtc-pro-container .dtc-public-stat-card strong{font-size:1.12rem!important;}.dtc-pro-container .dtc-public-stat-card span.dtc-public-stat-label{font-size:.62rem!important;}}


/* v2.5.4: botones dinámicos en cards móviles y número no encontrado */
.dtc-result-card-actions .dtc-btn,
.dtc-no-number-actions .dtc-btn,
.dtc-open-report-number,
.dtc-open-suggest-number {
    position: relative;
    z-index: 3;
    pointer-events: auto !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0,87,168,.16);
}
.dtc-modal.dtc-modal-open,
body > .dtc-modal.dtc-modal-open {
    display: block !important;
    z-index: 2147483000 !important;
}
body.modal-open {
    overflow: hidden !important;
}


/* v2.5.6: evitar que el theme ponga en blanco los reportes al pasar el mouse */
.dtc-pro-container .dtc-number-report-compact .dtc-number-report-title,
.dtc-pro-container .dtc-number-report-compact .dtc-number-report-title:hover,
.dtc-pro-container .dtc-number-report-compact .dtc-number-report-title:focus,
.dtc-pro-container .dtc-number-report-compact .dtc-number-report-title:active {
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
    outline: none !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
}

.dtc-pro-container .dtc-number-report-risk .dtc-number-report-title,
.dtc-pro-container .dtc-number-report-risk .dtc-number-report-title:hover,
.dtc-pro-container .dtc-number-report-risk .dtc-number-report-title:focus,
.dtc-pro-container .dtc-number-report-risk .dtc-number-report-title:active {
    color: #b70000 !important;
    -webkit-text-fill-color: #b70000 !important;
}

.dtc-pro-container .dtc-number-report-title *,
.dtc-pro-container .dtc-number-report-title:hover *,
.dtc-pro-container .dtc-number-report-title:focus *,
.dtc-pro-container .dtc-number-report-title:active * {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

.dtc-pro-container .dtc-report-toggle-action,
.dtc-pro-container .dtc-report-toggle-action:hover,
.dtc-pro-container .dtc-report-toggle-action:focus,
.dtc-pro-container .dtc-report-toggle-action:active {
    background: #ffffff !important;
    color: #9a0000 !important;
    -webkit-text-fill-color: #9a0000 !important;
    border-color: rgba(183,0,0,.25) !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.dtc-pro-container .dtc-report-badge:hover {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}


/* v2.5.7: alertas posibles para reportes pendientes, sin publicar descripciones */
.dtc-number-report-pending {
    border-color: #f2c46d !important;
    background: #fffaf0 !important;
}

.dtc-number-report-pending .dtc-number-report-title,
.dtc-number-report-pending .dtc-number-report-title:hover,
.dtc-number-report-pending .dtc-number-report-title:focus,
.dtc-number-report-pending .dtc-number-report-title:active {
    color: #8a5a00 !important;
    -webkit-text-fill-color: #8a5a00 !important;
}

.dtc-report-pending-badge {
    background: #fff1cc !important;
    color: #7a4d00 !important;
    border: 1px solid rgba(181, 118, 0, .18) !important;
}

.dtc-report-pending-note {
    margin: 8px 0 0;
    padding: 9px 10px;
    border-radius: 8px;
    background: #fff7e6;
    color: #765100;
    border: 1px solid rgba(181, 118, 0, .22);
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.4;
}

.dtc-report-title-extra {
    display: inline-block;
    margin-top: 2px;
    color: #8a5a00 !important;
    -webkit-text-fill-color: #8a5a00 !important;
    font-size: .72rem;
    font-weight: 900;
}


/* v2.5.8: botones móviles reforzados y número clicable para llamada */
.dtc-pro-container .dtc-phone-call-link,
.dtc-pro-container .dtc-phone-call-link:hover,
.dtc-pro-container .dtc-phone-call-link:focus,
.dtc-pro-container .dtc-phone-call-link:active {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--dtc-blue) !important;
    -webkit-text-fill-color: var(--dtc-blue) !important;
    text-decoration: none !important;
    font-weight: 900;
    cursor: pointer;
    touch-action: manipulation;
}
.dtc-pro-container .dtc-phone-call-link code {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    background: #eef5ff;
    border: 1px solid #d9e8fb;
    border-radius: 6px;
    padding: 3px 6px;
    font-weight: 900;
}
.dtc-pro-container .dtc-result-card-phone .dtc-phone-call-link {
    font-size: 1rem;
}
.dtc-pro-container .dtc-result-card-actions .dtc-btn,
.dtc-pro-container .dtc-no-number-actions .dtc-btn,
.dtc-pro-container .dtc-open-report-number,
.dtc-pro-container .dtc-open-suggest-number {
    position: relative;
    z-index: 20;
    pointer-events: auto !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0,87,168,.16);
}

/* ========================================================================== 
   NÚMEROS BAJO PRECAUCIÓN — reportes aprobados
   ========================================================================== */
.dtc-pro-container .dtc-precaution-section{
    margin:18px 0 22px;
    padding:18px;
    background:linear-gradient(135deg,#fff 0%,#fff8f8 100%);
    border:1px solid #f0d6d6;
    border-radius:16px;
    box-shadow:0 8px 24px rgba(183,0,0,.06);
}
.dtc-pro-container .dtc-precaution-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px;}
.dtc-pro-container .dtc-precaution-title{display:flex;align-items:center;gap:8px;margin:0 0 5px;font-size:1.05rem;font-weight:900;color:#111827;}
.dtc-pro-container .dtc-precaution-title:before{content:"";width:4px;height:22px;border-radius:6px;background:var(--dtc-red);display:inline-block;}
.dtc-pro-container .dtc-precaution-header p{margin:0;color:#5f6b7a;font-size:.86rem;line-height:1.42;font-weight:600;}
.dtc-pro-container .dtc-precaution-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;background:#fff;color:#9a0000;border:1px solid rgba(183,0,0,.18);border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:900;white-space:nowrap;}
.dtc-pro-container .dtc-precaution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.dtc-pro-container .dtc-precaution-card{background:#fff;border:1px solid #eadfe4;border-radius:14px;padding:14px;box-shadow:0 8px 20px rgba(0,57,115,.06);}
.dtc-pro-container .dtc-precaution-card-risk{border-color:rgba(183,0,0,.28);background:linear-gradient(135deg,#fff 0%,#fff7f7 100%);}
.dtc-pro-container .dtc-precaution-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:6px;}
.dtc-pro-container .dtc-precaution-label{display:inline-flex;border-radius:999px;background:#eef5ff;color:var(--dtc-blue);padding:3px 8px;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.35px;margin-bottom:7px;}
.dtc-pro-container .dtc-precaution-number{font-weight:900;font-size:1rem;line-height:1.2;}
.dtc-pro-container .dtc-precaution-card-top strong{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:#ffe9e9;color:#9a0000;font-size:.95rem;font-weight:900;}
.dtc-pro-container .dtc-precaution-count{color:#111827;font-size:.82rem;font-weight:900;margin:4px 0 8px;}
.dtc-pro-container .dtc-precaution-motives{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.dtc-pro-container .dtc-precaution-motives span{display:inline-flex;border-radius:999px;background:#fff1f1;color:#9a0000;border:1px solid rgba(183,0,0,.14);padding:4px 7px;font-size:.68rem;font-weight:900;line-height:1.2;}
.dtc-pro-container .dtc-precaution-date{color:#667085;font-size:.72rem;font-weight:700;margin:7px 0 11px;}
.dtc-pro-container .dtc-precaution-card .dtc-btn{width:100%;justify-content:center;position:relative;z-index:20;pointer-events:auto!important;touch-action:manipulation;}
.dtc-pro-container .dtc-precaution-empty{display:flex;align-items:center;gap:8px;padding:13px;border-radius:12px;background:#f0faf4;color:#137136;border:1px solid rgba(19,113,54,.16);font-weight:800;}
@media(max-width:768px){.dtc-pro-container .dtc-precaution-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.dtc-pro-container .dtc-precaution-header{flex-direction:column;}.dtc-pro-container .dtc-precaution-pill{align-self:flex-start;}}
@media(max-width:600px){.dtc-pro-container .dtc-precaution-grid{grid-template-columns:1fr;}.dtc-pro-container .dtc-precaution-section{padding:14px;}}

/* DTC cache bust: 2.5.10-20260710-cache-bust-botones */

/* v2.6.0 - Aviso de números sugeridos por usuarios */
.dtc-pro-container .dtc-unverified-number-badge,
.dtc-results-wrapper .dtc-unverified-number-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:6px;
  padding:6px 9px;
  border-radius:999px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  white-space:normal;
}
.dtc-result-card .dtc-unverified-number-badge{
  display:flex;
  justify-content:center;
  margin:8px 0 10px;
  border-radius:12px;
}

/* ========================================================================== 
   Preguntas frecuentes y enlaces internos — v2.8.0
   ========================================================================== */
.dtc-pro-container .dtc-faq-section{
    margin:24px 0 12px;
    padding:20px;
    background:#fff;
    border:1px solid #dbe6f2;
    border-radius:16px;
    box-shadow:0 8px 24px rgba(0,57,115,.07);
    scroll-margin-top:90px;
}
.dtc-pro-container .dtc-faq-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:15px;}
.dtc-pro-container .dtc-faq-header h2{margin:0 0 6px;font-size:1.15rem;line-height:1.3;color:#111827;font-weight:900;}
.dtc-pro-container .dtc-faq-header p{margin:0;max-width:800px;color:#5f6b7a;font-size:.88rem;line-height:1.55;font-weight:600;}
.dtc-pro-container .dtc-faq-count{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eef5ff;color:var(--dtc-blue);border:1px solid #d6e7fb;font-size:.75rem;font-weight:900;}
.dtc-pro-container .dtc-faq-list{border-top:1px solid #e4eaf0;}
.dtc-pro-container .dtc-faq-item{border-bottom:1px solid #e4eaf0;}
.dtc-pro-container .dtc-faq-item-extra{display:none;}
.dtc-pro-container .dtc-faq-item-extra.is-visible-extra{display:block;}
.dtc-pro-container .dtc-faq-item h3{margin:0!important;padding:0!important;font-size:inherit!important;}
.dtc-pro-container .dtc-faq-question,
.dtc-pro-container .dtc-faq-question:hover,
.dtc-pro-container .dtc-faq-question:focus,
.dtc-pro-container .dtc-faq-question:active{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;
    margin:0;padding:15px 2px;border:0!important;background:transparent!important;
    color:#152033!important;-webkit-text-fill-color:#152033!important;text-align:left;
    font:inherit;font-size:.92rem;font-weight:850;line-height:1.4;box-shadow:none!important;
    cursor:pointer;text-decoration:none!important;
}
.dtc-pro-container .dtc-faq-question span{color:inherit!important;-webkit-text-fill-color:inherit!important;}
.dtc-pro-container .dtc-faq-question i{color:var(--dtc-blue)!important;-webkit-text-fill-color:var(--dtc-blue)!important;transition:transform .18s ease;}
.dtc-pro-container .dtc-faq-question[aria-expanded="true"] i{transform:rotate(180deg);}
.dtc-pro-container .dtc-faq-item.is-open .dtc-faq-question{color:var(--dtc-blue)!important;-webkit-text-fill-color:var(--dtc-blue)!important;}
.dtc-pro-container .dtc-faq-answer{padding:0 2px 15px;color:#445063;font-size:.88rem;line-height:1.65;}
.dtc-pro-container .dtc-faq-answer[hidden]{display:none!important;}
.dtc-pro-container .dtc-faq-answer p{margin:0 0 10px;}
.dtc-pro-container .dtc-faq-answer p:last-child{margin-bottom:0;}
.dtc-pro-container .dtc-faq-answer a{color:var(--dtc-blue);font-weight:800;text-decoration:underline;text-underline-offset:2px;}
.dtc-pro-container .dtc-faq-more-wrap{text-align:center;margin:16px 0 4px;}
.dtc-pro-container .dtc-faq-more{min-width:210px;justify-content:center;}
.dtc-pro-container .dtc-helpful-links{margin-top:20px;padding-top:18px;border-top:1px solid #e4eaf0;}
.dtc-pro-container .dtc-helpful-links-title{margin-bottom:10px;color:#111827;font-size:.94rem;font-weight:900;}
.dtc-pro-container .dtc-helpful-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.dtc-pro-container .dtc-helpful-links-grid a,
.dtc-pro-container .dtc-helpful-links-grid a:hover,
.dtc-pro-container .dtc-helpful-links-grid a:focus{
    display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:12px 13px;
    background:#f8fbff;border:1px solid #dce8f5;border-radius:11px;color:#1f3650!important;
    -webkit-text-fill-color:#1f3650!important;text-decoration:none!important;font-size:.83rem;font-weight:850;
    box-shadow:none!important;transition:transform .15s ease,border-color .15s ease,background .15s ease;
}
.dtc-pro-container .dtc-helpful-links-grid a:hover{transform:translateY(-1px);background:#eef6ff;border-color:#bdd8f4;}
.dtc-pro-container .dtc-helpful-links-grid a>i:first-child{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#e7f1fd;color:var(--dtc-blue)!important;-webkit-text-fill-color:var(--dtc-blue)!important;}
.dtc-pro-container .dtc-helpful-link-arrow{font-size:.72rem;color:#718096!important;-webkit-text-fill-color:#718096!important;}
@media(max-width:600px){
    .dtc-pro-container .dtc-faq-section{padding:15px;margin-top:18px;}
    .dtc-pro-container .dtc-faq-header{flex-direction:column;gap:10px;}
    .dtc-pro-container .dtc-faq-count{align-self:flex-start;}
    .dtc-pro-container .dtc-faq-question{padding:14px 0;font-size:.88rem;}
    .dtc-pro-container .dtc-helpful-links-grid{grid-template-columns:1fr;}
}


/* Validación y ayudas del formulario de sugerencias v2.8.1 */
.dtc-pro-container .dtc-form-required-note{
    margin:0 0 14px;
    padding:9px 11px;
    border-radius:8px;
    background:#f6f9fc;
    color:#526174;
    font-size:.78rem;
    line-height:1.4;
}
.dtc-pro-container .dtc-required-marker{color:#b42318;font-weight:900;}
.dtc-pro-container .dtc-field-help{
    display:block;
    margin-top:6px;
    color:#667085;
    font-size:.76rem;
    line-height:1.45;
}
.dtc-pro-container #suggest-province-group{display:none;}
.dtc-pro-container #dtc-suggest-form input:invalid:not(:placeholder-shown),
.dtc-pro-container #dtc-suggest-form textarea:invalid:not(:placeholder-shown),
.dtc-pro-container #dtc-suggest-form select:invalid{
    border-color:#d0d5dd;
    box-shadow:none;
}

/* Errores visibles dentro de formularios — v2.8.3 */
#dtc-suggest-modal .dtc-form-feedback,
#dtc-report-modal .dtc-form-feedback{
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid transparent;
    border-radius:9px;
    font-size:.84rem;
    line-height:1.45;
    font-weight:700;
}
#dtc-suggest-modal .dtc-form-feedback[hidden],
#dtc-report-modal .dtc-form-feedback[hidden]{display:none!important;}
#dtc-suggest-modal .dtc-form-feedback.is-error,
#dtc-report-modal .dtc-form-feedback.is-error{background:#fff1f0;border-color:#f2b8b5;color:#9f1d17;}
#dtc-suggest-modal .dtc-form-feedback.is-info,
#dtc-report-modal .dtc-form-feedback.is-info{background:#eef6ff;border-color:#b9d7f5;color:#174d7d;}
#dtc-suggest-modal .dtc-form-feedback.is-success,
#dtc-report-modal .dtc-form-feedback.is-success{background:#ecf8f0;border-color:#b8e2c4;color:#176b35;}
#dtc-suggest-modal .dtc-form-feedback-actions,
#dtc-report-modal .dtc-form-feedback-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
#dtc-suggest-modal .dtc-form-feedback-actions .dtc-btn,
#dtc-report-modal .dtc-form-feedback-actions .dtc-btn{font-size:.78rem;padding:8px 11px;}
#dtc-suggest-modal .dtc-input-error,
#dtc-report-modal .dtc-input-error{
    border-color:#d92d20!important;
    box-shadow:0 0 0 2px rgba(217,45,32,.12)!important;
    background:#fffafa!important;
}
#dtc-suggest-modal .dtc-field-error-message,
#dtc-report-modal .dtc-field-error-message{
    display:block;
    margin-top:6px;
    color:#b42318;
    font-size:.75rem;
    font-weight:750;
    line-height:1.4;
}
#dtc-suggest-modal .dtc-form-group-error>label,
#dtc-report-modal .dtc-form-group-error>label{color:#9f1d17;}
