
/* =========================================================
   EDITORIAL ILADESA — OMP IMPACT V3.1
   Diseño institucional integrado
   Basado en V3 + refinamiento de navegación principal
   Azul institucional: #0E4474
   ========================================================= */

:root{
  --ila-blue:#0E4474;
  --ila-blue-2:#0A365B;
  --ila-blue-3:#072A45;
  --ila-cyan:#18A8E0;
  --ila-gold:#F2B01E;
  --ila-green:#22C55E;
  --ila-ink:#17324D;
  --ila-text:#24364A;
  --ila-muted:#6B7C8F;
  --ila-line:#DDE8F0;
  --ila-bg:#F5F9FC;
  --ila-white:#FFFFFF;
  --ila-shadow:0 12px 28px rgba(7,42,69,.10);
  --ila-shadow-soft:0 6px 18px rgba(14,68,116,.07);
  --ila-radius:16px;
}

/* =========================================================
   BASE
   ========================================================= */

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  color:var(--ila-text);
  background:#fff;
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
  line-height:1.65;
}

a{
  color:var(--ila-blue);
  text-decoration:none;
  transition:.2s ease;
}

a:hover,
a:focus{
  color:var(--ila-blue-3);
  text-decoration:none;
}

h1,h2,h3,h4,h5,h6{
  color:var(--ila-blue-3);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.01em;
}

/* =========================================================
   CABECERA
   ========================================================= */

.pkp_structure_head{
  background:
    linear-gradient(135deg,#0E4474 0%,#0A365B 62%,#072A45 100%);
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 22px rgba(7,42,69,.14);
  position:relative;
  z-index:50;
}

.pkp_site_name_wrapper{
  background:transparent;
}

.pkp_site_name{
  padding-top:12px;
  padding-bottom:12px;
}

.pkp_site_name .is_img img{
  max-height:138px;
  width:auto;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.10));
}

/* =========================================================
   BARRA DE USUARIO SUPERIOR
   ========================================================= */

.pkp_navigation_user_wrapper{
  background:rgba(7,42,69,.28);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.pkp_navigation_user > li > a{
  color:#fff;
  font-weight:600;
}

.pkp_navigation_user > li > a:hover{
  color:var(--ila-gold);
}

/* =========================================================
   MENÚ PRINCIPAL
   ========================================================= */

.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper{
  background:linear-gradient(90deg,#0B3B65,#0E4D84);
  border-top:1px solid rgba(255,255,255,.08);
  box-shadow:0 5px 12px rgba(7,42,69,.08);
  position:relative;
  z-index:100;
}

.pkp_navigation_primary{
  display:flex;
  align-items:center;
  gap:0;
  flex-wrap:wrap;
}

.pkp_navigation_primary > li{
  position:relative;
}

/* Separadores verticales entre opciones */
.pkp_navigation_primary > li:not(:last-child)::before{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:24px;
  background:rgba(255,255,255,.22);
  pointer-events:none;
}

.pkp_navigation_primary > li > a{
  color:#fff;
  font-weight:700;
  padding:16px 22px;
  display:block;
  position:relative;
  letter-spacing:.005em;
}

/* Hover ligero */
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus{
  color:#fff;
  background:rgba(255,255,255,.07);
}

/* Línea inferior institucional dorado + celeste */
.pkp_navigation_primary > li > a::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:7px;
  height:3px;
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      var(--ila-gold) 0%,
      var(--ila-gold) 55%,
      var(--ila-cyan) 55%,
      var(--ila-cyan) 100%
    );
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}

.pkp_navigation_primary > li > a:hover::after,
.pkp_navigation_primary > li > a:focus::after,
.pkp_navigation_primary > li:hover > a::after,
.pkp_navigation_primary > li:focus-within > a::after{
  transform:scaleX(1);
}

/* =========================================================
   SUBMENÚS
   ========================================================= */

.pkp_navigation_primary ul{
  position:absolute;
  top:100%;
  left:0;
  min-width:270px;
  margin:0;
  padding:8px;
  background:#fff;
  border:1px solid var(--ila-line);
  border-radius:0 0 14px 14px;
  box-shadow:var(--ila-shadow);
  z-index:9999;
  overflow:visible;
}

.pkp_navigation_primary ul li{
  display:block;
  width:100%;
}

.pkp_navigation_primary ul a{
  display:block;
  padding:11px 14px;
  color:var(--ila-ink);
  border-radius:9px;
  font-weight:500;
  white-space:normal;
}

.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus{
  color:var(--ila-blue);
  background:#EAF5FC;
}

/* Evita que contenido o columnas oculten el desplegable */
.pkp_structure_content,
.pkp_structure_main,
.pkp_structure_sidebar,
.pkp_structure_page{
  overflow:visible !important;
}

/* =========================================================
   BUSCADOR
   ========================================================= */

.pkp_head_wrapper .pkp_search{
  border-radius:10px;
}

.pkp_search_desktop{
  color:#fff !important;
}

.pkp_search_desktop:hover{
  color:var(--ila-gold) !important;
}

