/* ==========================================================================
   Header & Footer oficiais — Control Space
   Fonte de verdade: cs.css do site oficial (cache_2.9.0) + HTML oficial.
   Cores: header branco (#fff) · faixa topo PRETA (#000) · CTA lime (#B5FF00)
   Menu: hamburger abre drawer preto (#000) em TODAS as larguras (padrão
   oficial: #menu-large fica display:none; #menu-handle é o acesso único).
   ========================================================================== */

@font-face{font-family:"Ctrl Space";src:url("../fonts/ctrlspace-regular.woff2") format("woff2");font-weight:normal;font-display:swap}
@font-face{font-family:"Ctrl Space";src:url("../fonts/ctrlspace-fett.woff2") format("woff2");font-weight:bold;font-display:swap}
@font-face{font-family:"Ctrl Space Boxed";src:url("../fonts/ctrlspace-boxed.woff2") format("woff2");font-display:swap}

/* ------------------------------ Header ------------------------------ */
.cs-header{background:#fff;position:relative;z-index:95}
.cs-header__top{background:#000;color:#fff;text-align:center;padding:10px;font-size:14px}
.cs-header__top a{color:#fff;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.cs-header__top img{width:15px;height:15px;filter:invert(1)}
.cs-header__main{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;max-width:1400px;margin:0 auto;box-shadow:0 0 25px rgba(0,0,0,.2);flex-wrap:nowrap}
.cs-header__logo{flex:0 0 auto}
.cs-header__logo img{height:46px;width:auto;display:block}
.cs-header__locations{position:relative;flex:0 1 auto;min-width:230px;margin-left:8px}
.cs-header__locations .trigger{display:flex;align-items:center;background:#fff;border:2px solid #000;border-radius:5px;color:#6C6C6C;padding:11px 14px;font-size:14px;line-height:15px;cursor:pointer;justify-content:space-between;gap:14px;white-space:nowrap}
.cs-header__locations .trigger:after{content:"";width:15px;height:15px;display:inline-block;border-top:5px solid #000;border-left:5px solid #000;border-radius:3px;transform:rotate(225deg);margin-top:-2px;flex:0 0 auto}
.cs-header__locations .dropdown{position:absolute;top:47px;width:100%;left:0;background:#fff;border-radius:5px;padding:7px 0;box-shadow:0 10px 25px rgba(0,0,0,.3);opacity:0;visibility:hidden;z-index:50;transition:all .2s ease-out}
.cs-header__locations.open .dropdown{opacity:1;visibility:visible}
.cs-header__locations .dropdown a{display:block;padding:5px 14px;font-size:14px;color:#111;text-decoration:none}
.cs-header__locations .dropdown a:hover{background:#F5F5F5}
.cs-header__actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;margin-left:auto}
.cs-header__cta{display:inline-flex;align-items:center;background:#B5FF00;border:2px solid #B5FF00;color:#000;font-weight:700;font-size:14px;padding:9px 18px;border-radius:8px;text-decoration:none;white-space:nowrap}
.cs-header__cta:hover{color:#000}
.cs-header__lang{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;text-transform:uppercase}
.cs-header__lang a{color:#555;text-decoration:none;padding:4px 6px}
.cs-header__lang a.is-active{font-weight:700;color:#000}
.cs-header__lang .sep{color:#bbb;display:none}
.cs-header__social{display:flex;align-items:center;gap:6px}
.cs-header__social a{display:inline-flex;padding:4px}
.cs-header__social img{width:19px;height:19px}
.cs-header__phone{display:inline-flex;align-items:center;gap:6px;background:#000;color:#fff;font-weight:600;font-size:13px;padding:8px 14px;border-radius:8px;text-decoration:none;white-space:nowrap}
.cs-header__phone img{width:15px;height:15px;filter:invert(1)}

/* ---------------------- Hamburger (todas as larguras) ----------------------
   Padrão oficial: botão preto 43px, cantos 9px, 3 linhas brancas.
   Abre o drawer (sidebar) em desktop E mobile. */
.cs-header__hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:43px;height:43px;background:#000;border:none;border-radius:9px;cursor:pointer;padding:11px;flex:0 0 auto;order:99}
.cs-header__hamburger span{display:block;width:100%;height:2px;background:#fff;border-radius:2px}

/* ------------------------------ Drawer (sidebar) ---------------------------
   Padrão oficial: fundo preto, itens brancos, ativo lime (#b5ff00) com fundo
   rgba(181,255,0,.1), submenu cinza (#C6C6C6), lang ativo lime, sociais +
   telefone no rodapé. */
/* z-index acima do .cs-header (95) — corrige o drawer a abrir "atrás" do
   telefone/hamburger do header quando aberto (bug reportado). */
.cs-mobile-menu__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .2s ease-out;z-index:96}
.cs-mobile-menu__backdrop.is-open{opacity:1;visibility:visible}
.cs-mobile-menu{position:fixed;top:0;right:0;width:min(600px,100vw);max-width:85vw;height:100%;background:#000;box-shadow:-10px 0 30px rgba(0,0,0,.4);transform:translateX(100%);transition:transform .25s ease-out;z-index:97;display:flex;flex-direction:column;overflow-y:auto;color:#fff}
.cs-mobile-menu.is-open{transform:translateX(0)}
.cs-mobile-menu__header{display:flex;align-items:center;justify-content:flex-end;padding:24px 24px 8px}
.cs-mobile-menu__title{font-weight:700;color:#fff}
.cs-mobile-menu__close{border:none;background:none;font-size:32px;line-height:1;cursor:pointer;color:#fff;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}
.cs-mobile-menu__close:hover{background:rgba(255,255,255,.08)}
.cs-mobile-menu__nav{display:flex;flex-direction:column;padding:12px 18px}
.cs-mobile-menu__nav>a,.cs-mobile-menu__nav-toggle{display:flex;align-items:center;justify-content:space-between;padding:13px 8px;color:#fff;text-decoration:none;font-size:20px;font-weight:400;border:none;background:none;width:100%;text-align:left;cursor:pointer;font-family:inherit;gap:10px}
.cs-mobile-menu__nav>a:hover,.cs-mobile-menu__nav-toggle:hover{color:#B5FF00}
.cs-mobile-menu__nav>a.is-active,.cs-mobile-menu__nav>a[aria-current="true"]{color:#B5FF00;background-color:rgba(181,255,0,.1);border-radius:8px;font-weight:600}
.cs-mobile-menu__nav-toggle:after{content:"";width:10px;height:10px;flex:0 0 auto;box-sizing:border-box;border-top:3px solid currentColor;border-left:3px solid currentColor;transform:rotate(225deg);transition:transform .2s ease}
.cs-mobile-menu__nav-item.open .cs-mobile-menu__nav-toggle:after{transform:rotate(45deg)}
.cs-mobile-menu__submenu{display:none;flex-direction:column;padding-left:16px;border-left:1px solid rgba(255,255,255,.14);margin-left:4px}
.cs-mobile-menu__nav-item.open .cs-mobile-menu__submenu{display:flex}
.cs-mobile-menu__submenu a{padding:10px 8px;color:#C6C6C6;text-decoration:none;font-size:16px}
.cs-mobile-menu__submenu a:hover{color:#B5FF00}
.cs-mobile-menu__footer{margin-top:auto;padding:20px 24px 28px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:16px}
.cs-mobile-menu__footer .cs-header__lang{display:flex;font-size:15px}
.cs-mobile-menu__footer .cs-header__lang a{color:#C6C6C6;padding:6px 8px}
.cs-mobile-menu__footer .cs-header__lang a.is-active{color:#B5FF00;font-weight:700}
.cs-mobile-menu__footer .cs-header__social,.cs-mobile-menu__footer .cs-header__phone{display:inline-flex}
.cs-mobile-menu__footer .cs-header__social img{width:22px;height:22px;filter:invert(1)}
.cs-mobile-menu__footer .cs-header__phone{background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:10px 14px;font-size:15px;align-self:flex-start}
/* call.svg já é branco por omissão (feito para o pill preto do header) — não
   inverter aqui, senão fica preto sobre o fundo preto do drawer (bug reportado) */
.cs-mobile-menu__footer .cs-header__phone img{filter:none}

/* ------------------------------ Footer ------------------------------ */
.cs-footer{background:#000;color:#e8e8e8;padding:48px 24px 24px;font-size:14px}
.cs-footer a{color:#cfcfcf;text-decoration:none}
.cs-footer a:hover{color:#fff;text-decoration:underline}
.cs-footer__title{font-family:"Ctrl Space",sans-serif;font-size:15px;letter-spacing:.02em;color:#fff;font-weight:700;margin:0 0 16px;text-transform:none}
.cs-footer__toplink{display:block;text-align:center;color:#fff;text-decoration:none;font-family:"Ctrl Space",sans-serif;font-size:26px;font-weight:700;margin:0 auto 32px;max-width:1280px}
.cs-footer__toplink:hover{text-decoration:underline}
.cs-footer__title-link{display:block;color:#fff;font-weight:700;font-size:15px;text-decoration:none;margin-bottom:10px;font-family:"Ctrl Space",sans-serif;letter-spacing:.02em;line-height:1.06}
.cs-footer__title-link:last-child{margin-bottom:0}
.cs-footer__title-link:hover{text-decoration:underline}
.cs-footer__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:32px;max-width:1280px;margin:0 auto}
.cs-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cs-footer__contact{display:grid;gap:12px}
.cs-footer__contact div{display:flex;align-items:center;gap:8px}
.cs-footer__contact img{width:15px;height:15px;filter:invert(1);opacity:.85}
.cs-footer__social{display:flex;gap:10px;margin-top:12px}
.cs-footer__social img{width:20px;height:20px;filter:invert(1)}
.cs-footer__bottom{max-width:1280px;margin:36px auto 0;border-top:1px solid rgba(255,255,255,.2);padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;color:#9a9a9a;flex-wrap:wrap}
.cs-footer__legal{display:flex;gap:20px}
.cs-footer__campaign{max-width:1280px;margin:0 auto 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.2)}
.cs-footer__campaign .brands{display:flex;align-items:center;gap:20px}
.cs-footer__campaign .brands img{height:26px;width:auto;filter:invert(1)}
.cs-footer__campaign .brands .divider{width:1px;height:30px;background:rgba(255,255,255,.3)}
.cs-footer__campaign .power-logo{height:40px!important;width:auto}
.cs-footer__campaign p{margin:0;color:#9a9a9a;font-size:13px}

/* ------------------------------ Responsivo ------------------------------ */
@media (max-width:1024px){
  .cs-header__locations,
  .cs-header__cta,
  .cs-header__lang,
  .cs-header__social{display:none}
  .cs-header__main{padding:8px 14px;gap:10px}
  .cs-header__logo{flex:0 1 auto;min-width:0}
  .cs-header__logo img{height:auto;width:min(44vw,170px);max-width:100%}
  .cs-footer__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .cs-header__phone{padding:7px 10px;font-size:12px}
  .cs-header__phone img{width:13px;height:13px}
  .cs-header__logo img{width:min(40vw,150px)}
  .cs-header__hamburger{width:40px;height:40px;padding:10px}
  .cs-footer__toplink{font-size:20px}
  .cs-footer{padding:36px 16px 20px}
  .cs-footer__grid{grid-template-columns:1fr;gap:26px}
  .cs-footer__bottom{flex-direction:column;text-align:center}
  .cs-mobile-menu__nav>a,.cs-mobile-menu__nav-toggle{font-size:18px;padding:12px 6px}
  .cs-mobile-menu__submenu a{font-size:15px}
}
