/* Diversia Health - Ensayos clinicos en Puerto Rico ([diversia_ensayos]).
   Todo bajo .dct para no chocar con el tema ni con Elementor. */
.dct { --dct-navy:#1a3352; --dct-blue:#3A9BD5; --dct-orange:#FF6B35; --dct-muted:#5f7387; --dct-line:#e2e8f0;
  max-width:1000px; margin:0 auto; color:var(--dct-navy); font-size:15px; line-height:1.55; text-align:left; }
.dct *, .dct *::before, .dct *::after { box-sizing:border-box; }
.dct a { color:var(--dct-blue); }
.dct .dct-logo { margin:0 0 18px; line-height:0; }
.dct .dct-logo img { display:block; width:min(440px, 100%); height:auto; max-width:100%; border:0; box-shadow:none; }
.dct .dct-h { font-size:clamp(24px,4vw,34px); line-height:1.2; margin:0 0 16px; color:var(--dct-navy); }

.dct .dct-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; background:#89c47e;
  padding:18px; border-radius:16px; margin:0; }
.dct .dct-input { width:100%; min-width:0; padding:14px 16px; font-size:17px; border:0; border-radius:12px;
  color:var(--dct-navy); background:#fff; margin:0; height:auto; box-shadow:none; }
.dct .dct-go { padding:0 26px; background:var(--dct-orange); color:#fff; border:0; border-radius:12px; font-size:16px;
  font-weight:700; cursor:pointer; line-height:1; margin:0; text-transform:none; letter-spacing:0; }
.dct .dct-go:hover { filter:brightness(1.05); }
.dct .dct-filters { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:10px; }
/* Filtros en vidrio (liquid glass): verde de la caja, mas claro, con
   desenfoque y brillo en el borde. all:unset para que el tema y Elementor
   no les metan sus estilos de boton y de lista. */
.dct .dct-gs { position:relative; flex:0 1 auto; min-width:0; }
.dct .dct-gs-btn { all:unset; box-sizing:border-box; display:flex; align-items:center; gap:12px; cursor:pointer;
  padding:11px 16px 11px 18px; border-radius:14px; font-size:15px; font-weight:600; color:#0f3d0a; line-height:1.3;
  background:linear-gradient(135deg, rgba(255,255,255,.62) 0%, rgba(214,242,206,.42) 100%);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(51,147,33,.18), 0 6px 18px rgba(10,50,5,.16);
  -webkit-backdrop-filter:blur(14px) saturate(170%); backdrop-filter:blur(14px) saturate(170%);
  transition:background .15s, box-shadow .15s; max-width:100%; }
.dct .dct-gs-btn:hover { background:linear-gradient(135deg, rgba(255,255,255,.74) 0%, rgba(214,242,206,.54) 100%); }
.dct .dct-gs-btn:focus-visible { box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 0 0 3px rgba(255,255,255,.65), 0 6px 18px rgba(10,50,5,.16); }
.dct .dct-gs-txt { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dct .dct-gs-chev { width:12px; height:8px; flex:none; transition:transform .2s; }
.dct .dct-gs.is-open .dct-gs-chev { transform:rotate(180deg); }
.dct .dct-gs-list { all:unset; box-sizing:border-box; display:block; position:absolute; z-index:60; top:calc(100% + 8px); left:0;
  min-width:100%; width:max-content; max-width:min(320px, 86vw); max-height:320px; overflow-y:auto; padding:6px;
  border-radius:16px; list-style:none;
  background:linear-gradient(160deg, rgba(246,253,244,.90) 0%, rgba(222,245,214,.86) 100%);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95), 0 18px 40px rgba(10,50,5,.25);
  -webkit-backdrop-filter:blur(20px) saturate(180%); backdrop-filter:blur(20px) saturate(180%); }
.dct .dct-gs-list[hidden] { display:none; }
.dct .dct-gs-opt { all:unset; box-sizing:border-box; display:flex; align-items:center; gap:8px; padding:9px 12px 9px 30px; position:relative;
  border-radius:10px; font-size:15px; color:#0f3d0a; cursor:pointer; white-space:nowrap; line-height:1.3; }
.dct .dct-gs-opt.is-active { background:rgba(51,147,33,.16); }
.dct .dct-gs-opt[aria-selected="true"] { font-weight:700; }
.dct .dct-gs-opt[aria-selected="true"]::before { content:''; position:absolute; left:11px; top:50%; width:10px; height:6px; margin-top:-5px;
  border-left:2px solid #339321; border-bottom:2px solid #339321; transform:rotate(-45deg); }

.dct .dct-hints { margin:12px 2px 0; font-size:13.5px; color:var(--dct-muted); }
.dct .dct-hints a { margin-right:10px; white-space:nowrap; }

.dct .dct-out { margin-top:8px; transition:opacity .15s; }
.dct .dct-out--busy { opacity:.5; }
.dct .dct-loading { color:var(--dct-muted); padding:24px 0; }
.dct .dct-sec { font-size:19px; margin:26px 0 12px; color:var(--dct-navy); display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; }
.dct .dct-sec small { font-weight:500; font-size:14px; color:var(--dct-muted); }

.dct .dct-card { background:#fff; border:1px solid var(--dct-line); border-radius:14px; padding:18px 18px 16px;
  margin:0 0 12px; overflow-wrap:anywhere; }
.dct .dct-card--dv { border:2px solid var(--dct-orange); background:#fffaf7; }
.dct .dct-badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.dct .dct-b { font-size:12px; font-weight:700; padding:3px 9px; border-radius:100px; background:#eef3f8; color:var(--dct-muted); line-height:1.5; }
.dct .dct-b--open { background:#e7f7ee; color:#157347; }
.dct .dct-b--closed { background:#f1f1f1; color:#777; }
.dct .dct-b--dv { background:var(--dct-orange); color:#fff; }
.dct .dct-title { font-size:17px; line-height:1.3; margin:0 0 6px; color:var(--dct-navy); }
.dct .dct-meta { font-size:13.5px; color:var(--dct-muted); margin:0 0 8px; }
.dct .dct-cond { font-size:14px; margin:0 0 10px; }
.dct .dct-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px; justify-content:space-between; }
.dct .dct-btn { display:inline-block; padding:10px 18px; border-radius:100px; font-weight:700; font-size:14px;
  text-decoration:none; line-height:1.3; }
.dct .dct-btn--apply { background:var(--dct-orange); color:#fff; }
.dct .dct-btn--ct { background:var(--dct-navy); color:#fff; }
.dct .dct-btn:hover { filter:brightness(1.08); color:#fff; }
.dct .dct-btn--ghost { background:#fff; color:var(--dct-navy); border:1.5px solid #c9d6e3; }
.dct .dct-btn--ghost:hover { color:var(--dct-navy); border-color:var(--dct-navy); }
.dct .dct-apply { display:flex; flex-direction:column; align-items:flex-end; gap:8px; margin-left:auto; max-width:100%; }
.dct .dct-apply-who { font-size:13px; color:var(--dct-muted); text-align:right; }
.dct .dct-apply-note { font-size:13.5px; color:var(--dct-muted); font-style:italic; }
.dct .dct-apply-btns { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.dct details { font-size:14px; color:#36506a; }
.dct details summary { cursor:pointer; color:var(--dct-blue); font-weight:600; }
.dct .dct-body { margin-top:10px; border-top:1px dashed var(--dct-line); padding-top:10px; }
.dct .dct-body p { margin:0 0 10px; }
.dct .dct-body ul { margin:4px 0 10px; padding-left:20px; }
.dct .dct-body li { margin-bottom:4px; }
.dct .dct-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:6px 16px; margin:8px 0 10px; }
.dct .dct-facts b { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.4px; color:var(--dct-muted); }

.dct .dct-empty { background:#fff; border:1px dashed #c9d6e3; border-radius:14px; padding:26px; text-align:center; color:var(--dct-muted); }
.dct .dct-err { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; border-radius:12px; padding:14px 16px; margin-top:16px; }
.dct .dct-pager { display:flex; justify-content:center; align-items:center; gap:12px; margin-top:20px; font-size:14px; }
.dct .dct-pager a { padding:8px 14px; border-radius:10px; background:#fff; border:1px solid var(--dct-line); text-decoration:none; font-weight:600; }
.dct .dct-foot { font-size:12.5px; color:var(--dct-muted); margin-top:30px; border-top:1px solid var(--dct-line); padding-top:14px; }

/* Someter un estudio (centros y patrocinadores) */
.dct .dct-claim { display:block; margin-top:10px; font-size:12.5px; color:var(--dct-muted); text-align:right; text-decoration:none; }
.dct .dct-claim:hover { color:#339321; text-decoration:underline; }
.dct .dct-submit { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-top:30px;
  padding:22px 24px; border-radius:16px; background:#339321; color:#fff; }
.dct .dct-submit h3 { font-size:20px; margin:0 0 6px; color:#fff; }
.dct .dct-submit p { margin:0; font-size:14.5px; color:#e3f4de; max-width:620px; }
.dct .dct-submit-btn { background:#fff; color:#1f6b13; white-space:nowrap; }
.dct .dct-submit-btn:hover { color:#1f6b13; }

/* Formulario "Escribir al centro" */
.dct .dct-write { margin-top:14px; padding:16px; border-radius:14px; background:#f3faf1; border:1px solid #cfe8c8; }
.dct .dct-write-h { margin:0 0 12px; font-weight:700; font-size:14.5px; color:var(--dct-navy); }
.dct .dct-write-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px 14px; }
.dct .dct-f { display:flex; flex-direction:column; gap:4px; margin:0 0 10px; font-size:13px; font-weight:600; color:#36506a; }
.dct .dct-write-grid .dct-f { margin:0; }
.dct .dct-write-grid { margin-bottom:10px; }
.dct .dct-in { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c9d6e3; border-radius:10px; font-size:15px;
  font-family:inherit; color:var(--dct-navy); background:#fff; margin:0; height:auto; box-shadow:none; }
.dct .dct-in:focus { outline:none; border-color:#339321; box-shadow:0 0 0 3px rgba(51,147,33,.18); }
.dct textarea.dct-in { resize:vertical; min-height:70px; }
.dct .dct-trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.dct .dct-consent { display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:#36506a; margin:4px 0 14px; cursor:pointer; }
.dct .dct-consent input { margin:3px 0 0; flex:none; width:18px; height:18px; accent-color:#339321; }
.dct .dct-write button.dct-btn { border:0; cursor:pointer; font-family:inherit; text-transform:none; }
.dct .dct-apply button.dct-btn, .dct .dct-write button.dct-btn { width:auto; display:inline-block; cursor:pointer; font-family:inherit; text-transform:none; line-height:1.3; margin:0; }
.dct .dct-write button.dct-btn:disabled { opacity:.6; cursor:default; }
.dct .dct-write-status { margin:10px 0 0; font-size:13.5px; color:var(--dct-muted); }
.dct .dct-write-status.is-err { color:#b91c1c; font-weight:600; }
.dct .dct-write-done { display:flex; flex-direction:column; gap:4px; color:#1f6b13; font-size:14.5px; }
.dct .dct-write-done b { font-size:16px; }

/* Estudios de Diversia cerrados: borde azul claro (Jimmy, 2026-10-08) */
.dct .dct-card--dv-closed { border:2px solid #8fd0f5; background:#f5fbff; }
.dct .dct-b--dvc { background:#3A9BD5; color:#fff; }
/* Destacados: listados pagados */
.dct .dct-card--ft { border:2px solid #89c47e; background:#f7fcf5; }
.dct .dct-b--ft { background:#339321; color:#fff; }
.dct .dct-consent--opt { margin-top:-4px; }
.dct .dct-write-hint { margin:-2px 0 10px; font-size:12.5px; color:var(--dct-muted); }
.dct .dct-empty-notify { margin:14px 0 10px; color:#36506a; }
.dct .dct-empty .dct-write { text-align:left; }
.dct .dct-submit-btns { display:flex; flex-wrap:wrap; gap:10px; }
.dct .dct-submit-btn2 { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.8); white-space:nowrap; }
.dct .dct-submit-btn2:hover { color:#fff; background:rgba(255,255,255,.12); }

/* "Lista tu estudio · $150", junto al buscador */
.dct .dct-listbtn { all:unset; box-sizing:border-box; display:inline-flex; align-items:center; cursor:pointer;
  padding:11px 18px; border-radius:14px; font-size:15px; font-weight:800; color:#fff; line-height:1.3;
  background:#1a3352; box-shadow:0 6px 18px rgba(10,30,50,.18); white-space:nowrap; }
.dct .dct-listbtn:hover { color:#fff; filter:brightness(1.12); }
.dct .dct-listbtn:focus-visible { box-shadow:0 0 0 3px rgba(255,255,255,.7); }
.dct .dct-map-cards { margin-top:12px; }
.dct .dct-map-more { display:block; margin:14px auto 0; cursor:pointer; font-family:inherit; }

/* Boton "Ver mapa": mismo vidrio que los filtros */
.dct .dct-mapbtn { all:unset; box-sizing:border-box; display:inline-flex; align-items:center; gap:8px; cursor:pointer; margin-left:auto;
  padding:11px 18px; border-radius:14px; font-size:15px; font-weight:700; color:#0f3d0a; line-height:1.3;
  background:linear-gradient(135deg, rgba(255,255,255,.80) 0%, rgba(214,242,206,.60) 100%);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 6px 18px rgba(10,50,5,.16);
  -webkit-backdrop-filter:blur(14px) saturate(170%); backdrop-filter:blur(14px) saturate(170%); }
.dct .dct-mapbtn::before { content:''; width:16px; height:16px; flex:none; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat; }
.dct .dct-mapbtn[aria-pressed="true"]::before {
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16v2H4zm0 5h16v2H4zm0 5h16v2H4z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16v2H4zm0 5h16v2H4zm0 5h16v2H4z'/%3E%3C/svg%3E") center/contain no-repeat; }
.dct .dct-mapbtn:focus-visible { box-shadow:0 0 0 3px rgba(255,255,255,.7); }

/* Mapa */
.dct .dct-map { margin-top:18px; background:#fff; border:1px solid var(--dct-line); border-radius:16px; padding:16px 18px; }
.dct .dct-map-head { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; font-size:14px; }
.dct .dct-map-legend { display:flex; gap:14px; flex-wrap:wrap; font-size:12.5px; color:var(--dct-muted); }
.dct .dct-map-legend span { display:inline-flex; align-items:center; gap:6px; }
.dct .dct-map-legend i { width:11px; height:11px; border-radius:50%; display:inline-block; border:2px solid #fff; box-shadow:0 0 0 1px #cbd5e1; }
.dct .dct-map-svg { margin:12px 0 6px; }
.dct .dct-map-svg svg { display:block; width:100%; height:auto; overflow:visible; }
.dct .dct-pt { cursor:pointer; outline:none; }
.dct .dct-pt:hover circle, .dct .dct-pt:focus circle { fill-opacity:1; }
.dct .dct-map-info { border-top:1px dashed var(--dct-line); padding-top:12px; font-size:14px; }
.dct .dct-map-info h4 { margin:0 0 2px; font-size:16px; color:var(--dct-navy); }
.dct .dct-map-hint, .dct .dct-map-city { margin:0 0 8px; color:var(--dct-muted); font-size:13px; }
.dct .dct-map-info ul { margin:6px 0 0; padding-left:18px; }
.dct .dct-map-info li { margin-bottom:7px; }
.dct .dct-map-fac { color:var(--dct-muted); font-size:12.5px; }
.dct .dct-map-info li .dct-b { margin-left:8px; font-size:11px; padding:1px 7px; }

@media (max-width:560px) {
  .dct .dct-form { grid-template-columns:minmax(0,1fr); padding:14px; }
  .dct .dct-go { padding:14px; }
  .dct .dct-gs { flex:1 1 150px; }
  .dct .dct-mapbtn { flex:1 1 140px; justify-content:center; margin-left:0; }
  .dct .dct-listbtn { flex:1 1 140px; justify-content:center; }
  .dct .dct-gs-btn { width:100%; justify-content:space-between; }
  .dct .dct-gs:last-child .dct-gs-list { left:auto; right:0; }
  .dct .dct-row .dct-btn { width:100%; text-align:center; }
  .dct .dct-apply, .dct .dct-apply-btns { width:100%; align-items:stretch; }
  .dct .dct-apply-who { text-align:left; }
  .dct .dct-write-grid { grid-template-columns:1fr; }
  .dct .dct-apply button.dct-btn { width:100%; text-align:center; }
}
