/* Alex Sosa — Denuncias Ciudadanas Pro */
.asdc-shell,
.asdc-account,
.asdc-modal {
  --asdc-red:#f11a35;
  --asdc-red-dark:#c90f28;
  --asdc-navy:#1b1b51;
  --asdc-ink:#141414;
  --asdc-muted:#62646b;
  --asdc-line:#e1e2e6;
  --asdc-soft:#f7f7f9;
  color:var(--asdc-ink);
  font-family:inherit;
}

.asdc-shell{max-width:980px;margin:0 auto}
.asdc-shell-narrow{max-width:680px}
.asdc-intro{border-top:5px solid var(--asdc-red);padding:26px 0 22px}
.asdc-intro>span{color:var(--asdc-red);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.asdc-intro h2,.asdc-panel-title h2{margin:7px 0 10px;color:var(--asdc-navy);font-size:clamp(30px,5vw,50px);line-height:1.04;letter-spacing:-.04em}
.asdc-intro p,.asdc-panel-title p{margin:0;color:var(--asdc-muted);font-size:17px}

.asdc-form{display:grid;gap:20px}
.asdc-form fieldset{min-width:0;margin:0;padding:23px;border:1px solid var(--asdc-line);background:#fff}
.asdc-form legend{padding:0 8px;color:var(--asdc-navy);font-size:18px;font-weight:800}
.asdc-grid{display:grid;gap:16px}
.asdc-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.asdc-grid-otp{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.asdc-field{display:grid;gap:7px;margin-bottom:16px}
.asdc-field:last-child{margin-bottom:0}
.asdc-field label{font-size:14px;font-weight:750}
.asdc-field label span,.asdc-field small{color:var(--asdc-muted);font-weight:400}
.asdc-field input,.asdc-field select,.asdc-field textarea{
  width:100%;min-height:48px;padding:11px 13px;border:1px solid #cfd1d7;border-radius:6px;background:#fff;color:var(--asdc-ink);font:inherit
}
.asdc-field textarea{resize:vertical}
.asdc-field input:focus,.asdc-field select:focus,.asdc-field textarea:focus{
  outline:3px solid rgba(241,26,53,.18);outline-offset:1px;border-color:var(--asdc-red)
}
.asdc-check{display:flex;align-items:flex-start;gap:10px;margin:10px 0;font-size:14px}
.asdc-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--asdc-red)}
.asdc-primary,.asdc-secondary{
  min-height:48px;padding:11px 18px;border-radius:6px;font:inherit;font-weight:800;cursor:pointer;transition:.25s ease
}
.asdc-primary{border:1px solid var(--asdc-red);background:var(--asdc-red);color:#fff}
.asdc-primary:hover{background:var(--asdc-red-dark);border-color:var(--asdc-red-dark);transform:translateY(-2px)}
.asdc-secondary{border:1px solid var(--asdc-red);background:#fff;color:var(--asdc-red)}
.asdc-secondary:hover{background:#fff1f3}
.asdc-primary:disabled,.asdc-secondary:disabled{opacity:.65;cursor:not-allowed;transform:none}
.asdc-alert{max-width:980px;margin:0 auto 18px;padding:14px 16px;border-left:5px solid}
.asdc-alert-success{border-color:#16794d;background:#edf9f3;color:#105a3a}
.asdc-alert-error{border-color:var(--asdc-red);background:#fff0f2;color:#9f1124}
.asdc-otp-message,.asdc-file-message{color:var(--asdc-muted);font-size:13px}
.asdc-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.asdc-account{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;max-width:1180px;margin:0 auto}
.asdc-account-nav{align-self:start;border:1px solid var(--asdc-line);background:#fff}
.asdc-account-user{display:grid;gap:3px;padding:20px;background:var(--asdc-navy);color:#fff}
.asdc-account-user span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.asdc-account-nav nav{display:grid}
.asdc-account-nav nav a{padding:14px 18px;border-bottom:1px solid var(--asdc-line);color:var(--asdc-navy);font-weight:700;text-decoration:none}
.asdc-account-nav nav a:hover,.asdc-account-nav nav a.is-active{background:var(--asdc-red);color:#fff}
.asdc-account-content{min-width:0}
.asdc-panel-title{margin-bottom:22px}
.asdc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.asdc-stats article{display:grid;gap:5px;padding:22px;border-top:4px solid var(--asdc-red);background:var(--asdc-soft)}
.asdc-stats strong{color:var(--asdc-navy);font-size:32px;line-height:1}
.asdc-stats span{color:var(--asdc-muted)}
.asdc-trust{display:grid;gap:4px;margin-top:20px;padding:16px;border-left:5px solid #d79b13;background:#fff8e8}
.asdc-trust.is-trusted{border-color:#16794d;background:#edf9f3}
.asdc-table-wrap{overflow-x:auto;border:1px solid var(--asdc-line)}
.asdc-table{width:100%;border-collapse:collapse;background:#fff}
.asdc-table th,.asdc-table td{padding:13px 14px;border-bottom:1px solid var(--asdc-line);text-align:left;white-space:nowrap}
.asdc-table th{background:var(--asdc-soft);color:var(--asdc-navy)}
.asdc-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef0f4;font-size:12px;font-weight:750}
.asdc-status-publicada{background:#e7f7ef;color:#136a43}
.asdc-status-rechazada{background:#fff0f2;color:#a00e24}
.asdc-status-validada_automaticamente{background:#eef0ff;color:#35357e}

@media(max-width:980px){
  .asdc-account{grid-template-columns:1fr}
  .asdc-account-nav nav{grid-template-columns:repeat(5,minmax(max-content,1fr));overflow-x:auto}
  .asdc-account-user{display:none}
  .asdc-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  .asdc-grid-2,.asdc-grid-otp{grid-template-columns:1fr}
  .asdc-form fieldset{padding:18px 14px}
  .asdc-account-nav nav{display:flex}
  .asdc-account-nav nav a{flex:0 0 auto}
  .asdc-stats{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){
  .asdc-primary,.asdc-secondary{transition:none}
  .asdc-primary:hover{transform:none}
}


/* =========================================================
   MODALES DE VERIFICACIÓN OTP
========================================================= */
.asdc-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  padding: 18px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, visibility .22s ease;
}

.asdc-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.asdc-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 20, 20, .72);
  backdrop-filter: blur(5px);
}

.asdc-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(500px, 100%);
  max-height: calc(100vh - 36px);
  overflow-y: auto;
  padding: 30px;
  border-top: 5px solid #f11a35;
  border-radius: 10px;
  background: #ffffff;
  color: #141414;
  box-shadow: 0 28px 80px rgba(20, 20, 20, .30);
}

.asdc-modal-dialog h2 {
  margin: 7px 0 9px;
  color: #1b1b51;
  font-size: clamp(27px, 5vw, 38px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.asdc-modal-dialog p {
  margin: 0 0 20px;
  color: #62646b;
}

.asdc-modal-kicker {
  color: #f11a35;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.asdc-modal-close {
  position: absolute;
  top: 13px;
  right: 13px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #e1e2e6;
  border-radius: 50%;
  background: #ffffff;
  color: #1b1b51;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
}

.asdc-modal-close:hover {
  border-color: #f11a35;
  color: #f11a35;
}

.asdc-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}

.asdc-modal-message {
  min-height: 22px;
  margin: 2px 0 12px;
  color: #62646b;
  font-size: 13px;
}

.asdc-modal-message.is-error {
  color: #a00e24;
}

.asdc-modal-message.is-success {
  color: #136a43;
}

body.asdc-modal-open {
  overflow: hidden;
}

.asdc-article-builder .asdc-featured-field,
.asdc-article-builder .asdc-gallery-field {
  padding: 18px;
  border: 1px dashed #cfd1d7;
  background: #f7f7f9;
}

@media (max-width: 767px) {
  .asdc-modal {
    align-items: end;
    padding: 0;
  }

  .asdc-modal-dialog {
    width: 100%;
    max-height: 92vh;
    padding: 25px 18px 20px;
    border-radius: 14px 14px 0 0;
  }

  .asdc-modal-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .asdc-modal-actions .asdc-primary {
    order: -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .asdc-modal {
    transition: none;
  }
}


/* =========================================================
   CORRECCIÓN 2.1.1 — BOTONES VISIBLES EN LOS MODALES
========================================================= */
.asdc-modal .asdc-modal-send-otp,
.asdc-modal .asdc-modal-confirm-otp,
.asdc-modal .asdc-modal-back-email {
  position: relative !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 48px !important;
  padding: 12px 20px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.asdc-modal .asdc-modal-send-otp,
.asdc-modal .asdc-modal-confirm-otp {
  width: 100% !important;
  border: 1px solid #f11a35 !important;
  background: #f11a35 !important;
  color: #ffffff !important;
}

.asdc-modal .asdc-modal-send-otp:hover,
.asdc-modal .asdc-modal-confirm-otp:hover {
  border-color: #c90f28 !important;
  background: #c90f28 !important;
  color: #ffffff !important;
}

.asdc-modal .asdc-modal-back-email {
  border: 1px solid #e1e2e6 !important;
  background: #ffffff !important;
  color: #1b1b51 !important;
}

.asdc-modal .asdc-modal-back-email:hover {
  border-color: #f11a35 !important;
  color: #f11a35 !important;
}

.asdc-modal .asdc-modal-actions {
  position: relative;
  z-index: 3;
  width: 100%;
}

@media (min-width: 768px) {
  .asdc-modal .asdc-modal-actions {
    display: grid;
    grid-template-columns: auto minmax(220px, 1fr);
  }
}


/* =========================================================
   CORRECCIÓN 2.1.3 — CLIC NATIVO EN BOTONES DE MODALES
========================================================= */
.asdc-modal-dialog {
  pointer-events: auto !important;
}

.asdc-modal-dialog * {
  pointer-events: auto;
}

.asdc-modal .asdc-modal-send-otp,
.asdc-modal .asdc-modal-confirm-otp,
.asdc-modal .asdc-modal-back-email {
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: rgba(241, 26, 53, .18);
}

.asdc-modal .asdc-modal-send-otp::before,
.asdc-modal .asdc-modal-send-otp::after,
.asdc-modal .asdc-modal-confirm-otp::before,
.asdc-modal .asdc-modal-confirm-otp::after {
  pointer-events: none !important;
}


/* =========================================================
   2.2.0 — MODAL DE ÉXITO Y CONSULTA PÚBLICA
========================================================= */
.asdc-success-dialog {
  text-align: center;
}

.asdc-success-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: #edf9f3;
  color: #16794d;
  font-size: 34px;
  font-weight: 900;
}

.asdc-success-folio {
  margin: 16px 0 !important;
  padding: 12px 14px;
  border: 1px solid #e1e2e6;
  background: #f7f7f9;
  color: #1b1b51 !important;
  font-size: 18px;
}

.asdc-success-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 20px;
}

.asdc-success-actions .asdc-primary,
.asdc-success-actions .asdc-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
}

.asdc-public-search-form {
  margin-bottom: 24px;
  padding: 22px;
  border: 1px solid #e1e2e6;
  background: #f7f7f9;
}

.asdc-public-search-form > label {
  display: block;
  margin-bottom: 8px;
  color: #1b1b51;
  font-weight: 800;
}

.asdc-public-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.asdc-public-search-row input {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #cfd1d7;
  border-radius: 6px;
  font: inherit;
  text-transform: uppercase;
}

.asdc-public-report {
  padding: 26px;
  border-top: 5px solid #f11a35;
  background: #ffffff;
  box-shadow: 0 14px 45px rgba(20, 20, 20, .08);
}

.asdc-public-report-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.asdc-public-report-head > div {
  display: grid;
  gap: 2px;
}

.asdc-public-report-label {
  color: #62646b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.asdc-public-report-head strong {
  color: #1b1b51;
  font-size: 18px;
}

.asdc-public-report h3 {
  margin: 0 0 20px;
  color: #141414;
  font-size: clamp(24px, 4vw, 38px);
  line-height: 1.08;
  letter-spacing: -.03em;
}

.asdc-public-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 22px;
  background: #e1e2e6;
  border: 1px solid #e1e2e6;
}

.asdc-public-meta > div {
  padding: 15px;
  background: #f7f7f9;
}

.asdc-public-meta dt {
  margin-bottom: 3px;
  color: #62646b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.asdc-public-meta dd {
  margin: 0;
  color: #1b1b51;
  font-weight: 750;
}

.asdc-public-article-link {
  display: inline-flex;
  text-decoration: none !important;
}

.asdc-public-note {
  margin: 0;
  padding: 14px;
  border-left: 4px solid #d79b13;
  background: #fff8e8;
  color: #6b530f;
}

@media (max-width: 767px) {
  .asdc-success-actions,
  .asdc-public-search-row,
  .asdc-public-meta {
    grid-template-columns: 1fr;
  }

  .asdc-public-report {
    padding: 20px 15px;
  }

  .asdc-public-report-head {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* =========================================================
   TOTAL DE VISTAS EN CONSULTA PÚBLICA
========================================================= */
.asdc-public-views dt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.asdc-public-views-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #f11a35;
  line-height: 1;
}

.asdc-public-views-icon svg {
  display: block;
  width: 18px;
  height: 18px;
  overflow: visible;
}

/* =========================================================
   MEJORAS 2.2.5 — LOGIN, REGISTRO, PRIVACIDAD Y PANEL
========================================================= */

/* Login perfectamente alineado */
.asdc-login-form{
  gap:18px;
}
.asdc-login-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:end;
}
.asdc-login-form .asdc-field{
  margin:0;
  min-width:0;
}
.asdc-login-form .asdc-field label{
  min-height:21px;
  display:flex;
  align-items:flex-end;
}
.asdc-login-form .asdc-field input{
  box-sizing:border-box;
  min-height:48px;
}
.asdc-login-submit{
  width:100%;
}

/* Link visual del aviso de privacidad */
.asdc-privacy-link{
  display:inline;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--asdc-red);
  font:inherit;
  font-weight:700;
  line-height:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
}
.asdc-privacy-link:hover,
.asdc-privacy-link:focus{
  color:var(--asdc-red-dark);
}

.asdc-register-message{
  min-height:20px;
  color:var(--asdc-muted);
  font-size:13px;
}
.asdc-register-message.is-error{color:#a00e24}
.asdc-register-message.is-success{color:#136a43}

/* Modal del aviso de privacidad */
.asdc-privacy-modal-dialog{
  width:min(760px,100%);
}
.asdc-privacy-content{
  padding-right:6px;
  color:#3e4656;
  font-size:14px;
  line-height:1.7;
}
.asdc-privacy-content h3{
  margin:22px 0 7px;
  color:var(--asdc-navy);
  font-size:17px;
  line-height:1.3;
}
.asdc-privacy-content p{
  margin:0 0 12px;
  color:#3e4656;
}
.asdc-privacy-content a{
  color:var(--asdc-red);
  font-weight:700;
}
.asdc-privacy-note{
  margin-top:22px !important;
  padding:14px 16px;
  border-left:4px solid var(--asdc-red);
  background:var(--asdc-soft);
}
.asdc-privacy-accept{
  width:100%;
  margin-top:14px;
}

/* Botón Ver artículo dentro de Mis denuncias */
.asdc-table-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 12px;
  border:1px solid var(--asdc-navy);
  border-radius:6px;
  background:var(--asdc-navy);
  color:#fff !important;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none !important;
  transition:.2s ease;
}
.asdc-table-action:hover,
.asdc-table-action:focus{
  border-color:var(--asdc-red);
  background:var(--asdc-red);
  color:#fff !important;
}

@media(max-width:767px){
  .asdc-login-grid{
    grid-template-columns:1fr;
  }
  .asdc-login-form .asdc-field label{
    min-height:0;
  }
  .asdc-privacy-content{
    font-size:13px;
  }
}

/* =========================================================
   V2.2.6 - REGISTRO, LOGIN Y RECUPERACIÓN
========================================================= */

/* Registro: filas perfectamente alineadas */
.asdc-register-form .asdc-grid-2{
  align-items:stretch;
}
.asdc-register-form .asdc-grid-2 .asdc-field{
  display:grid;
  grid-template-rows:22px 54px;
  gap:8px;
  margin:0;
  min-width:0;
}
.asdc-register-form .asdc-grid-2 .asdc-field label{
  display:flex;
  align-items:flex-end;
  min-height:22px;
  margin:0;
  line-height:1.2;
}
.asdc-register-form .asdc-grid-2 .asdc-field input{
  box-sizing:border-box;
  width:100%;
  height:54px;
  min-height:54px;
  margin:0;
}

/* Login */
.asdc-login-options{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:-2px;
  font-size:13px;
}
.asdc-login-options a,
.asdc-login-register a,
.asdc-recovery-bottom a{
  color:var(--asdc-red);
  font-weight:700;
  text-decoration:none;
}
.asdc-login-options a:hover,
.asdc-login-register a:hover,
.asdc-recovery-bottom a:hover{
  text-decoration:underline;
}
.asdc-remember{
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  color:var(--asdc-text);
}
.asdc-remember input{
  width:17px;
  height:17px;
  margin:0;
  accent-color:var(--asdc-red);
}
.asdc-login-register,
.asdc-recovery-bottom{
  margin:0;
  text-align:center;
  color:var(--asdc-muted);
  font-size:13px;
}

/* Recuperación */
.asdc-recovery-form .asdc-field{
  margin:0;
}
.asdc-recovery-form .asdc-primary{
  width:100%;
}

@media(max-width:767px){
  .asdc-register-form .asdc-grid-2 .asdc-field{
    grid-template-rows:auto 52px;
  }
  .asdc-register-form .asdc-grid-2 .asdc-field label{
    min-height:0;
  }
  .asdc-register-form .asdc-grid-2 .asdc-field input{
    height:52px;
    min-height:52px;
  }
  .asdc-login-options{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
}


/* =========================================================
   V2.2.7 - MODALES SIEMPRE POR ENCIMA DE DIVI
========================================================= */
.asdc-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483647 !important;
  isolation:isolate;
  pointer-events:none;
}
.asdc-modal.is-open{
  pointer-events:auto;
}
.asdc-modal-backdrop{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
}
.asdc-modal-dialog{
  position:relative !important;
  z-index:2 !important;
}
body.asdc-modal-open{
  overflow:hidden !important;
}


/* ==========================================
   COMENTARIOS DE DENUNCIAS
========================================== */
.asdc-table td.asdc-table-comment{
  min-width:240px;
  max-width:360px;
  white-space:normal;
  vertical-align:top;
}
.asdc-user-comment{
  color:#1b1b51;
  font-size:13px;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.asdc-comment-empty{
  color:#7a7d87;
  font-size:12px;
}
.asdc-public-comment{
  margin:20px 0;
  padding:18px 20px;
  background:#f7f8fc;
  border-left:4px solid #f11a35;
  border-radius:4px;
}
.asdc-public-comment-label{
  display:block;
  margin:0 0 8px;
  color:#1b1b51;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.7px;
  text-transform:uppercase;
}
.asdc-public-comment-text{
  color:#333746;
  font-size:14px;
  line-height:1.7;
  overflow-wrap:anywhere;
}
@media(max-width:767px){
  .asdc-public-comment{
    padding:15px 16px;
  }
  .asdc-table td.asdc-table-comment{
    min-width:220px;
  }
}
