@charset "UTF-8";

:root{
  --retiro-bg:#ffffff;
  --retiro-page-bg:#f4f1eb;
  --retiro-paper:#fbf8f2;
  --retiro-surface:#fffdf9;
  --retiro-surface-soft:#eee9df;

  /* Paleta institucional compartida para formularios */
  --retiro-form-section-bg:#f1ece4;
  --retiro-form-shell:transparent;
  --retiro-form-card:#ebe3d7;
  --retiro-form-card-soft:transparent;
  --retiro-form-field:#f2eadf;
  --retiro-form-field-focus:#f8f3eb;
  --retiro-form-button:transparent;
  --retiro-form-muted:#625f58;

  --retiro-ink:#182231;
  --retiro-muted:#66717b;
  --retiro-dark:#07111f;
  --retiro-dark-2:#030914;
  --retiro-navy:#071426;
  --retiro-accent:#c78c31;
  --retiro-accent-deep:#9e6b25;
  --retiro-accent-soft:#efe1c9;
  --retiro-ivory:#f4eadb;
  --retiro-border:#ddd7cd;
  --retiro-border-strong:#c8c0b4;
  --retiro-shadow:0 16px 38px rgba(7,17,31,.09);
  --retiro-radius:14px;
  --retiro-sans:"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --retiro-serif:"EB Garamond",Georgia,"Times New Roman",serif;
}

html{scroll-behavior:smooth;scroll-padding-top:78px;}
body{background:var(--retiro-page-bg);color:var(--retiro-ink);}
img{max-width:100%;height:auto;}

.retiro-data-note{
  max-width:880px;margin:0 auto 2rem;padding:1rem 1.2rem;
  border:1px solid var(--retiro-border);border-radius:10px;
  background:var(--retiro-paper);color:var(--retiro-muted);
  text-align:center;font-family:var(--retiro-serif);font-size:1rem;
}
.retiro-status-box{
  max-width:850px;margin:1.5rem auto;padding:1.2rem 1.4rem;border-radius:10px;
  background:var(--retiro-surface-soft);border:1px solid var(--retiro-border);
  color:var(--retiro-ink);text-align:center;
}

/* =========================================================
   BANNER GLOBAL DE PÁGINAS INTERNAS
   Un solo componente para todas las páginas internas.
========================================================= */
body.retiro-internal{background:var(--retiro-page-bg);}
.retiro-page-banner{
  position:relative;
  margin-top:72px;
  padding:3.45rem 1.5rem 3.2rem;
  overflow:hidden;
  background:var(--retiro-dark);
  color:var(--retiro-ivory);
  border-bottom:1px solid rgba(199,140,49,.38);
}
.retiro-page-banner-inner{
  width:min(980px,92vw);
  margin:0 auto;
  text-align:center;
}
.retiro-page-banner-eyebrow{
  margin:0 0 .75rem;
  color:var(--retiro-accent);
  font-family:var(--retiro-sans);
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.24em;
  line-height:1.25;
  text-transform:uppercase;
}
.retiro-page-banner h1{
  margin:0;
  color:var(--retiro-ivory)!important;
  font-family:var(--retiro-serif);
  font-size:clamp(2.75rem,5vw,4.8rem);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.02em;
}
.retiro-page-banner-divider{
  width:min(204px,48vw);
  height:14px;
  margin:1.10rem auto .94rem;
  display:grid;
  grid-template-columns:1fr 10px 1fr;
  gap:.62rem;
  align-items:center;
}
.retiro-page-banner-divider::before,
.retiro-page-banner-divider::after{
  content:"";
  display:block;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,
    rgba(200,138,56,0) 0%,
    rgba(214,160,80,.14) 14%,
    rgba(234,188,115,.30) 32%,
    rgba(205,145,60,.44) 50%,
    rgba(234,188,115,.30) 68%,
    rgba(214,160,80,.14) 86%,
    rgba(200,138,56,0) 100%
  );
}
.retiro-page-banner-divider span{
  position:relative;
  width:8px;
  height:8px;
  margin:auto;
  border:1px solid #d59d49;
  transform:rotate(45deg);
}
.retiro-page-banner-divider span::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:2px;
  height:2px;
  border-radius:50%;
  background:#d59d49;
  transform:translate(-50%,-50%);
}
.retiro-page-banner p{
  max-width:760px;
  margin:0 auto;
  color:rgba(244,234,219,.78);
  font-family:var(--retiro-serif);
  font-size:clamp(1rem,1.4vw,1.16rem);
  line-height:1.62;
}

