/* TYNDYN web — hoja base del esqueleto (primer día).
   Paleta y tipografía inspiradas en la referencia de diseño (mostaza/ámbar
   sobre blanco). No es el diseño final: solo da forma legible al esqueleto. */
:root{
  --ambar:#d99a2b;
  --ambar-osc:#b57e1c;
  --tinta:#1a1a1a;
  --gris:#3a3a3a;
  --gris-cl:#6b6b6b;
  --linea:#e6e0d6;
  --fondo:#ffffff;
  --fondo-cl:#faf7f2;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"Helvetica Neue",Arial,system-ui,sans-serif;
  color:var(--gris);
  background:var(--fondo);
  line-height:1.6;
}
a{color:var(--ambar-osc)}

/* Cabecera */
.site-header{
  display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;
  padding:1rem 1.5rem;border-bottom:2px solid var(--tinta);position:relative;
}
.brand{
  font-weight:700;font-size:1.25rem;letter-spacing:.28em;
  text-transform:uppercase;text-decoration:none;color:var(--tinta);
}

/* Botón hamburguesa (solo visible en móvil, ver media query al final) */
.site-nav-burger{
  display:none;margin-left:auto;background:none;border:none;cursor:pointer;
  font-size:1.4rem;line-height:1;color:var(--tinta);padding:.25rem .4rem;
}

.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;flex:1 1 auto}
.site-nav-link,
.site-nav-drop summary{
  text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;line-height:1;
  font-weight:700;text-decoration:none;color:var(--tinta);cursor:pointer;
  list-style:none;display:inline-flex;align-items:center;gap:.35rem;
  padding:.4rem 0;
}
.site-nav-drop summary::-webkit-details-marker{display:none}
.site-nav-drop summary::after{
  content:"";width:.4em;height:.4em;flex:none;
  border:1.5px solid currentColor;border-width:0 1.5px 1.5px 0;
  transform:rotate(45deg);margin-top:-.25em;
}
.site-nav-drop[open] summary::after{transform:rotate(-135deg);margin-top:.15em}
.site-nav-link:hover,
.site-nav-drop summary:hover{color:var(--ambar-osc)}
.site-nav-link.is-active,
.site-nav-drop.is-active>summary{color:var(--ambar-osc)}

.site-nav-drop{position:relative}
.site-nav-panel{
  position:absolute;top:calc(100% + .6rem);left:0;background:var(--fondo);
  border:1px solid var(--linea);border-radius:6px;padding:.5rem 0;
  min-width:230px;box-shadow:0 8px 24px rgba(0,0,0,.1);display:flex;
  flex-direction:column;z-index:20;
}
.site-nav-panel a{
  padding:.55rem 1.1rem;text-transform:none;letter-spacing:0;font-weight:500;
  font-size:.86rem;color:var(--gris);text-decoration:none;white-space:nowrap;
}
.site-nav-panel a:hover,
.site-nav-panel a.is-active{color:var(--ambar-osc);background:var(--fondo-cl)}

