/*
Theme Name: ITSEMA Mobility Multilang
Author: Inside Solutions
Description: Tema WordPress ITSEMA em PT, ES e EN com formulário seguro.
Version: 2.0.0
Text Domain: itsema-mobility-multilang
*/
:root{--navy:#062542;--blue:#00a7d8;--red:#c82032;--light:#f5f8fb;--text:#263443;--muted:#6b7b8c;--radius:22px;--shadow:0 18px 45px rgba(6,37,66,.12)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);line-height:1.6;background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.section{padding:88px 0}.soft{background:var(--light)}.eyebrow{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}h1,h2,h3{color:var(--navy);line-height:1.08;margin:0 0 18px;font-weight:950}h1{font-size:clamp(2.4rem,5vw,5.1rem);letter-spacing:-.05em}h2{font-size:clamp(2rem,3.5vw,3.3rem);letter-spacing:-.04em}.lead{font-size:clamp(1.08rem,2vw,1.35rem);color:var(--muted);max-width:820px}.btn,.form button{display:inline-flex;padding:15px 24px;border-radius:999px;background:var(--red);color:#fff;font-weight:900;box-shadow:0 10px 28px rgba(200,32,50,.24);border:0;cursor:pointer}.btn.light{background:#fff;color:var(--navy)}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(6,37,66,.08)}.nav{display:flex;justify-content:space-between;align-items:center;min-height:78px;gap:18px}.brand{display:flex;align-items:center;gap:12px;font-weight:950;color:var(--navy);font-size:1.25rem}.logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--blue));display:grid;place-items:center;color:#fff}.menu{display:flex;gap:20px;font-weight:850;color:var(--navy);align-items:center}.menu a:hover{color:var(--red)}.langs{display:flex;gap:7px}.langs a{font-weight:900;font-size:.82rem;padding:7px 9px;border-radius:999px;background:#f0f4f8;color:var(--navy)}.hero{min-height:calc(100vh - 78px);display:grid;align-items:center;background:radial-gradient(circle at 80% 15%,rgba(0,167,216,.18),transparent 30%),linear-gradient(135deg,#fff 0%,#f5f8fb 64%,#eef8fc 100%)}.grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.visual-card{border-radius:34px;background:#fff;padding:28px;box-shadow:var(--shadow);min-height:380px;display:grid;place-items:center}.map{width:100%;aspect-ratio:1.15/1;border-radius:28px;background:linear-gradient(90deg,transparent 48%,rgba(0,167,216,.18) 49%,transparent 50%),linear-gradient(0deg,transparent 48%,rgba(0,167,216,.18) 49%,transparent 50%),#f8fbfd;position:relative;overflow:hidden}.map:before,.map:after{content:"";position:absolute;border-radius:999px;height:10px;transform-origin:left}.map:before{width:72%;left:12%;top:54%;background:var(--red);transform:rotate(-18deg)}.map:after{width:58%;left:18%;top:38%;background:var(--navy);transform:rotate(26deg)}.pin{position:absolute;width:58px;height:58px;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(6,37,66,.16);display:grid;place-items:center;font-size:28px}.p1{left:16%;top:18%}.p2{right:18%;top:24%}.p3{left:44%;bottom:16%}.p4{right:16%;bottom:20%}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.stat,.card,.feature,.step{background:#fff;border:1px solid rgba(6,37,66,.08)}.stat{border-radius:18px;padding:18px}.stat strong{display:block;color:var(--navy);font-size:1.55rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border-radius:var(--radius);padding:28px;box-shadow:0 8px 22px rgba(6,37,66,.06)}.icon{width:54px;height:54px;border-radius:18px;background:rgba(0,167,216,.12);display:grid;place-items:center;font-size:26px;margin-bottom:18px}.red .icon{background:rgba(200,32,50,.12)}.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}.features{display:grid;gap:16px}.feature{display:flex;gap:14px;align-items:flex-start;border-radius:18px;padding:18px}.check{width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:900;flex:none}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:34px}.step{border-radius:18px;padding:20px;text-align:center}.step b{display:block;color:var(--navy);margin-top:8px}.cta{background:linear-gradient(135deg,var(--navy),#093b66);color:#fff;border-radius:34px;padding:56px;display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:center}.cta h2,.cta p{color:#fff}.form{background:#fff;border-radius:28px;padding:34px;box-shadow:var(--shadow);border:1px solid rgba(6,37,66,.08)}.form label{display:block;font-weight:850;color:var(--navy);margin:14px 0 6px}.form input,.form textarea,.form select{width:100%;padding:14px 16px;border:1px solid rgba(6,37,66,.18);border-radius:14px;font:inherit}.form textarea{min-height:150px}.hp{position:absolute;left:-9999px}.notice{padding:14px 18px;border-radius:14px;margin-bottom:18px;font-weight:800}.notice.ok{background:#e8f8ef;color:#145b31}.notice.err{background:#fff0f0;color:#8b1a1a}.footer{background:#041d34;color:#dce9f5;padding:42px 0}.footer-grid{display:flex;justify-content:space-between;gap:20px;align-items:center}.small{font-size:.92rem;color:#9fb2c4}@media(max-width:1000px){.nav{flex-wrap:wrap}.grid,.split,.cta{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.timeline{grid-template-columns:1fr 1fr}.menu{flex-wrap:wrap}.stats{grid-template-columns:1fr}.section{padding:58px 0}}

/* FIX HOME / MENU ALIGNMENT */
.menu ul{
  list-style:none;
  display:flex;
  gap:20px;
  margin:0;
  padding:0;
  align-items:center;
}
.menu li{margin:0;padding:0}
.menu a{display:inline-flex;align-items:center}

.cards{
  align-items:stretch;
}
.cards > .card,
.cards > a.card{
  display:block;
  min-height:260px;
}
.cards > br,
.cards > p:empty{
  display:none!important;
}

.home .cards,
.page .cards{
  grid-auto-rows:1fr;
}

.section .cards{
  clear:both;
}

@media(min-width:901px){
  .section .cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .menu ul{
    flex-wrap:wrap;
    justify-content:center;
  }
}

.powered{
  display:inline-block;
  margin-top:8px;
  font-size:.82rem;
  color:#ffffff;
  opacity:.78;
  font-weight:800;
}


/* FINAL LAYOUT FIX - HOME + MOBILE */
.menu ul{
  list-style:none!important;
  display:flex!important;
  gap:22px;
  margin:0!important;
  padding:0!important;
  align-items:center;
}
.menu li{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.menu li::marker{content:""!important}
.menu a{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}

/* WordPress por vezes cria <p> e <br> dentro dos grids */
.cards > p,
.timeline > p,
.stats > p{
  display:contents!important;
  margin:0!important;
  padding:0!important;
}
.cards > br,
.timeline > br,
.stats > br,
.cards > p:empty,
.timeline > p:empty,
.stats > p:empty{
  display:none!important;
}

.cards{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:28px!important;
}
.cards .card,
.cards > .card,
.cards > a.card,
.cards > p > a.card{
  width:100%!important;
  min-height:300px;
  display:flex!important;
  flex-direction:column;
  justify-content:flex-start;
}
.cards .card p{
  margin-top:8px;
}

/* Página inicial mais equilibrada */
.section:first-of-type + .section{
  padding-top:70px;
}
.section .container > h2{
  max-width:900px;
}

/* Melhor leitura em tablets */
@media(max-width:1100px){
  .cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  h1{
    font-size:clamp(2.2rem,7vw,4.2rem);
  }
}

/* Smartphone */
@media(max-width:760px){
  .site-header{
    position:relative;
  }
  .nav{
    min-height:auto;
    padding:18px 0;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .brand{
    font-size:1.2rem;
  }
  .logo{
    width:42px;
    height:42px;
  }
  .menu{
    width:100%;
    overflow-x:auto;
    padding-bottom:6px;
  }
  .menu ul{
    gap:10px!important;
    width:max-content;
  }
  .menu a{
    background:#f0f4f8;
    padding:9px 12px;
    border-radius:999px;
    font-size:.88rem;
  }
  .langs{
    position:absolute;
    top:20px;
    right:4%;
  }
  .langs a{
    padding:7px 9px;
    font-size:.75rem;
  }

  .hero{
    min-height:auto;
    padding:48px 0 56px;
  }
  .grid{
    gap:28px;
  }
  .visual-card{
    min-height:260px;
    padding:18px;
    border-radius:26px;
  }
  h1{
    font-size:2.45rem;
    letter-spacing:-.045em;
  }
  h2{
    font-size:2rem;
  }
  .lead{
    font-size:1.05rem;
  }
  .section{
    padding:50px 0;
  }
  .cards{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .cards .card,
  .cards > .card,
  .cards > a.card,
  .cards > p > a.card{
    min-height:auto!important;
    padding:24px!important;
  }
  .icon{
    width:50px;
    height:50px;
    margin-bottom:14px;
  }
  .stats{
    grid-template-columns:1fr!important;
    gap:12px;
  }
  .timeline{
    grid-template-columns:1fr!important;
  }
  .cta{
    padding:32px 24px;
    border-radius:26px;
  }
  .footer-grid{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Smartphone pequeno */
@media(max-width:420px){
  h1{
    font-size:2.08rem;
  }
  .langs{
    position:static;
  }
  .nav{
    align-items:stretch;
  }
  .brand{
    justify-content:flex-start;
  }
  .menu{
    overflow-x:visible;
  }
  .menu ul{
    flex-wrap:wrap;
    width:100%;
  }
}
