/* ================================
   estilo2025def.css  (UNIFICADO)
   Fuente: ESTILOS_ESTUDIAR.txt
   Criterios:
   - Se eliminaron duplicados exactos.
   - Reglas conflictivas se unificaron conservando lo más completo.
   - Estructura agrupada por componentes y media queries.
   ================================ */

/* ---- Base ---- */
body { background-color: #f1f1f1; }
.main-container { background: #fff; box-shadow: 0 0 20px rgba(0,0,0,0.1); }

/* ---- Navbar horizontal ---- */
.navbar-horizontal { background-color: #333; padding: 0; margin-bottom: 20px; }
.navbar-horizontal .navbar-nav { width: 100%; display: flex !important; flex-wrap: wrap; }
.navbar-horizontal .nav-link {
  color: #fff !important; padding: 12px 15px !important; border-right: 1px solid #555;
  text-decoration: none; font-size: 0.95rem; transition: background-color 0.3s ease;
}
.navbar-horizontal .nav-link:hover,
.navbar-horizontal .nav-link.active { background-color: #dc3545; color: #fff !important; }

.navbar-horizontal .dropdown-menu { background-color: #2a2a2a; border: none; margin-top: 0 !important; }
.navbar-horizontal .dropdown-menu .dropdown-item { color: #fff; padding: 10px 20px; transition: background-color 0.2s ease; }
.navbar-horizontal .dropdown-menu .dropdown-item:hover { background-color: #dc3545; color: #fff; }

/* Toggler */
.navbar-horizontal .navbar-toggler { border: 1px solid #fff; padding: 5px 10px; display: none; }
.navbar-horizontal .navbar-toggler:focus { box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); outline: none; }
.navbar-horizontal .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-horizontal .collapse { display: flex !important; width: 100%; }
.navbar-horizontal .collapse.show { display: flex !important; width: 100%; }
.navbar-horizontal .navbar-collapse { background-color: #333; width: 100%; }

/* ---- Cabeceras / noticias ---- */
.section-header {
  background-color: #990000; color:#fff; padding: 15px; margin-bottom: 20px; border-radius: 4px;
  border-bottom: 3px solid #dc3545; padding-bottom: 10px;
}
.section-header h2 { margin: 0; font-size: 1.3rem; font-weight: bold; }

.titular-not { font-size: 1.3rem; font-weight: bold; color:#dc3545; text-decoration: none; }
.titular-not:hover { color:#a02a2a; text-decoration: underline; }
.link-red { color:#dc3545; text-decoration: none; }
.link-red:hover { color:#a02a2a; text-decoration: underline; }
.news-date { font-size: 0.85rem; color:#666; }
.news-card { background:#f8f9fa; border-left: 4px solid #dc3545; margin-bottom:20px; padding:15px; }
.other-news-item { background:#fff; border-left: 3px solid #eaeaea; padding:10px; margin-bottom:15px; }
.doc-section { background:#990000; color:#fff; padding:10px 15px; margin-top:30px; }

/* ---- Formularios ---- */
.form-container { background-color:#f8f9fa; padding:20px; border-radius:4px; margin-bottom:30px; }
.form-row-group { margin-bottom:20px; }
.form-section-title { background-color:#CCCCCC; padding:10px; margin:30px 0 15px; font-weight:bold; border-radius:3px; }

.form-label { font-weight:500; color:#333; margin-bottom:5px; }
.required-field::after { content:" *"; color:#dc3545; font-weight:bold; }

.form-control { border:1px solid #ddd; border-radius:4px; padding:10px; font-size:0.95rem; }
.form-control:focus { border-color:#dc3545; box-shadow: 0 0 0 0.2rem rgba(220,53,69,0.25); }
textarea.form-control { resize: vertical; min-height: 100px; }
.form-text { font-size:0.85rem; color:#666; margin-top:5px; }

.banking-section { background-color:#f0f0f0; padding:15px; border-left:4px solid #990000; border-radius:4px; margin-bottom:20px; }
.ccc-table { background:#fff; border-collapse: collapse; margin:10px 0; }
.ccc-table td { padding:10px; border:1px solid #ddd; text-align:center; }
.ccc-table input { width:100%; text-align:center; }
.iban-inputs { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.iban-inputs input { flex:0 0 auto; width:70px !important; }

.comments-section { background-color:#f8f9fa; padding:15px; border-radius:4px; margin-bottom:20px; }

/* Captcha + avisos */
.captcha-section { background-color:#fff; padding:15px; border-left:4px solid #dc3545; border-radius:4px; margin-bottom:20px; }
.captcha-instructions { font-size:0.85rem; color:#666; margin-bottom:10px; }
.captcha-wrapper { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.captcha-wrapper img { border:1px solid #ddd; border-radius:4px; }
.captcha-refresh { color:#dc3545; cursor:pointer; text-decoration:none; font-size:0.85rem; }
.captcha-refresh:hover { text-decoration: underline; }

.privacy-notice { font-size:0.75rem; color:#999; background-color:#f5f5f5; padding:12px; border-radius:4px; margin-bottom:20px; line-height:1.5; }
.error-message { background-color:#f8d7da; border:1px solid #f5c6cb; color:#721c24; padding:12px; border-radius:4px; margin-bottom:20px; }
.success-message { background-color:#d4edda; border:1px solid #c3e6cb; color:#155724; padding:12px; border-radius:4px; margin-bottom:20px; }

.submit-button { background-color:#dc3545; color:#fff; padding:12px 30px; border:none; border-radius:4px; font-weight:bold; cursor:pointer; transition: background-color 0.3s ease; }
.submit-button:hover { background-color:#a02a2a; color:#fff; }
.submit-button:disabled { background-color:#999; cursor:not-allowed; }

.error-validation { color:#dc3545; font-size:0.85rem; margin-top:5px; }
.text-center-submit { text-align:center; margin-top:30px; }

/* ---- Contacto ---- */
.contact-info-section { background-color:#f8f9fa; padding:20px; border-radius:4px; margin-top:30px; }
.contact-info-section h3 { color:#990000; font-weight:bold; margin-bottom:15px; font-size:1.1rem; }
.contact-group { margin-bottom:20px; }
.contact-group-title { color:#dc3545; font-weight:bold; margin-bottom:10px; }
.contact-item { margin-bottom:8px; line-height:1.6; }
.contact-item strong { color:#333; }
.contact-item a { color:#dc3545; text-decoration:none; }
.contact-item a:hover { text-decoration: underline; }
.form-field-help { font-size:0.85rem; color:#999; margin-top:3px; }

/* ---- Cabecera TitUp ---- */
.header-titup { background:#fff; margin-bottom:18px; }
.header-link { color:#2b2b2b; text-decoration:none; font-size:1rem; font-family:'Arial', sans-serif; font-weight:500; padding:0 3px; transition: color 0.2s; }
.header-link:hover { color:#dc3545; text-decoration: underline; }
.titup-image { border-radius:6px; box-shadow:0 2px 12px rgba(220,53,69,0.08); min-height:48px; object-fit:cover; }

/* ---- Menú overlay (secciones) ---- */
.menu-overlay-wrap { position:relative; }
.menu-secciones { position:relative; }
.menu-overlay-drop {
  display:none; position:absolute; left:0; top:100%; min-width:230px; background:#333; z-index:1000;
  padding:0.85em 0.8em; border-radius:0 0 7px 7px; box-shadow:0 10px 32px rgba(0,0,0,0.14); white-space:normal;
}
.menu-overlay-drop.show { display:block; }
.menu-overlay-drop ul { list-style-type:disc; padding-left:20px; margin:0; }
.menu-overlay-drop ul li { color:#fff; padding:3px 0; font-weight:600; }
.menu-overlay-drop ul li a { color:#fff !important; text-decoration:none; }
.menu-overlay-drop ul li a:hover { color:#dc3545 !important; text-decoration: underline; }

/* ---- Ticker / módulos laterales ---- */
#pscroller1 {
  font-family: 'Segoe UI', Arial, Helvetica, sans-serif; font-size:0.94rem; color:#333; width:100%; max-width:100%;
  height: <%=hcss%>px; border-radius:6px; background:#fff; border:1px solid #eee; box-shadow:0 2px 8px rgba(71,0,1,0.07);
  padding:15px 10px 15px 14px; margin-bottom:17px; margin-top:2px; min-height:67px; position:relative; overflow:hidden;
}
.innerDiv { position:absolute; width:100%; }
#pscroller1 a.uh-link { color:#b6001b; font-weight:600; text-decoration:none; transition: color 0.17s; }
#pscroller1 a.uh-link:hover { color:#dc3545; text-decoration: underline; }
#pscroller1 .noticia-item { display:flex; align-items:flex-start; gap:8px; margin-bottom:5px; }
#pscroller1 .noticia-icon { margin-top:3px; color:#dc3545; font-size:0.8em; flex-shrink:0; }
#pscroller1 .noticia-titulo { font-size:0.97em; font-weight:600; display:inline-block; margin-bottom:2px; margin-right:3px; }
#pscroller1 .noticia-fecha { color:#888; font-size:0.8em; display:inline-block; }

.side-module-box { background:#fafafa; border-radius:6px; margin-bottom:18px; box-shadow:0 2px 12px rgba(220,53,69,0.05); border:1px solid #eee; }
.side-module-title { font-size:1.06rem; font-weight:bold; padding:0.8rem 1rem; background:#F4F4F4; color:#c20f1f; border-radius:6px 6px 0 0; margin-bottom:0; }
.side-module-inner { padding:0.8rem 1rem; }
.img-responsive { width:100%; height:auto; border-radius:5px; box-shadow:0 2px 4px rgba(0,0,0,0.05); margin-bottom:10px; }
.pequenogcentro { text-align:center; }

/* ---- Buscador / resultados ---- */
.search-header { background-color:#f0f4ff; border-left:4px solid #990000; padding:15px; margin-bottom:20px; border-radius:4px; }
.search-header h3 { margin:0; color:#333; font-size:1.1rem; }
.search-header strong { color:#990000; }

.search-results { margin-bottom:30px; }
.result-item { background:#fff; border-left:4px solid #dc3545; padding:15px; margin-bottom:15px; border-radius:3px; transition: box-shadow 0.3s ease; }
.result-item:hover { box-shadow:0 2px 8px rgba(0,0,0,0.1); }
.result-item-content { display:flex; gap:15px; align-items:flex-start; }
.result-icon { flex-shrink:0; width:30px; height:30px; display:flex; align-items:center; justify-content:center; }
.result-icon img { width:100%; height:auto; }
.result-text { flex:1; min-width:0; }
.result-link { color:#dc3545; text-decoration:none; font-weight:500; word-break: break-word; }
.result-link:hover { text-decoration: underline; }
.result-type { font-size:0.85rem; color:#999; display:flex; align-items:center; gap:5px; margin-top:5px; }
.result-type img { width:14px; height:14px; }
.no-results { background-color:#f8d7da; border:1px solid #f5c6cb; color:#721c24; padding:20px; border-radius:4px; text-align:center; margin:20px 0; }

.search-form-container { background-color:#ffe9d2; border:1px solid #ffd700; padding:20px; border-radius:4px; margin:30px 0; }
.search-form-title { font-weight:bold; margin-bottom:15px; color:#333; }
.search-form-wrapper { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.search-form-wrapper input[type="text"] { flex:1; min-width:200px; padding:8px 12px; border:1px solid #ccc; border-radius:4px; font-size:0.95rem; }
.search-form-wrapper select { padding:8px 12px; border:1px solid #ccc; border-radius:4px; font-size:0.95rem; background-color:#fff; }
.search-form-wrapper input[type="submit"] { padding:8px 20px; background-color:#dc3545; color:#fff; border:none; border-radius:4px; cursor:pointer; font-weight:bold; transition: background-color 0.3s ease; }
.search-form-wrapper input[type="submit"]:hover { background-color:#a02a2a; }

.results-count { background-color:#e7f3ff; border-left:4px solid #2196F3; padding:12px; margin-bottom:20px; border-radius:3px; color:#1976D2; font-size:0.95rem; }

.menu-overlay-wrap {
    position: relative;
}
.menu-secciones {
    position: relative;
}
.menu-overlay-drop {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 230px;
    background: #333;
    z-index: 1000;
    padding: 0.85em 0.8em;
    border-radius: 0 0 7px 7px;
    box-shadow: 0 10px 32px rgba(0,0,0,0.14);
    white-space: normal;
}

.menu-overlay-drop.show {
    display: block;
}

.menu-overlay-drop ul {
    list-style-type: disc;
    padding-left: 20px;
    margin: 0;
}

.menu-overlay-drop ul li {
    color: #fff;
    padding: 3px 0;
    font-weight: 600;
}

.menu-overlay-drop ul li a {
    color: #fff !important;
    text-decoration: none;
}

.menu-overlay-drop ul li a:hover {
    color: #dc3545 !important;
    text-decoration: underline;
}

/* Móvil: el overlay se vuelve estático y ancho 100% */
@media (max-width: 991.98px) {
    .menu-secciones {
        position: static !important;
    }
    .menu-overlay-drop {
        position: static !important;
        width: 100% !important;
        box-shadow: none;
        border-radius: 0 0 0.4em 0.4em;
        margin: 0.3em 0 0 0;
        padding: 10px;
    }
    .menu-overlay-drop ul {
        padding-left: 30px;
    }
}

/* ---------- MEDIA QUERIES ---------- */
@media (min-width: 768px) {
  .navbar-horizontal .navbar-toggler { display:none !important; }
  .navbar-horizontal .collapse { display:flex !important; width:100%; }
  .navbar-horizontal .navbar-nav { width:100%; display:flex !important; flex-wrap:wrap; flex-direction:row; }
}

@media (max-width: 767.98px) {
  .navbar-horizontal .navbar-toggler { display:block !important; }
  .navbar-horizontal .collapse { display:none !important; }
  .navbar-horizontal .collapse.show { display:block !important; width:100%; background-color:#333; }
  .navbar-horizontal .navbar-nav { flex-direction:column; width:100%; }
  .navbar-horizontal .nav-link {
    color:#fff !important; padding:15px 15px !important; border-right:none; border-bottom:1px solid #555;
    text-decoration:none; font-size:0.95rem; transition: background-color 0.3s ease;
  }
  .navbar-horizontal .nav-link:hover { background-color:#dc3545; color:#fff !important; }
  .navbar-horizontal .dropdown-menu { background-color:#2a2a2a; border:none; margin-top:0 !important; display:none; }
  .navbar-horizontal .dropdown-menu.show { display:block !important; }

  .header-titup { margin-bottom:8px; }
  .header-link { font-size:0.93rem; padding:0 2px; }
  .titup-image { border-radius:3px; min-height:32px; }

  .d-flex.flex-wrap.gap-2 { gap:0.5rem; }
}

@media (max-width: 575.98px) {
  .navbar-horizontal .navbar-toggler { display:block !important; }
  .navbar-horizontal .collapse { display:none !important; width:100%; background-color:#333; }
  .navbar-horizontal .collapse.show { display:block !important; }
  .navbar-horizontal .navbar-nav { flex-direction:column; width:100%; }
  .navbar-horizontal .nav-link { border-right:none; border-bottom:1px solid #555; padding:15px 15px !important; }

  .header-titup { padding-bottom:4px; }
  .titup-image { max-height:54px; min-height:26px; }
  .header-link { font-size:0.91rem; }
  .d-flex.flex-wrap.gap-2 { gap:0.3rem; }
  .px-2.pt-2 { padding-left:0.5rem!important; padding-right:0.5rem!important; padding-top:0.5rem!important; }

  .side-module-title, .side-module-inner { font-size:0.97rem; padding:0.7rem; }
  .img-responsive { max-width:165px; }
}

@media (max-width: 768px) {
  .side-module-title, .side-module-inner { font-size:0.97rem; padding:0.7rem; }
  .img-responsive { max-width:210px; }
}

@media (max-width: 991.98px) {
  .menu-secciones { position: static !important; }
  .menu-overlay-drop {
    position: static !important; width:100% !important; box-shadow:none; border-radius:0 0 0.4em 0.4em;
    margin:0.3em 0 0 0; padding:10px;
  }
  .menu-overlay-drop ul { padding-left:30px; }
}