.site-nav-app{padding:.4rem .9rem;border:1px solid var(--tinta);border-radius:999px}
.site-nav-app:hover{background:var(--tinta);color:#fff}

/* Selector de idioma: junto a "Agencias". La bandera lo hace notarse sin
   competir con SERVICIOS/AYUDA; el texto (código de idioma) sigue siendo
   quien manda, la bandera es solo apoyo visual. */
.site-nav-lang summary{
  font-weight:800; letter-spacing:.06em; font-size:.76rem; color:var(--tinta);
}
.site-nav-lang summary:hover{color:var(--ambar-osc)}
.site-nav-lang-flag{width:18px; height:18px; border-radius:3px; vertical-align:middle; flex:none}
.site-nav-lang .site-nav-panel{min-width:160px; right:0; left:auto}
.site-nav-lang .site-nav-panel a{text-transform:none; display:flex; align-items:center; gap:.5rem}
.site-nav-lang .site-nav-panel a.is-active{font-weight:700; color:var(--tinta); background:var(--fondo-cl)}

/* Widget de sesión (arriba a la derecha) */
.site-auth{
  margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;
  min-height:1rem;
}
.site-auth-user{
  text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;
  font-weight:700;color:var(--ambar-osc);
}
.site-auth-link{
  text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;
  font-weight:700;text-decoration:none;color:var(--tinta);
}
.site-auth-link:hover{color:var(--ambar-osc)}

/* "Agencias": distinto del resto del menú — es otra audiencia, no un
   servicio más (criterio de calidad del encargo de menú/footer). */
.site-auth>.site-nav-drop summary{
  background:var(--ambar);color:var(--tinta);padding:.45rem 1.1rem;
  border-radius:999px;letter-spacing:.1em;
}
.site-auth>.site-nav-drop summary::after{border-color:var(--tinta)}
.site-auth>.site-nav-drop summary:hover{background:var(--ambar-osc);color:#fff}
.site-auth>.site-nav-drop summary:hover::after{border-color:#fff}
.site-auth>.site-nav-drop .site-nav-panel{left:auto;right:0}

/* Menú móvil: colapsa TODO (incluido "Agencias"/sesión) en un único
   desplegable, mismo orden y agrupación que en escritorio. */
@media (max-width:900px){
  .site-nav-burger{display:block}
  .site-nav{
    display:none;flex-basis:100%;flex-direction:column;align-items:stretch;
    gap:0;order:10;
  }
  .site-header.nav-open .site-nav{display:flex}
  .site-nav-link,.site-nav-drop summary{
    width:100%;justify-content:space-between;padding:.85rem 0;
    border-bottom:1px solid var(--linea);
  }
  .site-nav-drop{position:static}
  .site-nav-panel{
    position:static;box-shadow:none;border:none;border-radius:0;
    padding:0 0 .5rem 1.2rem;min-width:0;
  }
  .site-nav-app{border:none;padding:.85rem 0}
  .site-auth{margin-left:0;flex-direction:column;align-items:stretch;width:100%;padding-top:.6rem}
  .site-auth>.site-nav-drop{width:100%}
  .site-auth>.site-nav-drop summary{
    border-radius:999px;justify-content:center;width:100%;box-sizing:border-box;
  }
  .site-auth>.site-nav-drop .site-nav-panel{right:auto;padding-left:1.2rem}
}

/* Contenido */
.page{max-width:760px;margin:0 auto;padding:3rem 1.5rem 4rem}
.crumb{
  text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;
  font-weight:700;color:var(--ambar-osc);margin:0 0 1rem;
}
.badge{
  display:inline-block;padding:.2rem .6rem;border:1px solid var(--linea);
  border-radius:999px;font-size:.68rem;text-transform:uppercase;
  letter-spacing:.12em;font-weight:700;color:var(--gris-cl);
}
.badge-agencia{border-color:var(--ambar);color:var(--ambar-osc)}
.badge-admin{border-color:var(--tinta);color:var(--tinta)}
h1{
  font-size:1.9rem;line-height:1.2;margin:.8rem 0 .4rem;color:var(--tinta);
  text-transform:uppercase;letter-spacing:.06em;
}
h2{
  font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;
  color:var(--gris-cl);margin:0 0 .4rem;
}
.route{font-size:.85rem;color:var(--gris-cl);margin:0 0 2.5rem}
code{
  font-family:"SFMono-Regular",Consolas,monospace;font-size:.85em;
  background:var(--fondo-cl);padding:.1rem .35rem;border-radius:3px;
}
.spec{border-left:3px solid var(--ambar);padding:.2rem 0 .2rem 1.2rem;margin:0 0 2.5rem}
.spec p{margin:0;text-align:justify}
.skeleton-note{
  font-size:.82rem;color:var(--gris-cl);background:var(--fondo-cl);
  border:1px solid var(--linea);border-radius:6px;padding:1rem 1.2rem;
  text-align:justify;
}

/* Pie: mapa del sitio */
.site-footer{background:var(--tinta);color:#d9d4c9;padding:2.5rem 1.5rem 3rem}
.foot-title{
  text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;
  font-weight:700;color:#fff;margin:0 0 1.5rem;
}
.foot-grid{
  max-width:1000px;margin:0 auto;display:grid;gap:1.5rem 2rem;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.foot-grid h3{
  font-size:.72rem;letter-spacing:.16em;color:var(--ambar);
  text-transform:uppercase;margin:0 0 .6rem;overflow-wrap:break-word;
}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin:0 0 .5rem;font-size:.8rem;line-height:1.4}
.foot-grid a{color:#d9d4c9;text-decoration:none}
.foot-grid a:hover{color:#fff}
.foot-grid code{background:transparent;color:#8f887a;padding:0;font-size:.72rem;display:block}
.foot-cookies{max-width:1000px;margin:1.5rem auto 0;text-align:center}
.foot-cookies a{color:#8f887a;text-decoration:underline;font-size:.72rem}
.foot-cookies a:hover{color:#d9d4c9}
