/* =========================================================
   ITS - Nivel Terciario
   Estilo visual nuevo, manteniendo las URLs y funciones
   de la página original.
   ========================================================= */

:root {
  --ter-primary: #c1272d;
  --ter-primary-dark: #9f1f24;
  --ter-blue: #15566f;
  --ter-text: #263238;
  --ter-muted: #6b7479;
  --ter-bg: #f6f7f8;
  --ter-card: #ffffff;
  --ter-border: #e5e8ea;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ter-text); background: #fff; }

.terciario-hero {
  background: linear-gradient(135deg, #eef5f7 0%, #fff 58%, #f7eeee 100%);
  border-bottom: 1px solid var(--ter-border);
}

.terciario-hero-inner {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  min-height: 390px;
  display: grid;
  grid-template-columns: 1fr 510px;
  gap: 55px;
  align-items: center;
  padding: 42px 0;
}

.terciario-hero-copy { padding: 10px 0; }
.terciario-hero-copy .section-kicker { display: block; margin-bottom: 12px; }
.terciario-hero-level {
  display: inline-block;
  color: var(--ter-primary);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .13em;
  margin-bottom: 8px;
}
.terciario-hero h1 { margin: 0 0 14px; font-size: clamp(2.3rem, 5vw, 4rem); line-height: 1.05; }
.terciario-hero p { max-width: 610px; color: var(--ter-muted); font-size: 1.1rem; line-height: 1.65; margin: 0 0 26px; }
.terciario-promo { display: flex; justify-content: center; }
.terciario-promo img { display: block; width: 510px; max-width: 100%; height: auto; box-shadow: 0 15px 40px rgba(30,45,55,.12); border-radius: 4px; }

.terciario-section,
.terciario-tools,
.terciario-news,
.terciario-contact,
.terciario-map { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.terciario-section { padding: 72px 0 60px; }
.section-heading { margin-bottom: 30px; }
.section-heading .section-kicker { display: block; margin-bottom: 7px; }
.section-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 2.7rem); }
.section-heading p { color: var(--ter-muted); margin: 10px 0 0; }

.career-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.career-card,
.career-contact-card {
  min-height: 310px;
  background: var(--ter-card);
  border: 1px solid var(--ter-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(20,35,45,.06);
}
.career-card { display: flex; flex-direction: column; text-decoration: none; color: var(--ter-text); transition: transform .2s ease, box-shadow .2s ease; }
.career-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(20,35,45,.11); }
.career-card img { width: 100%; height: 170px; object-fit: cover; display: block; }
.career-card span, .career-card strong { padding-left: 20px; padding-right: 20px; }
.career-card span { padding-top: 18px; font-size: .98rem; }
.career-card strong { padding-top: 2px; padding-bottom: 20px; color: var(--ter-primary); font-size: 1.1rem; line-height: 1.35; }

.career-contact-card { padding: 30px; display: flex; flex-direction: column; justify-content: center; background: #f8fafb; }
.career-contact-card h3 { margin: 8px 0 10px; font-size: 1.35rem; }
.career-contact-card p { color: var(--ter-muted); line-height: 1.6; }
.career-contact-card a { margin-top: 10px; font-size: 1.45rem; font-weight: 700; color: var(--ter-primary); text-decoration: none; }

.terciario-tools { padding: 30px 0 72px; }
.tools-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.tool-card { background: var(--ter-bg); border: 1px solid var(--ter-border); border-radius: 12px; padding: 24px; }
.tool-icon { color: var(--ter-primary); font-size: 1.7rem; margin-bottom: 8px; }
.tool-card h3 { margin: 0 0 7px; font-size: 1.15rem; }
.tool-card p { color: var(--ter-muted); line-height: 1.5; min-height: 46px; }
.loginform { display: grid; gap: 9px; }
.loginform input[type=text], .loginform input[type=password] { width: 100%; padding: 11px 12px; border: 1px solid #d8dde0; border-radius: 7px; background: #fff; }
.tool-button, .tool-button-link { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 42px; border: 0; border-radius: 7px; background: var(--ter-primary); color: #fff; text-decoration: none; font-weight: 700; cursor: pointer; }
.tool-button:hover, .tool-button-link:hover { background: var(--ter-primary-dark); }

.terciario-news { padding: 20px 0 72px; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.news-card, .news-inscription { border: 1px solid var(--ter-border); border-radius: 12px; overflow: hidden; background: #fff; text-decoration: none; color: var(--ter-text); box-shadow: 0 7px 22px rgba(20,35,45,.05); }
.news-card img { display: block; width: 100%; height: 180px; object-fit: cover; }
.news-card span { display: block; padding: 18px; font-weight: 600; }
.news-inscription { min-height: 240px; padding: 28px; display: flex; flex-direction: column; justify-content: center; background: var(--ter-blue); color: #fff; }
.news-inscription strong { font-size: 1.5rem; margin-bottom: 10px; }
.news-inscription span { opacity: .9; line-height: 1.5; }
.news-inscription b { margin-top: 22px; display: inline-block; background: #fff; color: var(--ter-blue); border-radius: 7px; padding: 11px 16px; width: fit-content; }

.terciario-contact { padding: 0 0 72px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; background: var(--ter-bg); border: 1px solid var(--ter-border); border-radius: 16px; padding: 42px; }
.contact-copy h2 { margin: 6px 0 12px; font-size: 2.2rem; }
.contact-copy > p { color: var(--ter-muted); line-height: 1.7; max-width: 540px; }
.contact-data { display: grid; gap: 6px; margin-top: 22px; }
.contact-data a { color: var(--ter-primary); text-decoration: none; }
.contact-form { display: grid; gap: 8px; }
.contact-form label { font-size: .9rem; font-weight: 700; margin-top: 5px; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid #d8dde0; border-radius: 8px; padding: 12px; font: inherit; background: #fff; }
.contact-form textarea { min-height: 130px; resize: vertical; }
.contact-form button { border: 0; border-radius: 8px; padding: 13px 18px; background: var(--ter-primary); color: #fff; font-weight: 700; cursor: pointer; margin-top: 6px; }
.contact-form button:hover { background: var(--ter-primary-dark); }

.terciario-map { padding: 0 0 72px; }
.terciario-map iframe { display: block; border-radius: 12px; box-shadow: 0 8px 24px rgba(20,35,45,.08); }

@media (max-width: 980px) {
  .terciario-hero-inner { grid-template-columns: 1fr; gap: 25px; }
  .terciario-promo { justify-content: flex-start; }
  .career-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-grid { grid-template-columns: 1fr 1fr; }
  .news-inscription { grid-column: span 2; }
}

@media (max-width: 680px) {
  .terciario-hero-inner,
  .terciario-section,
  .terciario-tools,
  .terciario-news,
  .terciario-contact,
  .terciario-map { width: min(100% - 24px, 1180px); }
  .terciario-hero-inner { padding: 28px 0 36px; min-height: 0; }
  .career-grid, .tools-grid, .news-grid, .contact-grid { grid-template-columns: 1fr; }
  .news-inscription { grid-column: auto; }
  .contact-grid { padding: 25px; gap: 25px; }
  .career-card img { height: 190px; }
}
