/* Páginas geográficas y navegación responsive. No altera la estructura del panel. */
html{font-size:15.2px}body{font-family:'Poppins',Arial,sans-serif;font-size:15.2px}
.tp-geo-page{padding-top:30px;padding-bottom:55px}.tp-geo-breadcrumb{font-size:.82rem;color:#62728a;margin-bottom:20px}.tp-geo-breadcrumb a{color:#2761a7}
.tp-geo-hero{border:1px solid #dce5f1;background:linear-gradient(120deg,#eaf2fc,#fff);padding:30px;border-radius:16px;margin-bottom:26px}
.tp-geo-kicker{color:#d62936;font-size:.78rem;font-weight:700;letter-spacing:.09em}.tp-geo-hero h1{font-size:clamp(1.65rem,3.5vw,2.6rem);line-height:1.2;color:#112541;margin:12px 0}.tp-geo-hero p{max-width:720px;line-height:1.7;color:#526783}
.tp-geo-search{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:20px}.tp-geo-search label{flex-basis:100%;font-weight:600}.tp-geo-search input{flex:1;min-width:220px;padding:12px;border-radius:9px;border:1px solid #d5deeb;font:inherit}.tp-geo-main{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px}
.tp-geo-side,.tp-geo-results{min-width:0}.tp-geo-filter,.tp-geo-near{border:1px solid #dce4ef;background:#fff;padding:20px;border-radius:14px;margin-bottom:16px}
.tp-geo-filter h2,.tp-geo-near h2{font-size:1.13rem;margin:0 0 16px}.tp-geo-filter label{display:block;font-weight:600;margin-bottom:14px}.tp-geo-filter select{display:block;width:100%;height:46px;border:1px solid #d9e2ee;border-radius:9px;background:#fff;margin-top:7px;padding:8px;font:inherit}.tp-geo-near a{display:block;padding:9px 0;border-bottom:1px solid #edf1f5;color:#24538d}
.tp-geo-back{display:block;color:#24538d;margin:15px 0}.tp-geo-resulttitle h2{margin:0;font-size:1.55rem}.tp-geo-resulttitle p{margin:2px 0 18px;color:#667893}
.tp-geo-faq{background:#fff;border:1px solid #dce4ee;border-radius:13px;margin-top:24px;padding:22px}.tp-geo-faq h2{font-size:1.35rem}.tp-geo-faq details{padding:14px 0;border-top:1px solid #e4eaf1;overflow-wrap:anywhere}.tp-geo-faq summary{font-weight:600;cursor:pointer}.tp-geo-faq p{color:#556782;line-height:1.7}
.header .headin{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px}.header .headin .brand{flex:0 0 auto}.header .headin .nav{display:flex;flex:1 1 auto;min-width:0;gap:clamp(7px,1.2vw,18px);justify-content:center}.header .headin .nav a{white-space:nowrap;font-size:clamp(11px,1vw,15.2px)}.header .headin>.btn{flex-shrink:0;white-space:nowrap;padding:9px 12px;font-size:13px}
.tp-nav-toggle{display:none;border:1px solid #dae3ef;background:white;border-radius:8px;padding:9px;cursor:pointer;font:inherit}
@media(max-width:1080px){.header .headin{flex-wrap:wrap}.header .headin .brand{flex:1}.tp-nav-toggle{display:inline-flex}.header .headin .nav{display:none;flex-basis:100%;order:9;flex-direction:column;gap:0}.header .headin.tp-nav-expanded .nav{display:flex}.header .headin .nav a{padding:10px 5px;font-size:15.2px!important}.header .headin>.btn{font-size:13px}}
@media(max-width:760px){.tp-geo-main{grid-template-columns:1fr}.tp-geo-hero{padding:20px}.tp-geo-search button{width:100%}.tp-geo-hero h1{font-size:1.8rem}.header .headin{gap:8px}.header .headin .brand{min-width:0}.header .headin>.btn{padding:8px 10px}}

/* TP_MOBILE_PRODUCTION_20261021
   Navegación orbital y corrección integral del desbordamiento móvil. */
@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:clip}
  body{padding-bottom:82px}
  img,svg,video,iframe,table{max-width:100%}
  main,.hero,.pagehero,.section,.footer,.jobs,.empgrid,.catgrid,.quicklinks,
  .listlayout,.detailgrid,.tp-geo-page,.tp-geo-main,.tp-geo-results{min-width:0;max-width:100%}
  .container{width:100%!important;max-width:100%;padding-left:14px;padding-right:14px;margin-left:auto;margin-right:auto}

  .topline{display:none}
  .header{position:sticky;top:0;z-index:900;box-shadow:0 5px 18px rgba(22,42,70,.08)}
  .header .headin{min-height:66px;padding:9px 14px!important;display:flex;flex-wrap:nowrap!important;gap:8px}
  .header .headin .brand{flex:1 1 auto;min-width:0;max-width:100%}
  .header .brandicon{width:38px;height:42px;flex:0 0 38px}
  .header .brand>span:last-child{min-width:0;max-width:calc(100vw - 82px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
  .header .brand small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}

  .tp-nav-toggle{display:grid!important;place-items:center;position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:1102;width:58px;height:58px;padding:0!important;border:0;border-radius:50%;background:#d62936;color:#fff;box-shadow:0 14px 34px rgba(126,18,34,.38);font-size:0;line-height:1}
  .tp-nav-toggle::before{content:'☰';font-size:25px;font-weight:700}
  .tp-nav-toggle[aria-expanded="true"]{background:#142844;transform:rotate(90deg)}
  .tp-nav-toggle[aria-expanded="true"]::before{content:'×';font-size:32px;font-weight:400}

  .header .headin .nav{display:none!important;position:fixed;right:16px;bottom:202px;z-index:1101;width:min(310px,calc(100vw - 32px));max-height:calc(100vh - 250px);overflow-y:auto;flex:0 0 auto!important;flex-direction:column;justify-content:flex-start;gap:0!important;padding:10px;background:#fff;border:1px solid #dfe6f0;border-radius:18px;box-shadow:0 18px 48px rgba(18,37,65,.24)}
  .header .headin.tp-nav-expanded .nav{display:flex!important;animation:tpMenuIn .18s ease-out}
  .header .headin .nav a{display:block;width:100%;padding:12px 13px!important;border-radius:10px;font-size:14px!important;font-weight:700;color:#1b2c49;white-space:normal!important}
  .header .headin .nav a:hover{background:#fff0f2;color:#c92231}
  .header .headin>a.btn{display:none!important}
  .header .headin.tp-nav-expanded>a.btn{display:flex!important;position:fixed;right:16px;z-index:1101;width:min(310px,calc(100vw - 32px));height:44px;margin:0;padding:9px 14px!important;background:#fff;border-color:#dfe6f0;box-shadow:0 8px 24px rgba(18,37,65,.13);font-size:13px;justify-content:flex-start}
  .header .headin.tp-nav-expanded>a.btn:nth-of-type(2){bottom:148px;border-radius:14px 14px 8px 8px}
  .header .headin.tp-nav-expanded>a.btn:nth-of-type(3){bottom:96px;border-radius:8px 8px 14px 14px}
  @keyframes tpMenuIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

  h1,.hero h1,.pagehero h1{font-size:clamp(25px,7.3vw,32px);letter-spacing:-.5px;overflow-wrap:anywhere}
  h2{font-size:22px;overflow-wrap:anywhere}
  .hero-inner{min-height:auto;padding:28px 0}
  .hero-copy{padding:0}
  .searchbox{width:100%;max-width:100%;flex-direction:column;padding:9px}
  .searchbox input,.searchbox select,.searchbox .btn{width:100%;min-width:0}
  .section{margin-top:27px;margin-bottom:34px}
  .sectionheading{align-items:flex-start;flex-direction:column;gap:7px}
  .sectionheading>a{align-self:flex-start}
  .quicklinks,.catgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .quicklinks a,.catgrid a{min-width:0;padding:14px}

  .jobcard{display:grid!important;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:10px 13px;padding:15px;min-width:0;max-width:100%}
  .jobcard .joblogo{grid-column:1;width:54px;height:54px;margin:0}
  .jobcard .jobbody{grid-column:2;min-width:0;width:auto}
  .jobcard .jobtitle,.jobcard .companytext{overflow-wrap:anywhere;word-break:normal}
  .jobcard .metas{gap:6px 12px;margin-top:8px}
  .jobcard>.btn{grid-column:1/-1;width:100%;margin:0!important;min-height:42px}

  .empgrid{grid-template-columns:minmax(0,1fr)!important;gap:12px}
  .empcard{min-width:0;max-width:100%;padding:16px}
  .emphead{align-items:flex-start;min-width:0}
  .emphead>div:last-child{min-width:0}
  .emphead strong{display:block;overflow-wrap:anywhere}
  .empcard p{overflow-wrap:anywhere}
  .cardfoot{align-items:flex-start;flex-direction:column}
  .cardfoot .btn{width:100%}

  .listlayout,.detailgrid{grid-template-columns:minmax(0,1fr)!important;gap:15px}
  .filters{position:static}
  .filters,.sidebarbox,.detailhero,.infoblock,.empprofile{min-width:0;max-width:100%;padding:16px}
  .detailheading,.empprofile{align-items:flex-start;flex-direction:column}
  .profilelogo{width:76px;height:76px}
  .facts{grid-template-columns:minmax(0,1fr)}
  .summaryrow{align-items:flex-start;flex-direction:column;gap:4px}
  .summaryrow strong{text-align:left}
  .pages{max-width:100%;margin:20px 0;overflow-x:auto}
  .pages nav{min-width:max-content;padding:0 8px}

  .tp-geo-page{padding-top:20px;padding-bottom:35px}
  .tp-geo-hero,.tp-geo-filter,.tp-geo-near,.tp-geo-faq{padding:16px}
  .tp-geo-search input{width:100%;min-width:0}
  .tp-entidad-fila{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .tp-compartir-botones{max-width:100%}

  .footer{margin-top:32px;padding-top:27px}
  .footergrid{grid-template-columns:minmax(0,1fr)!important;gap:22px}
  .footergrid>div{min-width:0;max-width:100%}
  .footer .brand{max-width:100%;white-space:normal;align-items:flex-start}
  .footer .brand>span:last-child{min-width:0;overflow-wrap:anywhere}
  .footergrid p,.footergrid a{overflow-wrap:anywhere}
  .copyright{margin-top:20px;padding-top:15px;padding-bottom:18px;overflow-wrap:anywhere}
}

@media(max-width:430px){
  .quicklinks,.catgrid{grid-template-columns:minmax(0,1fr)!important}
  .jobcard{grid-template-columns:48px minmax(0,1fr);padding:13px}
  .jobcard .joblogo{width:48px;height:48px}
  .chips{gap:5px}
  .tiny{font-size:9px}
}

@media(max-width:760px){
  button.tp-nav-toggle{font-size:0!important;color:transparent!important}
  button.tp-nav-toggle::before{color:#fff!important}
}

/* TP_MOBILE_GUTTERS_20261021 */
@media(max-width:760px){
  .container{padding-left:18px!important;padding-right:18px!important}
  .header .headin{padding-left:18px!important;padding-right:18px!important}
  .hero .hero-inner{padding:32px 18px!important}
  .pagehero>.container{padding-top:4px;padding-bottom:4px}
  .sectionheading,.resultbar{min-width:0}
  .footergrid,.copyright{padding-left:18px!important;padding-right:18px!important}
}

@media(max-width:430px){
  .container{padding-left:16px!important;padding-right:16px!important}
  .header .headin{padding-left:16px!important;padding-right:16px!important}
  .hero .hero-inner{padding:30px 16px!important}
  .footergrid,.copyright{padding-left:16px!important;padding-right:16px!important}
}
