@charset "UTF-8";

@font-face { font-family:'Normalidad Wide Black'; src:url('../webfonts/NormalidadWideBlack.woff2') format('woff2'), url('../webfonts/NormalidadWideBlack.woff') format('woff'); font-weight:900; font-style:normal; font-display:swap; }
/* --------------------------------------------------------------------------
   2. Alegreya
   -------------------------------------------------------------------------- */
@font-face { font-family:'Alegreya'; src:url('../webfonts/Alegreya-Regular.woff2') format('woff2'), url('../webfonts/Alegreya-Regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Alegreya'; src:url('../webfonts/Alegreya-Italic.woff2') format('woff2'), url('../webfonts/Alegreya-Italic.woff') format('woff'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Alegreya'; src:url('../webfonts/Alegreya-Bold.woff2') format('woff2'), url('../webfonts/Alegreya-Bold.woff') format('woff'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Alegreya'; src:url('../webfonts/Alegreya-BoldItalic.woff2') format('woff2'), url('../webfonts/Alegreya-BoldItalic.woff') format('woff'); font-weight:700; font-style:italic; font-display:swap; }

/* --------------------------------------------------------------------------
   3. Josefin Sans
   -------------------------------------------------------------------------- */
@font-face { font-family:'Josefin Sans'; src:url('../webfonts/JosefinSans-Regular.woff2') format('woff2'), url('../webfonts/JosefinSans-Regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Josefin Sans'; src:url('../webfonts/JosefinSans-Italic.woff2') format('woff2'), url('../webfonts/JosefinSans-Italic.woff') format('woff'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Josefin Sans'; src:url('../webfonts/JosefinSans-SemiBold.woff2') format('woff2'), url('../webfonts/JosefinSans-SemiBold.woff') format('woff'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Josefin Sans'; src:url('../webfonts/JosefinSans-SemiBoldItalic.woff2') format('woff2'), url('../webfonts/JosefinSans-SemiBoldItalic.woff') format('woff'); font-weight:600; font-style:italic; font-display:swap; }
@font-face { font-family:'Josefin Sans'; src:url('../webfonts/JosefinSans-Bold.woff2') format('woff2'), url('../webfonts/JosefinSans-Bold.woff') format('woff'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Josefin Sans'; src:url('../webfonts/JosefinSans-BoldItalic.woff2') format('woff2'), url('../webfonts/JosefinSans-BoldItalic.woff') format('woff'); font-weight:700; font-style:italic; font-display:swap; }

:root { 
  --color-vino:#791a46; 
  --color-lavanda:#a282ef; 
  --color-verde:#1a3d29; 
  --color-verde-dark:#0f2619; 
  --color-naranja:#f04734; 
  --color-crema:#f7f2e4; 
  --color-gris:#eae8e9; 
  --color-blanco:#FFFFFF; 
  --font-titular:'Normalidad Wide Black', sans-serif; 
  --font-subtitular:'Josefin Sans', sans-serif; 
  --font-lectura:'Alegreya', serif; 
}

/* BASE & TYPO */
body { background-color:var(--color-crema); color:#2b2b2b; font-family:var(--font-lectura); }

.font-titular { font-family:var(--font-titular); }
.font-subtitular { font-family:var(--font-subtitular); }
.font-lectura { font-family:var(--font-lectura); }
.fs-7 { font-size:0.85rem; }
.fs-8 { font-size:0.75rem; }

/* UTILITIES PALETA */
.bg-crema { background-color:var(--color-crema) !important; }
.bg-gris { background-color:var(--color-gris) !important; }
.bg-verde { background-color:var(--color-verde) !important; }
.bg-verde-dark { background-color:var(--color-verde-dark) !important; }
.bg-vino { background-color:var(--color-vino) !important; }
.bg-lavanda { background-color:var(--color-lavanda) !important; }
.bg-naranja { background-color:var(--color-naranja) !important; }

.text-blanco { color:var(--color-blanco) !important; }
.text-vino { color:var(--color-vino) !important; }
.text-verde { color:var(--color-verde) !important; }
.text-lavanda { color:var(--color-lavanda) !important; }
.text-naranja { color:var(--color-naranja) !important; }
.text-crema { color:var(--color-crema) !important; }
.text-crema-subtle { color:rgba(247, 242, 228, 0.85); }
.text-dark { color:var(--color-verde-dark); }

.btn-naranja { background-color:var(--color-naranja); color:#fff; border:none; transition:all 0.2s ease; }
.btn-naranja:hover { background-color:#d63826; color:#fff; transform:translateY(-2px); }

.wpcf7-field-group { margin-bottom:1rem; }
#autores-groups .wpcf7-field-group:last-child { margin-bottom:0; }
.wpcf7-field-group-add, .wpcf7-field-group-remove { font-family:var(--font-subtitular); font-size:.9em; color:var(--color-blanco); padding: .25rem .75rem .5rem; border:0px none; border-radius:5px; background:var(--color-vino); }

.card-eje { transition:transform 0.25s ease, box-shadow 0.25s ease; border-radius:16px; overflow:hidden; }
.card-eje .card-body { display:flex; flex-direction:column; }
.card-eje h4 { margin-bottom:1.25rem; }
.card-eje ul { padding-left:1.1rem; margin-bottom:1rem; font-size:1rem; line-height:1.5; }
.card-eje ul li { margin-bottom:0.5rem; }
.card-eje ul li::marker { color:#791a46; }
.card-eje p { font-size:0.95rem; line-height:1.55; margin-bottom:0; }

.card-eje:hover { transform:translateY(-4px); }
.card-eje:hover .card-body { border-left-color:#e26d40 !important; transition:border-color 0.3s ease; }

#comite { position:relative; overflow:hidden; }
#comite:before { position:absolute; left:70%; top:0; width:100%; height:100%; content:''; background:url('../img/iso-negro.png') no-repeat left top; background-size:auto 150%; z-index:0; opacity:.02; }
#comite .container, #comite .container-xl { position:relative; z-index:1; }

/* --- SECCIÓN COMITÉ --- */
.foto-comite { width:128px; height:128px; object-fit:cover; filter:grayscale(85%); transition:all 0.3s ease; border:6px solid var(--color-crema); }
.card-comite:hover .foto-comite { filter:grayscale(0%); transform:scale(1.06); border-color:var(--color-vino); }
.item-internacional { transition:all 0.2s ease; }
.item-internacional:hover { transform:translateX(4px); border-color:var(--color-lavanda) !important; box-shadow:0 4px 10px rgba(121, 26, 70, 0.08) !important; }
.item-internacional { background-color:transparent !important; border:none !important; border-bottom:0px solid rgba(121, 26, 70, 0.15) !important; /* Línea vino sutil */ border-radius:0 !important; padding:0.4rem 0.25rem !important; transition:padding-left 0.2s ease, border-color 0.2s ease; }
.item-internacional:hover { padding-left:0.5rem !important; /* Desplazamiento fino a la derecha */ border-bottom-color:var(--color-vino) !important; box-shadow:none !important; }

.leading-tight { line-height:1.2; }
.shadow-2xs { box-shadow:0 1px 2px rgba(0, 0, 0, 0.1); }

/* TIMELINE CRONOGRAMA */
.timeline { list-style:none; padding:0; position:relative; }
.timeline::before { content:''; position:absolute; top:0; bottom:0; left:20px; width:3px; background:var(--color-blanco); opacity:1; }
.timeline-item { position:relative; padding-left:50px; margin-bottom:30px; }
.timeline-marker { position:absolute; left:11px; top:0; width:20px; height:20px; border-radius:50%; border:3px solid var(--color-crema); }

/* Cabecera Base */
html { scroll-behavior:smooth; scroll-padding-top:86px; }

header { transition:all 0.3s ease-in-out; }
.navbar-brand img { height:60px; filter:brightness(0) invert(1); }
.navbar-nav .nav-item { text-transform:uppercase; letter-spacing:1px; }
.navbar-nav .nav-link { color:var(--color-blanco); }
.navbar-nav .nav-link:hover { color:var(--color-naranja); }
.navbar-toggler { --bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
header.fixed { box-shadow:0 4px 12px rgba(0, 0, 0, 0.15); background-color:var(--color-crema) !important; }
header.fixed .navbar-brand img { filter:none; }
header.fixed .navbar-nav .nav-link { color:var(--color-vino); }
header.fixed .navbar-nav .nav-link:hover { color:var(--color-verde-dark); }
header.fixed .navbar-toggler { --bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23000000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.navbar-toggler { border:0px none; padding:0; box-shadow:none !important; }
header.menu-abierto { box-shadow:0 4px 12px rgba(0, 0, 0, 0.15); background-color:var(--color-crema) !important; }
header.menu-abierto .navbar-brand img { filter:none; }
header.menu-abierto .navbar-nav .nav-link { color:var(--color-vino); }
header.menu-abierto .navbar-nav .nav-link:hover { color:var(--color-verde-dark); }
header.menu-abierto .navbar-toggler { --bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23000000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

#hero { position:relative; height:100vh; overflow:hidden; display:flex; align-items:center; }
#hero:before { position:absolute; left:0; width:100%; height:100%; content:''; background:rgba(0, 0, 0, 0.6); z-index:2; }
.section-bg { position:absolute; left:0; width:100%; height:100%; object-fit:cover; object-position:center bottom; }
#hero .container-xl { position:relative; z-index:3; }
#hero .badge { letter-spacing:2px; }
#hero h1 { font-size:3.25rem; }
#hero .font-subtitular { text-shadow:0px 0px 15px rgba(0,0,0,0.75); }
#hero .text-crema-subtle { text-shadow:0px 0px 15px rgba(0,0,0,0.75); }
.btn-md { padding:.5rem 1.25rem .75rem; }

.logo-group { position:absolute; left:0; bottom:2rem; width:100%; justify-content:center; z-index:4; }
.logo-group img { max-height:32px; }
.logo-group img.logo-ifea { max-height:38px; }
.logo-group img.logo-ifea-2 { max-height:54px; }
.logo-group img.logo-unmsm { max-height:48px; }
.logo-group img.logo-unfv { max-height:50px; }

#ejes { background-color:#f2ede0 !important; }
#ejes .font-subtitular { letter-spacing:-0.03em; }

#postulacion .section-bg { opacity:0.05; transform:scaleX(-1); }

#hero .fs-4.font-subtitular { color:#FFF !important; font-weight:500 !important; font-size:2rem !important; text-shadow:none !important; margin-bottom:3rem !important; }
#hero .btn.font-subtitular { text-shadow:none; }

.wpcf7-not-valid-tip { font-size:.7em !important; font-family:sans-serif; margin-top:.2rem; }

@media (max-width:991.98px){ 
  #navbarNav { padding-top:2rem; padding-bottom:2rem; text-align:center; }
  #hero h1 { font-size:2.75rem; }
  #hero .fs-4.font-subtitular { font-size:1.75rem !important; }
}

@media (max-width:575.98px){ 
  html { scroll-padding-top:76px; }
  .navbar-brand img { height:50px; }
  #hero { height:100dvh; }
  #hero h1 { font-size:1.5rem; line-height:1.2; }
  #hero .fs-4.font-subtitular { font-size:1rem !important; margin-bottom:2rem !important; }
  .btn-md { padding:.5rem .75rem .75rem; white-space:nowrap; font-size:.8em; }
  .logo-group { bottom:1.25rem; flex-wrap:wrap; }
  .logo-group img { max-height:30px; }
  .logo-group img.logo-unmsm, .logo-group img.logo-ifea-2, .logo-group img.logo-unfv { max-height:34px; }

  .foto-comite { width:100px; height:100px; }
}