/* =========================================================
   CONTENIDO
   ========================================================= */

.pkp_structure_main{
  padding-top:30px;
}

.pkp_structure_content{
  gap:28px;
}

.page h1,
.page_series h1,
.page_catalog h1,
.page_about h1,
.page_submissions h1,
.page_announcement h1{
  position:relative;
  color:var(--ila-blue-3);
  font-size:2rem;
  padding-bottom:14px;
  margin-bottom:24px;
}

.page h1:after,
.page_series h1:after,
.page_catalog h1:after,
.page_about h1:after,
.page_submissions h1:after,
.page_announcement h1:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:96px;
  height:4px;
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      var(--ila-gold) 0 52%,
      var(--ila-cyan) 52% 100%
    );
}

/* =========================================================
   MIGAS DE PAN
   ========================================================= */

.cmp_breadcrumbs{
  display:flex;
  align-items:center;
  gap:6px;
  background:#F6FAFD;
  border-bottom:1px solid var(--ila-line);
  padding:12px 16px;
  margin-bottom:22px;
  border-radius:0;
}

.cmp_breadcrumbs,
.cmp_breadcrumbs a{
  color:var(--ila-muted);
  font-size:.92rem;
}

/* =========================================================
   BOTONES
   ========================================================= */

button,
.button,
.cmp_button,
input[type="submit"],
a.cmp_button,
.pkp_button{
  border-radius:10px !important;
  border:1px solid var(--ila-blue) !important;
  background:linear-gradient(135deg,#128DD0,#0B67A8) !important;
  color:#fff !important;
  font-weight:700;
  padding:10px 16px !important;
  box-shadow:0 6px 16px rgba(14,68,116,.14);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

button:hover,
.button:hover,
.cmp_button:hover,
input[type="submit"]:hover,
a.cmp_button:hover,
.pkp_button:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 20px rgba(14,68,116,.20);
  background:linear-gradient(135deg,#0E77BA,#0A4F83) !important;
}

/* Botón lateral “Enviar…” */
.pkp_structure_sidebar .cmp_button,
.pkp_structure_sidebar .pkp_button{
  width:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
}

/* =========================================================
   TARJETAS DE CATÁLOGO / LIBROS
   ========================================================= */

.obj_monograph_summary{
  margin-bottom:18px;
  padding:18px;
  border:1px solid var(--ila-line);
  border-radius:var(--ila-radius);
  background:#fff;
  box-shadow:var(--ila-shadow-soft);
  transition:.2s ease;
}

.obj_monograph_summary:hover{
  transform:translateY(-3px);
  box-shadow:var(--ila-shadow);
  border-color:#C6DAE8;
}

.obj_monograph_summary .title a{
  color:var(--ila-blue);
  font-weight:800;
  font-size:1.06rem;
}

.obj_monograph_summary .cover img,
.obj_monograph_details .cover img{
  border-radius:8px;
  box-shadow:0 10px 24px rgba(0,0,0,.14);
}

/* =========================================================
   SERIES Y DESCRIPCIONES
   ========================================================= */

.page_series .description,
.page_catalog .description,
.page_about .description{
  border:1px solid var(--ila-line);
  border-left:4px solid var(--ila-blue);
  border-radius:14px;
  padding:18px 20px;
  background:linear-gradient(180deg,#FBFDFF,#F7FAFC);
  box-shadow:0 4px 14px rgba(14,68,116,.05);
}

/* =========================================================
   AVISOS
   ========================================================= */

.obj_announcement_summary{
  border:0;
  padding:0 0 18px 0;
  background:#fff;
}

.obj_announcement_summary .title a{
  color:var(--ila-blue-3);
  font-weight:800;
  font-size:1.15rem;
}

.obj_announcement_summary .description{
  color:var(--ila-text);
}

/* =========================================================
   SIDEBAR
   ========================================================= */

.pkp_structure_sidebar .pkp_block{
  border:1px solid var(--ila-line);
  border-radius:16px;
  background:#fff;
  padding:20px;
  margin-bottom:20px;
  box-shadow:var(--ila-shadow-soft);
}

.pkp_structure_sidebar .title{
  position:relative;
  color:var(--ila-blue-3);
  font-weight:800;
  font-size:1.18rem;
  padding-bottom:11px;
  margin-bottom:14px;
}

.pkp_structure_sidebar .title:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:3px;
  background:
    linear-gradient(
      90deg,
      var(--ila-gold) 0 18%,
      #FFD875 18% 100%
    );
  border-radius:999px;
}

.pkp_structure_sidebar ul{
  margin:0;
  padding:0;
  list-style:none;
}

.pkp_structure_sidebar li{
  margin:0;
  padding:8px 0;
}

.pkp_structure_sidebar li a{
  color:var(--ila-blue);
  font-weight:500;
}

.pkp_structure_sidebar li a:hover{
  color:var(--ila-blue-3);
}

/* =========================================================
   FORMULARIOS
   ========================================================= */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="search"],
textarea,
select{
  border:1px solid #C9D5DF;
  border-radius:9px;
  padding:10px 11px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease;
}

input:focus,
textarea:focus,
select:focus{
  border-color:var(--ila-cyan);
  outline:none;
  box-shadow:0 0 0 4px rgba(24,168,224,.12);
}

/* =========================================================
   TABLAS
   ========================================================= */

table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid var(--ila-line);
  border-radius:12px;
}