/* Oculta encabezados heredados que ahora reemplaza el banner global. */
body.retiro-internal .tr-hero,
body.retiro-internal .cl-hero,
body.retiro-internal .faq-hero,
body.retiro-internal .ixp-hero,
body.retiro-internal .ig-hero,
body.retiro-internal .ley-hero,
body.retiro-internal .tol-hero,
body.retiro-internal .tm-hero,
body.retiro-internal .retiro-institution-hero,
body.retiro-internal #tp > .container > .row > div > .tp-title:first-child{
  display:none!important;
}

/* =========================================================
   ESTRUCTURA COMÚN DE PÁGINAS INTERNAS
========================================================= */
body.retiro-internal .retiro-page-section{
  padding-top:3.75rem!important;
  padding-bottom:4.5rem!important;
  background:var(--retiro-page-bg)!important;
  min-height:0;
}
body.retiro-internal .retiro-page-section > .container,
body.retiro-internal .retiro-page-section .aq-wrap,
body.retiro-internal .retiro-page-section .cl-wrap,
body.retiro-internal .retiro-page-section .faq-wrap,
body.retiro-internal .retiro-page-section .fl-wrap,
body.retiro-internal .retiro-page-section .ig-wrap,
body.retiro-internal .retiro-page-section .ixp-wrap,
body.retiro-internal .retiro-page-section .l21772-wrap,
body.retiro-internal .retiro-page-section .tm-wrap,
body.retiro-internal .retiro-page-section .tol-wrap,
body.retiro-internal .retiro-page-section .tp-wrap,
body.retiro-internal .retiro-page-section .tr-wrap{
  padding-top:0!important;
}
body.retiro-internal .mbr-section-title,
body.retiro-internal h1,
body.retiro-internal h2,
body.retiro-internal h3{color:var(--retiro-ink);}
body.retiro-internal .animate__animated,
body.retiro-internal .wow,
body.retiro-internal [data-aos],
body.retiro-internal .is-animating{
  animation:none!important;
  opacity:1!important;
}

/* =========================================================
   SUPERFICIES Y FORMULARIOS COMPARTIDOS
   Los componentes propios de cada página conservan su CSS local.
   Aquí solo se fija la paleta común de controles de formulario.
========================================================= */
body.retiro-internal .ixp-shell,
body.retiro-internal .ixp-panel,
body.retiro-internal .ixp-note,
body.retiro-internal .faq-shell,
body.retiro-internal .faq-answer-box,
body.retiro-internal .faq-note,
body.retiro-internal .retiro-institution-card,
body.retiro-internal .retiro-team-card{
  border-color:var(--retiro-border)!important;
}

body.retiro-internal .retiro-institution-card,
body.retiro-internal .retiro-team-card{
  background:var(--retiro-surface)!important;
}

/* Controles comunes: estándar cálido institucional, nunca blanco puro. */
body.retiro-internal .form-control,
body.retiro-internal .input-group-text,
body.retiro-internal select,
body.retiro-internal textarea{
  background:var(--retiro-form-field)!important;
  border:1px solid rgba(126,105,75,.24)!important;
  border-radius:0!important;
  color:var(--retiro-ink)!important;
  box-shadow:none!important;
}

body.retiro-internal .form-control:focus,
body.retiro-internal select:focus,
body.retiro-internal textarea:focus{
  background:var(--retiro-form-field-focus)!important;
  border-color:rgba(158,107,37,.62)!important;
  box-shadow:inset 3px 0 0 rgba(199,140,49,.42)!important;
}


body.retiro-internal .btn.btn-secondary-outline,
body.retiro-internal a.btn.btn-secondary-outline{
  background:transparent!important;
  color:var(--retiro-ink)!important;
  border:1px solid rgba(126,105,75,.38)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.retiro-internal .btn.btn-secondary-outline:hover,
body.retiro-internal a.btn.btn-secondary-outline:hover,
body.retiro-internal .btn.btn-secondary-outline:focus,
body.retiro-internal a.btn.btn-secondary-outline:focus{
  background:var(--retiro-dark)!important;
  color:var(--retiro-ivory)!important;
  border-color:var(--retiro-dark)!important;
  box-shadow:none!important;
}

@media(max-width:991.98px){
  .retiro-page-banner{margin-top:60px;padding:3rem 1.25rem 2.8rem;}
  body.retiro-internal .retiro-page-section{padding-top:3.2rem!important;padding-bottom:3.7rem!important;}
}
@media(max-width:575.98px){
  html{scroll-padding-top:66px;}
  .retiro-page-banner{margin-top:58px;padding:2.55rem 1rem 2.35rem;}
  .retiro-page-banner-eyebrow{font-size:.61rem;letter-spacing:.18em;}
  .retiro-page-banner h1{font-size:clamp(2.25rem,12vw,3.25rem);}
  .retiro-page-banner p{font-size:.98rem;line-height:1.55;}
  body.retiro-internal .retiro-page-section{padding-top:2.8rem!important;padding-bottom:3.2rem!important;}
}
