/* CRIDA Licitaciones */
.crida-tabla { width: 100%; overflow-x: auto; }
.crida-tabla table { width: 100%; border-collapse: collapse; }
.crida-tabla th, .crida-tabla td { vertical-align: top; }
.crida-aviso { text-align: center; margin: 1em 0; }
.crida-inactivo { color: #999; cursor: default; }
.crida-justificado { text-align: justify; }
.crida-derecha { text-align: right; }
.crida-izquierda { text-align: left; }
.crida-alta { text-align: right; }
.crida-obligatorio { color: #ff0000; }
.crida-titulo { color: #0177BF; }
.crida-error { color: #b32d2e; border-left: 4px solid #b32d2e; padding: .5em 1em; background: #fcf0f1; }
.crida-ok { border-left: 4px solid #0a7d32; padding: .5em 1em; background: #edfaef; }
.crida-sin-permiso { font-style: italic; }

/* Agrupación por años (sustituye al acordeón con JavaScript) */
.crida-anio { margin-bottom: .5em; border: 1px solid #e5e5e5; }
.crida-anio > summary { cursor: pointer; padding: .6em 1em; color: #6ec1e4; font-weight: 600; list-style: none; }
.crida-anio > summary::-webkit-details-marker { display: none; }
.crida-anio > summary::before { content: '+'; display: inline-block; width: 1.2em; }
.crida-anio[open] > summary::before { content: '\2212'; }
.crida-anio > .crida-tabla, .crida-anio > .crida-aviso { padding: 0 1em 1em; }

/* Empresas presentadas */
.crida-empresas summary { cursor: pointer; color: #0177BF; text-decoration: underline; }
.crida-empresas ul { list-style: none; margin: .3em 0 0; padding: 0; min-width: 12em; }
.crida-empresas li { border: 1px solid #dedede; padding: 2px 6px; }
.crida-empresas li:nth-child(even) { background: #f2f2f2; }

/* Noticias */
.crida-noticia { margin-bottom: 5px; }
.crida-noticia .entry-title { padding-bottom: 5px; }
.crida-noticia-fecha { padding: 7px 0 2px; }

/* Descarga auditada */
.crida-descarga { display: flex; flex-direction: column; margin-bottom: 30px; }
.crida-descarga-licitacion { font-size: 22px; font-weight: 600; margin-bottom: 25px; }
.crida-descarga-fichero { font-size: 20px; font-weight: 600; }
.crida-check { display: flex; gap: 10px; align-items: flex-start; margin: 1em 0; }
.crida-check input { margin-top: .3em; }
.crida-botones { display: flex; gap: 1em; justify-content: center; align-items: center; margin: 1em 0; }
.crida-boton { display: inline-block; cursor: pointer; }
.crida-secundario { opacity: .85; }

/* Formulario de ofertas */
.crida-form label { display: block; font-weight: 600; margin: 15px 0 8px; font-size: 18px; }
.crida-form .crida-check label { display: inline; font-size: 16px; margin: 0; }
.crida-form select, .crida-form .crida-fichero { width: 100%; padding: 5px; }
.crida-nota { margin: 15px 0; font-style: italic; }
.crida-privacidad { margin: 0 0 1em 26px; font-size: 14px; }
.crida-privacidad summary { cursor: pointer; color: #0177BF; }
.crida-oculto { position: absolute; left: -9999px; }
.crida-cargando { position: fixed; inset: 0; background: rgba(0,0,0,.75); z-index: 1001; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; }
.crida-cargando[hidden] { display: none; }
.crida-spinner { border: 16px solid #c7cecb; border-top: 16px solid #00addb; border-radius: 50%; width: 120px; height: 120px; animation: crida-giro 2s linear infinite; }
@keyframes crida-giro { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