table th{
  background:linear-gradient(135deg,var(--ila-blue),var(--ila-blue-2));
  color:#fff;
  font-weight:700;
}

table th,
table td{
  padding:11px 13px;
  border-bottom:1px solid var(--ila-line);
}

table tr:nth-child(even) td{
  background:#F8FAFC;
}

/* =========================================================
   BLOQUES PERSONALIZADOS ILADESA
   ========================================================= */

.iladesa-card{
  border:1px solid var(--ila-line);
  border-left:4px solid var(--ila-blue);
  border-radius:14px;
  padding:18px;
  background:#fff;
  box-shadow:var(--ila-shadow-soft);
}

.iladesa-card-title{
  color:var(--ila-blue);
  font-weight:800;
  font-size:1.08rem;
  margin-bottom:7px;
}

.iladesa-chip{
  display:inline-block;
  padding:6px 11px;
  margin:3px;
  border-radius:999px;
  background:#EAF3FA;
  color:var(--ila-blue);
  border:1px solid #D8E7F1;
  font-size:.84rem;
  font-weight:700;
}

.iladesa-cta{
  display:inline-block;
  background:linear-gradient(135deg,#128DD0,#0B67A8);
  color:#fff !important;
  padding:10px 15px;
  border-radius:10px;
  font-weight:700;
  text-decoration:none !important;
  box-shadow:0 5px 13px rgba(14,68,116,.16);
}

/* =========================================================
   PIE DE PÁGINA
   ========================================================= */

.pkp_structure_footer_wrapper{
  background:linear-gradient(135deg,var(--ila-blue-3),var(--ila-blue));
  color:#fff;
  border-top:4px solid var(--ila-gold);
  box-shadow:0 -8px 24px rgba(7,42,69,.08);
}

.pkp_structure_footer_wrapper a{
  color:#D7EDF8;
}

.pkp_structure_footer_wrapper a:hover{
  color:#fff;
}

/* =========================================================
   BARRA SUPERIOR DE CONTACTO — OPCIONAL
   Para usarla si se inserta un bloque HTML personalizado
   ========================================================= */

.iladesa-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding:8px 18px;
  background:#083A66;
  color:#fff;
  font-size:.88rem;
}

.iladesa-topbar-group{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

.iladesa-topbar a{
  color:#fff !important;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:600;
}

.iladesa-topbar a:hover{
  color:var(--ila-gold) !important;
}

/* WhatsApp opcional */
.iladesa-whatsapp{
  color:#fff !important;
}

.iladesa-whatsapp:before{
  content:"●";
  color:#25D366;
  font-size:1.15rem;
  line-height:1;
}

/* =========================================================
   RESPONSIVE / MÓVIL
   ========================================================= */

@media(max-width:992px){

  .pkp_site_name .is_img img{
    max-height:108px;
  }

  .pkp_navigation_primary > li > a{
    padding:14px 16px;
  }

  .pkp_navigation_primary > li > a::after{
    left:16px;
    right:16px;
  }
}

@media(max-width:768px){

  h1{
    font-size:1.7rem;
  }

  h2{
    font-size:1.35rem;
  }

  .pkp_site_name .is_img img{
    max-height:84px;
  }

  .pkp_structure_main{
    padding-top:20px;
  }

  .pkp_navigation_primary{
    display:block;
  }

  .pkp_navigation_primary > li{
    width:100%;
  }

  /* En móvil se eliminan separadores verticales */
  .pkp_navigation_primary > li::before{
    display:none;
  }

  .pkp_navigation_primary > li > a{
    padding:12px 15px;
  }

  .pkp_navigation_primary > li > a::after{
    left:15px;
    right:15px;
  }

  /* En móvil el submenú entra al flujo para evitar solapamiento */
  .pkp_navigation_primary ul{
    position:static !important;
    min-width:0;
    width:100%;
    border-radius:0;
    box-shadow:none;
    margin:0;
    padding:6px 10px 10px 18px;
    border-left:3px solid var(--ila-cyan);
  }

  .pkp_navigation_primary ul a{
    padding:10px 12px;
  }

  .obj_monograph_summary{
    padding:14px;
  }

  .iladesa-topbar{
    justify-content:center;
    text-align:center;
  }

  .iladesa-topbar-group{
    justify-content:center;
  }
}

/* =========================================================
   IMPRESIÓN
   ========================================================= */

@media print{

  .pkp_structure_head,
  .pkp_structure_sidebar,
  .pkp_structure_footer_wrapper,
  .pkp_navigation_primary_wrapper,
  .iladesa-topbar{
    display:none !important;
  }

  body{
    color:#000;
    background:#fff;
  }

  a{
    color:#000;
    text-decoration:none;
  }
}
