/* ============================================================
   TravelMaps — Cabecera y pie compartidos (estilo home)
   Clases propias (tmhdr / tmftr) para no colisionar con
   los estilos previos de cada página.
   ============================================================ */
.tmhdr{position:sticky;top:0;z-index:200;background:rgba(249,249,246,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #ECECE7;font-family:'DM Sans',system-ui,sans-serif}
.tmhdr::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#78BE20 0%,#F7941D 50%,#29ABE2 100%)}
.tmhdr .tmhdr-wrap{max-width:1180px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.tmhdr .tmhdr-logo{display:flex;align-items:center}
.tmhdr .tmhdr-logo img{height:52px;width:auto;display:block}
.tmhdr-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.tmhdr-badge{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;font-weight:600;color:#6B7280;border:1px solid #ECECE7;padding:7px 14px;border-radius:100px;background:#fff;white-space:nowrap}
.tmhdr-badge b{color:#1A1A2E;font-weight:700}
.tmhdr-badge .ab-dot{width:7px;height:7px;border-radius:50%;background:#78BE20;box-shadow:0 0 0 3px rgba(120,190,32,.25)}
.tmhdr-navrow{display:flex;align-items:center;gap:16px}
.tmnav{display:flex;align-items:center;gap:24px}
.tmnav a{font-size:.95rem;font-weight:600;color:#1A1A2E;position:relative;padding:4px 0;text-decoration:none;transition:color .2s}
.tmnav a::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:0;background:#78BE20;transition:width .25s}
.tmnav a:hover{color:#5f9a18}
.tmnav a:hover::after,.tmnav a.tm-current::after{width:100%}
.tmnav a.tm-current{color:#5f9a18}
.tmnav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
.tmnav-toggle span{display:block;width:24px;height:2px;background:#1A1A2E;border-radius:2px;transition:.3s}
@media(max-width:620px){.tmhdr-badge .ab-hide{display:none}}
@media(max-width:980px){
  .tmnav{position:fixed;inset:78px 16px auto auto;flex-direction:column;gap:0;align-items:stretch;background:#fff;border:1px solid #ECECE7;border-radius:14px;padding:6px;min-width:210px;box-shadow:0 30px 80px rgba(26,26,46,.18);transform:scale(.96);opacity:0;pointer-events:none;transition:.2s;transform-origin:top right}
  .tmnav.open{transform:scale(1);opacity:1;pointer-events:auto}
  .tmnav a{padding:12px 16px;border-radius:9px}
  .tmnav a::after{display:none}
  .tmnav a:hover,.tmnav a.tm-current{background:#F9F9F6}
  .tmnav-toggle{display:flex}
}

/* ---------- Footer ---------- */
.tmftr{background:#1A1A2E;color:rgba(255,255,255,.7);padding:60px 0 34px;position:relative;font-family:'DM Sans',system-ui,sans-serif}
.tmftr::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#78BE20 0%,#F7941D 50%,#29ABE2 100%)}
.tmftr .tmftr-wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.tmftr-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
@media(max-width:760px){.tmftr-top{grid-template-columns:1fr;gap:30px}}
.tmftr .tmftr-logo{height:54px;width:auto;margin-bottom:16px;display:block}
.tmftr .tmftr-about{font-size:.92rem;line-height:1.7;max-width:340px;color:rgba(255,255,255,.7)}
.tmftr h4{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);font-weight:700;margin:0 0 16px}
.tmftr-col a,.tmftr-col p{display:block;font-size:.92rem;color:rgba(255,255,255,.72);margin-bottom:11px;text-decoration:none;transition:color .15s}
.tmftr-col a:hover{color:#fff}
.tmftr-bottom{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding-top:26px;font-size:.84rem;color:rgba(255,255,255,.5)}
.tmftr-bottom .tmftr-legal{display:flex;flex-wrap:wrap;gap:8px 18px}
.tmftr-bottom .tmftr-legal a{color:rgba(255,255,255,.6);text-decoration:none}
.tmftr-bottom .tmftr-legal a:hover{color:#fff}
.tmftr-disc{margin:18px 0 0;font-size:.8rem;line-height:1.6;color:rgba(255,255,255,.42);max-width:760px}
.tmftr-disc b{color:rgba(255,255,255,.65)}
@supports(padding:max(0px)){
  .tmftr{padding-bottom:max(34px,env(safe-area-inset-bottom))}
}
