/* Header: logo, menu, WhatsApp button. Sticky, white, hairline bottom. */
.tl-head { position: sticky; top: 0; z-index: 1000; background: #fff; border-bottom: 1px solid var(--linea); }
.tl-head-in { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; }
.tl-logo img { height: 40px; width: auto; }
.tl-nav { display: flex; align-items: center; gap: 22px; }
.tl-nav-list { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.tl-nav-list a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: var(--r-md); color: var(--texto); font-weight: 600; text-decoration: none; }
.tl-nav-list a:hover, .tl-nav-list .current-menu-item > a { color: var(--naranja-texto); background: var(--naranja-suave); }
.tl-head-wa { min-height: 44px; padding: 0 18px; }
.tl-menu-btn { display: none; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; }
.tl-menu-bars, .tl-menu-bars::before, .tl-menu-bars::after { display: block; width: 24px; height: 2px; background: var(--marino); border-radius: 2px; margin: 0 auto; content: ""; transition: transform var(--dur-base) var(--ease-envio), opacity var(--dur-fast); }
.tl-menu-bars { position: relative; }
.tl-menu-bars::before { position: absolute; top: -7px; left: 0; }
.tl-menu-bars::after { position: absolute; top: 7px; left: 0; }
.tl-menu-btn[aria-expanded="true"] .tl-menu-bars { background: transparent; }
.tl-menu-btn[aria-expanded="true"] .tl-menu-bars::before { transform: translateY(7px) rotate(45deg); }
.tl-menu-btn[aria-expanded="true"] .tl-menu-bars::after { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 960px) {
  .tl-menu-btn { display: block; }
  .tl-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 8px; padding: 12px var(--gutter) 20px; background: #fff; border-bottom: 1px solid var(--linea); box-shadow: var(--shadow-md); }
  .tl-nav.is-open { display: flex; }
  .tl-nav-list { flex-direction: column; }
  .tl-nav-list a { min-height: 48px; font-size: 1.05rem; }
  .tl-head-wa { justify-content: center; }
  .tl-head-in { min-height: 64px; }
  .tl-logo img { height: 34px; }
}

/* Footer */
.tl-foot { padding: 64px 0 0; }
.tl-foot-in { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; padding-bottom: 48px; }
.tl-foot-name { font-weight: 900; font-stretch: var(--stretch-display); font-size: 1.4rem; margin: 0 0 10px; }
.tl-foot-tag { color: rgba(255, 255, 255, .8); max-width: 42ch; }
.tl-social { display: flex; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.tl-social a { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; }
.tl-social a:hover { background: var(--naranja); }
.tl-foot-links, .tl-foot-contact { margin: 0; padding: 0; list-style: none; }
.tl-foot-links a { display: inline-block; padding: 8px 0; color: #fff; text-decoration: none; }
.tl-foot-links a:hover { color: var(--naranja); text-decoration: underline; }
.tl-foot-contact li { margin: 0 0 14px; line-height: 1.5; }
.tl-foot-contact .tl-label { display: block; margin: 0 0 2px; }
.tl-foot-contact a { display: inline-block; padding: 4px 0; color: #fff; text-decoration: none; }
.tl-foot-contact a:hover { text-decoration: underline; }
.tl-foot-bot { border-top: 1px solid var(--linea-oscura); padding: 18px 0; font-size: .9rem; color: rgba(255, 255, 255, .78); }
.tl-foot-bot-in { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; }
.tl-foot-bot p { margin: 0; }
.tl-foot-bot a { color: #fff; }
@media (max-width: 767px) {
  .tl-foot-in { grid-template-columns: 1fr; gap: 28px; }
}
/* Chat bubble from tl-chat-widget sits bottom right at 20px; nothing in the theme floats there. */
