:root {
  color-scheme: light only;
  supported-color-schemes: light;
  --blue: #0d47a1;
  --blue-dark: #082e6f;
  --green: #1baa5b;
  --dark: #071f49;
  --lime: #1baa5b;
  --paper: #f5f8fc;
  --muted: #56677f;
  --line: #dbe4f0;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font:
    16px/1.55 Poppins,
    system-ui,
    -apple-system,
    Segoe UI,
    sans-serif;
  color: var(--dark);
  background: #fff;
}
a {
  color: inherit;
}
.skip {
  position: absolute;
  left: -9999px;
}
.skip:focus {
  left: 12px;
  top: 12px;
  background: #fff;
  padding: 10px;
  z-index: 9;
}
header {
  height: 92px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 8px max(5vw, 20px);
  position: sticky;
  top: 0;
  z-index: 8;
  background: #ffffffed;
  color-scheme: light only;
  forced-color-adjust: none;
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 5px 22px #0d47a10a;
}
header img {
  display: block;
}
.brand {
  display: flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 10px;
  background: #fff;
  color-scheme: light only;
  forced-color-adjust: none;
  isolation: isolate;
}
.brand img {
  width: 230px;
  height: 64px;
  object-fit: contain;
  filter: none !important;
  opacity: 1;
}
nav {
  display: flex;
  gap: 24px;
  margin-left: auto;
}
nav a {
  text-decoration: none;
  font-weight: 650;
}
#menu {
  display: none;
}
.btn,
.reserve {
  display: inline-block;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(135deg, var(--blue), #1762c7);
  color: #fff;
  padding: 13px 20px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 8px 20px #0d47a126;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
}
.btn:hover,
.reserve:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px #0d47a138;
}
.top {
  background: var(--green);
  color: #fff;
}
.hero {
  min-height: 590px;
  display: grid;
  align-items: center;
  padding: 80px max(7vw, 24px);
  background:
    linear-gradient(
      90deg,
      rgba(5, 31, 78, 0.96) 0%,
      rgba(13, 71, 161, 0.78) 48%,
      rgba(13, 71, 161, 0.08) 82%
    ),
    url("assets/hero-bg-performance.webp") center/cover;
  color: #fff;
}
.hero > div {
  max-width: 680px;
}
.hero h1 {
  font-size: clamp(2.5rem, 6vw, 4.9rem);
  line-height: 1.02;
  margin: 18px 0;
}
.hero p {
  font-size: 1.22rem;
  max-width: 590px;
}
.status {
  display: inline-block;
  background: #ffffff18;
  border: 1px solid #ffffff45;
  border-radius: 30px;
  padding: 7px 13px;
}
.status::first-letter {
  color: #42d982;
}
.ghost {
  display: inline-block;
  color: #fff;
  margin-left: 12px;
  padding: 12px 18px;
}
section {
  padding: 88px max(7vw, 24px);
}
h2 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.1;
  margin: 6px 0 15px;
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--green);
}
.lead {
  color: var(--muted);
  max-width: 650px;
}
.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 36px;
}
.grid article {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 32px #0d47a110;
  transition:
    transform 0.25s,
    box-shadow 0.25s;
}
.grid article:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 38px #0d47a11c;
}
.grid article > img {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: contain;
  background: linear-gradient(145deg, #f8fbff, #eef4fb);
  padding: 4px 10px;
}
.grid article > div {
  padding: 19px;
}
.grid h3 {
  font-size: 1.25rem;
  margin: 7px 0;
}
.grid p {
  color: var(--muted);
  margin: 5px 0 16px;
}
.grid strong {
  font-size: 1.4rem;
  display: block;
  margin-bottom: 15px;
}
.grid small {
  font-weight: 500;
  color: var(--muted);
}
.year {
  font-size: 0.78rem;
  font-weight: 800;
  background: #eaf1fb;
  color: var(--blue);
  border: 1px solid #d4e2f5;
  border-radius: 20px;
  padding: 5px 9px;
}
.reserve {
  width: 100%;
}
.benefits {
  background: var(--paper);
}
.features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 35px;
}
.features div {
  background: #fff;
  border-radius: 14px;
  padding: 25px;
}
.features b {
  font-size: 1.7rem;
  color: var(--blue);
}
.features h3 {
  margin: 12px 0 4px;
}
.features p {
  color: var(--muted);
}
ol {
  list-style: none;
  padding: 20px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}
li {
  display: flex;
  gap: 16px;
}
li > b {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
}
li strong {
  display: block;
  font-size: 1.08rem;
}
.contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  background: linear-gradient(135deg, var(--blue-dark), var(--blue));
  color: #fff;
}
.contact .eyebrow {
  color: #63e49b;
}
form {
  background: #fff;
  color: var(--dark);
  border-radius: 17px;
  padding: 28px;
}
label {
  display: block;
  font-weight: 700;
  margin-bottom: 16px;
}
input,
select {
  display: block;
  width: 100%;
  margin-top: 6px;
  border: 1px solid #cbd4cf;
  border-radius: 8px;
  padding: 12px;
  font: inherit;
}
.dates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
form .btn {
  width: 100%;
}
form small {
  display: block;
  color: var(--muted);
  margin-top: 12px;
}
.form-status {
  min-height: 1.5em;
  margin: 10px 0 0;
  color: #b42318;
  font-weight: 600;
}
:focus-visible {
  outline: 3px solid #1baa5b;
  outline-offset: 3px;
}
.faq {
  max-width: 900px;
  margin: auto;
}
.seo-guides {
  background: var(--paper);
}
.guide-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 30px;
}
.guide-grid a {
  display: block;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  text-decoration: none;
  transition:
    transform 0.2s,
    border-color 0.2s;
}
.guide-grid a:hover {
  transform: translateY(-3px);
  border-color: var(--green);
}
.guide-grid strong,
.guide-grid span {
  display: block;
}
.guide-grid strong {
  color: var(--blue);
}
.guide-grid span {
  margin-top: 7px;
  color: var(--muted);
  font-size: 0.9rem;
}
.faq details {
  border-bottom: 1px solid #dfe5e1;
  padding: 19px 0;
}
.faq summary {
  font-weight: 800;
  cursor: pointer;
}
.faq p {
  color: var(--muted);
}
footer {
  background: linear-gradient(135deg, #061b43, var(--blue-dark));
  color: #e8eef9;
  padding: 54px max(7vw, 24px) 22px;
  border-top: 4px solid var(--green);
}
.footer-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.15fr) minmax(280px, 1fr) minmax(
      300px,
      0.9fr
    );
  align-items: start;
  gap: clamp(30px, 5vw, 80px);
}
.footer-brand p,
.footer-column p {
  margin: 10px 0 0;
  color: #c9d7ec;
}
.footer-brand p {
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.footer-column h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.footer-link {
  display: block;
  width: fit-content;
  margin: 9px 0;
  color: #e8eef9;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.footer-contact .footer-link:first-of-type {
  white-space: nowrap;
}
.footer-link:hover {
  color: #63e49b;
  border-bottom-color: currentColor;
}
.footer-contact {
  padding-right: 0;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 38px;
  padding-top: 18px;
  border-top: 1px solid #ffffff24;
  color: #aebfd8;
  font-size: 0.78rem;
  padding-right: 150px;
}
.footer-logo {
  width: 280px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.whats {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 7;
  background: #25d366;
  color: #092d21;
  text-decoration: none;
  font-weight: 850;
  padding: 13px 18px;
  border-radius: 30px;
  box-shadow: 0 5px 22px #0003;
}
@media (max-width: 1100px) and (min-width: 851px) {
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .footer-brand {
    grid-column: 1 / -1;
  }
}
@media (max-width: 850px) {
  header {
    height: 92px;
  }
  .brand img {
    width: 215px;
    height: 58px;
  }
  .top {
    display: none;
  }
  #menu {
    display: block;
    margin-left: auto;
    padding: 9px 12px;
  }
  nav {
    display: none;
    position: absolute;
    top: 91px;
    left: 0;
    right: 0;
    background: #fff;
    padding: 20px;
    box-shadow: 0 12px 20px #0002;
    flex-direction: column;
  }
  nav.open {
    display: flex;
  }
  .hero {
    min-height: 540px;
  }
  .grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .features {
    grid-template-columns: repeat(2, 1fr);
  }
  .guide-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .contact {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  ol {
    grid-template-columns: 1fr;
  }
  footer {
    padding-bottom: 82px;
  }
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .footer-contact {
    padding-right: 0;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 5px;
    padding-right: 0;
  }
}
@media (max-width: 540px) {
  section {
    padding: 66px 20px;
  }
  .grid,
  .features,
  .guide-grid {
    grid-template-columns: 1fr;
  }
  .grid article > img {
    height: 225px;
    padding: 0 6px;
  }
  .hero {
    padding: 65px 20px;
  }
  .ghost {
    margin: 8px 0;
  }
  .dates {
    grid-template-columns: 1fr;
  }
  footer,
  .footer-grid,
  .footer-brand,
  .footer-column {
    text-align: center;
  }
  .footer-logo,
  .footer-link {
    margin-left: auto;
    margin-right: auto;
  }
  .footer-bottom {
    align-items: center;
  }
}
@media (prefers-color-scheme: dark) {
  html,
  body {
    background: #fff !important;
    color: var(--dark) !important;
  }
  header,
  .brand,
  nav,
  nav.open {
    background: #fff !important;
    color: var(--dark) !important;
  }
  .brand img {
    filter: none !important;
    opacity: 1 !important;
  }
  footer {
    background: linear-gradient(135deg, #061b43, var(--blue-dark)) !important;
    color: #e8eef9 !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}


:root{--blue:#0d47a1;--blue-dark:#082e6f;--dark:#071f49;--green:#1baa5b;--paper:#f5f8fc;--muted:#53647a;--line:#e1e8f2;--focus:#13a367;--elevation:0 16px 42px rgba(7,31,73,.08)}
html{scroll-padding-top:102px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
section[id],main[id]{scroll-margin-top:103px}
section{padding-block:clamp(58px,6.1vw,86px)}
section>.eyebrow{margin:0 0 10px}
h2{font-weight:750;letter-spacing:-.037em}
.lead{line-height:1.7}
header{height:84px;padding:9px max(4.4vw,22px);gap:clamp(14px,2vw,28px);box-shadow:0 8px 28px rgba(7,31,73,.055)}
.brand{padding:2px 0;flex:0 0 auto}
.brand img{width:218px;height:60px}
nav{gap:clamp(13px,1.85vw,26px);align-items:center}
nav a{font-size:.92rem;white-space:nowrap;transition:color .2s ease}
nav a:hover{color:var(--blue)}
.top{white-space:nowrap;border-radius:11px;min-height:47px;display:inline-flex;align-items:center;justify-content:center;padding:11px 19px}
.btn,.reserve{border-radius:11px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:active,.reserve:active{transform:translateY(0)}
.hero{min-height:clamp(460px,calc(100svh - 84px),640px);padding:clamp(58px,6.2vw,78px) max(7vw,24px);background-position:center 52%;background-image:linear-gradient(90deg,rgba(5,31,78,.96) 0%,rgba(9,53,112,.86) 42%,rgba(13,71,161,.28) 83%),url("assets/hero-bg-performance.webp")}
.hero>div{max-width:700px}
.hero h1{font-size:clamp(2.65rem,4.55vw,4.45rem);line-height:1.065;letter-spacing:-.045em;font-weight:800;max-width:670px;margin:16px 0 18px;text-wrap:balance}
.hero p{font-size:clamp(1rem,1.35vw,1.19rem);line-height:1.65;max-width:565px;margin:0 0 23px;color:#f6f9ff}
.status{font-size:.88rem;line-height:1.3;padding:9px 15px;background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.31);backdrop-filter:blur(8px)}
.hero .btn{box-shadow:0 12px 25px rgba(5,31,78,.24)}
.ghost{margin-left:8px;font-weight:650;text-underline-offset:4px}
.grid{max-width:1320px;gap:23px;margin-top:34px}
.grid article{display:flex;flex-direction:column;border-radius:20px;border-color:#e3eaf4;box-shadow:var(--elevation)}
.grid article>img{height:236px;object-fit:contain;padding:14px 14px 6px;background:linear-gradient(155deg,#f9fcff,#eef4fb)}
.grid article>div{padding:22px;display:flex;flex-direction:column;flex:1}
.grid h3{font-size:1.19rem;line-height:1.38;letter-spacing:-.02em;margin:12px 0 7px;min-height:1.65em}
.grid article p{font-size:.94rem;line-height:1.6;margin:0 0 16px}
.grid article strong{font-size:1.5rem;line-height:1.2;letter-spacing:-.035em;margin-top:auto;margin-bottom:18px}
.grid article strong small{font-size:.88rem;letter-spacing:0}
.year{align-self:flex-start;padding:5px 11px}
.reserve{min-height:49px;font-size:.95rem}
.features{gap:18px}
.features>div{border:1px solid var(--line);box-shadow:0 10px 28px rgba(7,31,73,.045);border-radius:18px;padding:27px}
.features b{display:inline-grid;place-items:center;min-width:54px;height:54px;border-radius:15px;background:#eaf2ff;color:var(--blue);font-size:1.4rem;padding:0 9px}
.features h3{font-size:1.04rem;line-height:1.4;letter-spacing:-.02em;margin-top:17px}
.features p{line-height:1.65;margin-top:7px}
#como-funciona ol{padding-top:29px;gap:27px}
#como-funciona li{align-items:flex-start;max-width:390px}
#como-funciona li>b{border-radius:14px;flex-basis:48px;height:48px;box-shadow:0 10px 20px rgba(27,170,91,.12)}
#como-funciona li>span{line-height:1.7}
#como-funciona li strong{letter-spacing:-.015em;margin-bottom:4px}
.contact{gap:clamp(38px,6.2vw,90px);align-items:center}
.contact>div:first-child{max-width:600px}
.contact>div:first-child>p:not(.eyebrow){color:#e5efff;font-size:1.05rem;line-height:1.7}
.contact form{max-width:670px;width:100%;padding:clamp(22px,3.2vw,38px);box-shadow:0 24px 52px rgba(3,21,55,.19);border:1px solid rgba(255,255,255,.7)}
form label{font-size:.9rem;letter-spacing:.005em;margin-bottom:17px}
input,select{border-color:#c9d6e5;min-height:49px;padding:12px 14px;background:#fff;color:var(--dark);transition:border-color .15s,box-shadow .15s}
input:focus,select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(13,71,161,.11)}
form small{line-height:1.65}
.form-status{font-size:.86rem;line-height:1.5}
.form-hint{color:var(--muted);font-size:.82rem;line-height:1.55;margin:-4px 0 16px}
.form-hint a{color:var(--blue)}
.guide-grid a{border-radius:16px;min-height:120px;padding:22px 23px;box-shadow:0 8px 20px rgba(7,31,73,.035)}
.guide-grid strong{letter-spacing:-.012em;line-height:1.4}
.faq details{padding:20px 0}
.faq summary{font-weight:650;line-height:1.55}
.faq p{line-height:1.7}
.footer-grid{gap:clamp(30px,4vw,68px)}
.footer-logo{width:min(280px,100%)}
.footer-bottom{padding-right:120px}
.whats{right:18px;bottom:18px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;box-shadow:0 9px 30px rgba(0,0,0,.18)}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
@media (max-width:1100px) and (min-width:851px){
 header{padding-inline:25px}
 .brand img{width:188px;height:55px}
 nav{gap:13px}
 .top{padding:10px 14px}
 .hero h1{font-size:clamp(2.7rem,5vw,3.7rem)}
 .features{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-bottom{padding-right:0}
}
@media (max-width:850px){
 header{height:78px;padding:7px 22px}
 .brand img{width:205px;height:58px}
 #menu{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:73px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--dark);font:inherit;font-size:.92rem;font-weight:700}
 #menu[aria-expanded="true"]{border-color:var(--blue);color:var(--blue)}
 nav{top:77px;padding:20px 22px 24px;gap:2px;box-shadow:0 20px 30px rgba(7,31,73,.13);border-bottom:1px solid var(--line)}
 nav a{padding:12px 5px;font-size:1rem}
 .hero{min-height:520px;padding:63px 6vw;background-position:60% center}
 .hero h1{font-size:clamp(2.8rem,6.6vw,3.9rem)}
 .contact{gap:28px}
 .grid article>img{height:210px}
 .features{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-bottom{padding-right:0}
}
@media (max-width:540px){
 header{height:75px;padding:7px 16px}
 .brand img{width:clamp(155px,44vw,198px);height:53px}
 nav{top:74px}
 .hero{min-height:0;padding:62px 20px 65px;background-position:61% center;background-image:linear-gradient(90deg,rgba(5,31,78,.97),rgba(9,53,112,.85) 69%,rgba(13,71,161,.45)),url("assets/hero-bg-performance.webp")}
 .hero h1{font-size:clamp(2.6rem,10vw,3.25rem);line-height:1.08}
 .hero p{font-size:1rem;line-height:1.65}
 .hero .btn{margin-bottom:10px}
 .hero .ghost{padding:12px 6px;margin:0 0 0 5px}
 .status{font-size:.79rem;padding:8px 11px}
 section{padding:60px 20px}
 h2{font-size:clamp(1.95rem,8vw,2.5rem)}
 .grid{gap:18px}
 .grid article>img{height:235px}
 .grid article>div{padding:21px}
 .features{gap:14px}
 .features>div{padding:22px}
 .contact{padding-top:65px;padding-bottom:65px}
 .contact form{padding:22px 18px}
 .dates{grid-template-columns:1fr;gap:0}
 .guide-grid a{min-height:0}
 .footer-grid{gap:25px}
 footer{padding-bottom:105px}
 .whats{right:12px;bottom:12px;padding:11px 15px;font-size:.86rem}
}
@media (max-width:360px){
 .brand img{width:148px}
 #menu{min-width:64px;padding:8px 10px}
 .hero .ghost{display:block;width:max-content;margin:5px 0 0}
 .hero h1{font-size:2.45rem}
 .contact form{padding:19px 15px}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.form-status.is-success{color:#11683b}
.not-found{min-height:55svh;max-width:850px;margin:0 auto;padding:clamp(70px,8vw,120px) 22px}
.not-found h1{font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.05em;line-height:1.12}
.not-found>p:not(.eyebrow){font-size:1.05rem;line-height:1.75;color:var(--muted)}
.not-found-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}

@media(max-width:850px){header:not(.guide-header)>a.top{display:none!important}}


/* Carrossel Vale Locadora */
.hero-carousel{display:block!important;min-height:0!important;padding:0!important;position:relative;isolation:isolate;background:#072652!important;color:#fff}
.hero-carousel>.carousel-frame{position:relative;width:100%;max-width:none!important;height:clamp(520px,calc(100svh - 84px),660px);min-height:520px;margin:0}
.hero-carousel .carousel-slides{position:absolute;inset:0;overflow:hidden}
.hero-carousel .carousel-slide{position:absolute;inset:0;display:flex;align-items:center;padding:98px max(7vw,24px) 95px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s ease,visibility .6s ease;background:linear-gradient(110deg,#062b66,#0c519b)}
.hero-carousel .carousel-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.hero-carousel .slide-city{background:linear-gradient(90deg,rgba(5,31,78,.96),rgba(9,53,112,.86) 46%,rgba(13,71,161,.18) 88%),url("assets/hero-bg-performance.webp") center 52%/cover no-repeat}
.hero-carousel .slide-economy{background:radial-gradient(circle at 80% 35%,#177dc5,transparent 47%),linear-gradient(110deg,#072d68,#0c478f)}
.hero-carousel .slide-family{background:radial-gradient(circle at 80% 35%,#207f9b,transparent 47%),linear-gradient(110deg,#062a61,#075078)}
.hero-carousel .slide-freedom{background:radial-gradient(circle at 80% 35%,#276bb9,transparent 47%),linear-gradient(110deg,#071f51,#0d438e)}
.hero-carousel .slide-booking{background:radial-gradient(circle at 80% 35%,#1283a1,transparent 47%),linear-gradient(110deg,#062151,#095383)}
.hero-carousel .carousel-badge{position:absolute;z-index:5;left:max(7vw,24px);top:clamp(25px,5.5vh,43px);display:inline-flex;align-items:center;min-height:35px;padding:8px 13px;color:#fff;font-size:.86rem;white-space:nowrap;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.3)}
.hero-carousel .slide-inner{max-width:1320px;width:100%;min-width:0;margin:0 auto;display:flex;align-items:center}
.hero-carousel .slide-copy{width:100%;max-width:690px;min-width:0}
.hero-carousel .slide-copy h1,.hero-carousel .slide-copy h2{font-size:clamp(2.5rem,4.5vw,4.45rem);line-height:1.07;letter-spacing:-.045em;font-weight:800;color:#fff;text-wrap:balance;margin:0 0 18px}
.hero-carousel .slide-copy p:not(.slide-eyebrow){font-size:clamp(1rem,1.25vw,1.17rem);line-height:1.65;max-width:555px;color:#f6f9ff;margin:0 0 22px}
.hero-carousel .slide-copy .slide-eyebrow{font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:#82eeb5;font-weight:750;margin:0 0 12px}
.hero-carousel .slide-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,65px)}
.hero-carousel .slide-layout .slide-copy h2{font-size:clamp(2.25rem,3.65vw,3.85rem)}
.hero-carousel .slide-actions{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}
.hero-carousel .slide-actions .btn{min-height:48px}
.hero-carousel .slide-secondary{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;min-height:48px;color:#fff;border:1px solid rgba(255,255,255,.44);border-radius:11px;background:rgba(255,255,255,.11);text-decoration:none;font-weight:650;transition:background .2s}
.hero-carousel .slide-secondary:hover{background:rgba(255,255,255,.22)}
.hero-carousel .slide-visual{display:flex;align-items:center;justify-content:center;gap:15px;min-width:0;max-width:100%}
.hero-carousel .slide-visual figure{display:block;flex:1;min-width:0;margin:0;padding:12px;background:linear-gradient(145deg,#f9fcff,#e7f0fb);border:1px solid rgba(255,255,255,.8);border-radius:20px;box-shadow:0 25px 48px rgba(0,9,35,.2);overflow:hidden}
.hero-carousel .slide-visual img{width:100%;height:clamp(174px,19vw,245px);object-fit:contain;display:block}
.hero-carousel .slide-visual figcaption{display:block;color:#133b6c;font-size:.9rem;text-align:center;font-weight:750;padding:6px 0 2px}
.hero-carousel .two-cars figure:nth-child(2){transform:translateY(21px)}
.hero-carousel .single-car figure{max-width:455px}
.hero-carousel .single-car img{height:clamp(200px,23vw,288px)}
.hero-carousel .carousel-controls{position:absolute;z-index:6;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:16px;max-width:calc(100% - 30px)}
.hero-carousel .carousel-arrow{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;color:#fff;background:rgba(255,255,255,.15);font:400 28px/1 system-ui;cursor:pointer}
.hero-carousel .carousel-arrow:hover{background:rgba(255,255,255,.3)}
.hero-carousel .carousel-dots{display:flex;align-items:center;gap:10px}
.hero-carousel .carousel-dot{display:block;width:11px;height:11px;min-width:11px;background:rgba(255,255,255,.5);border:0;border-radius:20px;padding:0;cursor:pointer;transition:width .2s,background .2s}
.hero-carousel .carousel-dot.is-active{width:28px;background:#6ce7a3}
.hero-carousel .carousel-arrow:focus-visible,.hero-carousel .carousel-dot:focus-visible{outline:3px solid #73ffc0;outline-offset:4px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){
 .hero-carousel>.carousel-frame{height:clamp(565px,calc(100svh - 78px),715px)}
 .hero-carousel .carousel-slide{padding:103px 5vw 95px}
 .hero-carousel .carousel-badge{left:5vw}
 .hero-carousel .slide-layout{gap:18px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
 .hero-carousel .slide-copy h1,.hero-carousel .slide-copy h2{font-size:clamp(2.4rem,5.2vw,3.55rem)}
 .hero-carousel .slide-layout .slide-copy h2{font-size:clamp(2.2rem,4.8vw,3.1rem)}
 .hero-carousel .slide-visual{gap:9px}
 .hero-carousel .slide-visual figure{padding:8px;border-radius:13px}
 .hero-carousel .slide-visual img{height:155px}
 .hero-carousel .single-car img{height:186px}
}
@media(max-width:680px){
 .hero-carousel>.carousel-frame{height:620px;min-height:620px}
 .hero-carousel .carousel-slide{padding:103px 20px 83px}
 .hero-carousel .carousel-badge{left:20px;top:25px;font-size:.8rem}
 .hero-carousel .slide-inner{display:block;width:100%}
 .hero-carousel .slide-copy h1,.hero-carousel .slide-copy h2,.hero-carousel .slide-layout .slide-copy h2{font-size:clamp(2.16rem,8.9vw,3rem);line-height:1.09;margin:0 0 14px}
 .hero-carousel .slide-copy p:not(.slide-eyebrow){font-size:.97rem;line-height:1.57;margin-bottom:16px}
 .hero-carousel .slide-copy .slide-eyebrow{font-size:.7rem;margin-bottom:8px}
 .hero-carousel .slide-actions{gap:8px}
 .hero-carousel .slide-actions .btn,.hero-carousel .slide-secondary{min-height:44px;padding:9px 12px;font-size:.9rem}
 .hero-carousel .slide-visual{width:min(100%,420px);height:152px;margin:13px 0 0 auto;align-items:stretch}
 .hero-carousel .slide-visual figure{padding:5px 6px 3px}
 .hero-carousel .slide-visual img{height:112px}
 .hero-carousel .slide-visual figcaption{font-size:.76rem;padding:4px 0 2px}
 .hero-carousel .two-cars figure:nth-child(2){transform:translateY(7px)}
 .hero-carousel .single-car figure{max-width:300px;margin-left:auto}
 .hero-carousel .single-car img{height:118px}
 .hero-carousel .carousel-controls{bottom:16px}
 .hero-carousel .carousel-arrow{width:40px;height:40px}
}
@media(max-width:370px){
 .hero-carousel>.carousel-frame{height:665px;min-height:665px}
 .hero-carousel .carousel-slide{padding:102px 18px 82px}
 .hero-carousel .carousel-badge{left:18px;font-size:.76rem;padding:7px 9px}
 .hero-carousel .slide-copy h1,.hero-carousel .slide-copy h2,.hero-carousel .slide-layout .slide-copy h2{font-size:2.24rem}
 .hero-carousel .slide-copy p:not(.slide-eyebrow){font-size:.92rem}
 .hero-carousel .slide-actions .btn,.hero-carousel .slide-secondary{font-size:.85rem}
 .hero-carousel .slide-visual{height:142px}
 .hero-carousel .slide-visual img{height:104px}
 .hero-carousel .single-car img{height:108px}
}
@media(prefers-reduced-motion:reduce){.hero-carousel .carousel-slide,.hero-carousel .carousel-dot{transition:none!important}}

@media(max-width:340px){.hero-carousel>.carousel-frame{height:720px;min-height:720px}}

.hero-carousel .carousel-pause{width:42px;height:42px;min-width:42px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font:700 15px/1 system-ui;cursor:pointer}
.hero-carousel .carousel-pause:hover{background:rgba(255,255,255,.28)}
.hero-carousel .carousel-pause:focus-visible{outline:3px solid #73ffc0;outline-offset:4px}
@media(max-width:370px){.hero-carousel .carousel-controls{gap:9px}.hero-carousel .carousel-dots{gap:8px}.hero-carousel .carousel-arrow,.hero-carousel .carousel-pause{width:38px;height:38px;min-width:38px}}

@media(min-width:371px) and (max-width:385px){.hero-carousel>.carousel-frame{height:670px;min-height:670px}}

/* Texto verde de destaque e ação: contraste reforçado, identidade verde preservada */
.eyebrow{color:#087943}
header .top,.guide-header .top{background:#087943;color:#fff}


/* Escolha de veículo: filtros acessíveis sem remover nenhum cartão da frota */
.fleet-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:25px 0 10px}
.fleet-filter{border:1px solid #cfdbe9;background:#fff;color:#18416b;border-radius:30px;padding:10px 17px;min-height:45px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.91rem;font-weight:600;line-height:1.2;font-family:inherit;transition:color .2s,background .2s,border-color .2s,box-shadow .2s}
.fleet-filter:hover{border-color:var(--blue);color:var(--blue)}
.fleet-filter.is-active{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 6px 16px rgba(13,71,161,.13)}
.fleet-filter:focus-visible{outline:3px solid #12865b;outline-offset:3px}
.fleet-filter-status{font-size:.87rem;color:var(--muted);line-height:1.5;margin:3px 0 0}
#frota-grid{margin-top:20px}
#frota-grid article[hidden]{display:none!important}
@media(max-width:540px){.fleet-toolbar{gap:8px;margin-top:21px}.fleet-filter{min-height:43px;font-size:.85rem;padding:9px 14px}.fleet-filter-status{font-size:.83rem}}


/* Conferência de reserva — camada nativa, acessível e responsiva */
.booking-review{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(540px,calc(100vw - 28px));max-height:min(90dvh,760px);overflow-y:auto;border:1px solid #e2eaf2;border-radius:22px;padding:0;color:#132c4e;background:#fff;box-shadow:0 30px 110px rgba(0,17,49,.32)}
.booking-review:not([open]){display:none}
.booking-review::backdrop{background:rgba(5,20,45,.76);backdrop-filter:blur(5px)}
.booking-review .review-content{padding:clamp(22px,4vw,35px)}
.booking-review .review-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.booking-review .review-kicker{font-size:.76rem;line-height:1.5;font-weight:750;color:#087943;text-transform:uppercase;letter-spacing:.09em}
.booking-review .review-close{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;border:1px solid #d9e3ee;background:#f6f9fd;color:#294a71;font:400 28px/1 system-ui;cursor:pointer}
.booking-review h2{font-size:clamp(1.55rem,4.5vw,2rem);font-weight:800;letter-spacing:-.04em;line-height:1.19;color:#0c2b5f;margin:15px 0 8px}
.booking-review .review-intro{font-size:.95rem;color:#53647a;line-height:1.6;margin:0 0 21px}
.booking-review .review-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}
.booking-review .review-details>div{padding:14px;background:#f4f8fd;border:1px solid #e3ebf5;border-radius:12px;min-width:0}
.booking-review .review-details>div:first-child{grid-column:1/-1}
.booking-review .review-details dt{color:#61748e;font-size:.77rem;line-height:1.4;margin:0 0 6px;font-weight:650}
.booking-review .review-details dd{color:#102e58;font-size:.98rem;line-height:1.5;font-weight:750;overflow-wrap:anywhere;margin:0}
.booking-review .review-terms{background:#ebf8f0;border:1px solid #caead9;border-radius:12px;padding:16px}
.booking-review .review-terms strong{font-size:.88rem;color:#145635}
.booking-review .review-terms p{font-size:.85rem;line-height:1.6;color:#315c45;margin:6px 0 0}
.booking-review .review-actions{display:flex;flex-wrap:wrap;gap:10px;margin:19px 0 0}
.booking-review .review-actions button{font:inherit;font-size:.9rem;line-height:1.4;font-weight:750;border-radius:10px;cursor:pointer;min-height:48px;padding:11px 15px}
.booking-review .review-edit{border:1px solid #cfdbe9;color:#164274;background:white;flex:1 0 135px}
.booking-review .review-confirm{border:1px solid #0c7845;color:#fff;background:#087943;flex:2 1 195px;box-shadow:0 9px 20px rgba(8,121,67,.17)}
.booking-review .review-confirm:hover{background:#066436}
.booking-review .review-edit:hover{background:#f2f7fd}
.booking-review .review-actions button:focus-visible,.booking-review .review-close:focus-visible{outline:3px solid #12865b;outline-offset:3px}
.booking-review .review-footnote{font-size:.77rem;line-height:1.5;color:#66778c;text-align:center;margin:14px 0 0}
@media(max-width:440px){.booking-review{width:calc(100vw - 18px);max-height:calc(100dvh - 20px);border-radius:17px}.booking-review .review-content{padding:20px}.booking-review .review-details>div{padding:11px}.booking-review .review-details dd{font-size:.88rem}.booking-review .review-terms{padding:13px}.booking-review .review-actions{gap:8px}.booking-review .review-actions button{font-size:.85rem}}
@media(max-width:340px){.booking-review .review-details{grid-template-columns:1fr}.booking-review .review-details>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.booking-review::backdrop{backdrop-filter:none}}


/* Detalhes do veículo: ações claras nos cartões e janela responsiva */
#frota-grid .fleet-card-actions{display:flex;align-items:stretch;gap:9px;width:100%;margin-top:1px}
#frota-grid .fleet-card-actions>.reserve{flex:1 1 55%;padding:12px 11px;font-family:inherit;font-size:.85rem;font-weight:700;line-height:1.32;min-height:49px}
#frota-grid .fleet-card-actions>.vehicle-details-button{flex:1 1 40%;padding:11px 9px;min-height:49px;display:flex;align-items:center;justify-content:center;text-align:center;color:#0d47a1;font-family:inherit;font-size:.86rem;font-weight:700;line-height:1.32;background:#f4f8ff;border:1px solid #c3d3ec;border-radius:10px;cursor:pointer}
#frota-grid .fleet-card-actions>.vehicle-details-button:hover{background:#e7f0fe;border-color:#6291da}
#frota-grid .fleet-card-actions>button:focus-visible{outline:3px solid #087943;outline-offset:3px}
.vehicle-details{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(960px,calc(100vw - 32px));max-height:min(90dvh,780px);overflow-y:auto;padding:0;border:1px solid #dce7f3;border-radius:24px;background:#fff;color:#0b2854;box-shadow:0 35px 120px rgba(0,15,49,.34)}
.vehicle-details:not([open]){display:none}
.vehicle-details::backdrop{background:rgba(5,20,45,.77);backdrop-filter:blur(5px)}
.vehicle-details-shell{padding:clamp(16px,2.8vw,30px)}
.vehicle-details-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 13px}
.vehicle-details-kicker{font-size:.77rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#087943}
.vehicle-details-close{flex:0 0 auto;display:grid;place-items:center;width:41px;height:41px;background:#f5f8fc;border:1px solid #d9e4ef;color:#24446d;border-radius:12px;cursor:pointer;font:400 29px/1 system-ui}
.vehicle-details-layout{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:clamp(20px,3vw,34px);align-items:start}
.vehicle-details-picture{overflow:hidden;background:linear-gradient(145deg,#f7faff,#eaf2fd);border:1px solid #dce8f4;border-radius:18px;min-width:0}
.vehicle-details-picture img{display:block;width:100%;height:clamp(235px,30vw,355px);object-fit:contain;object-position:center;padding:16px}
.vehicle-details-picture-caption{display:block;padding:0 14px 14px;color:#667b94;font-size:.73rem;text-align:center}
.vehicle-details-copy{min-width:0}
.vehicle-details-category{color:#0c7a49;font-size:.77rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}
.vehicle-details h2{font-size:clamp(1.65rem,3.1vw,2.4rem);line-height:1.16;letter-spacing:-.035em;font-weight:800;margin:0 0 7px;color:#0b2d65;text-wrap:balance}
.vehicle-details-intro{font-size:.95rem;line-height:1.55;color:#5b6d84;margin:0 0 17px}
.vehicle-details-specs{display:grid;grid-template-columns:minmax(0,.33fr) minmax(0,.67fr);gap:8px;margin:0 0 15px}
.vehicle-details-specs>div{border:1px solid #e2ebf5;border-radius:10px;padding:11px;background:#f6f9fd;min-width:0}
.vehicle-details-specs dt{color:#64778f;font-size:.73rem;margin:0 0 4px;font-weight:650}
.vehicle-details-specs dd{color:#183d70;font-weight:750;font-size:.85rem;line-height:1.45;margin:0;overflow-wrap:anywhere}
.vehicle-details-price{padding:12px 14px;border:1px solid #d6e6f9;background:#eff6ff;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.vehicle-details-price span{font-size:.78rem;color:#476787;line-height:1.4}
.vehicle-details-price strong{font-size:clamp(1.12rem,2.8vw,1.5rem);white-space:nowrap;color:#0d47a1}
.vehicle-details-terms{font-size:.8rem;line-height:1.58;color:#50657e;margin:14px 0 17px}
.vehicle-details-actions{display:flex;flex-wrap:wrap;gap:10px}
.vehicle-details-actions button{font-family:inherit;font-size:.86rem;line-height:1.36;font-weight:750;min-height:47px;border-radius:10px;padding:11px 14px;cursor:pointer}
.vehicle-details-reserve{color:#fff;background:#087943;border:1px solid #087943;flex:1 1 195px}
.vehicle-details-reserve:hover{background:#066737}
.vehicle-details-back{color:#16416f;background:#fff;border:1px solid #cbd9e9;flex:1 1 135px}
.vehicle-details-back:hover{background:#f4f8ff}
.vehicle-details button:focus-visible{outline:3px solid #087943;outline-offset:3px}
@media(max-width:720px){
 .vehicle-details{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:17px}
 .vehicle-details-layout{grid-template-columns:minmax(0,1fr);gap:17px}
 .vehicle-details-shell{padding:17px}
 .vehicle-details-picture img{height:clamp(170px,45vw,240px);padding:9px}
 .vehicle-details-picture-caption{padding:0 9px 9px}
 .vehicle-details h2{font-size:1.65rem}
 .vehicle-details-specs{margin-bottom:11px}
 .vehicle-details-terms{margin:11px 0 13px}
}
@media(max-width:380px){
 #frota-grid .fleet-card-actions{gap:7px}
 #frota-grid .fleet-card-actions>button{font-size:.79rem!important;padding:10px 7px!important}
 .vehicle-details-specs{grid-template-columns:minmax(0,1fr)}
 .vehicle-details-picture img{height:170px}
 .vehicle-details-price{flex-wrap:wrap;gap:5px}
}
@media(prefers-reduced-motion:reduce){.vehicle-details::backdrop{backdrop-filter:none}}


/* Estimativa de diárias baseada nos preços exibidos na frota. */
.quote-estimate{border:1px solid #cae2f6;border-radius:15px;background:linear-gradient(130deg,#edf7ff 0%,#f4fbf8 100%);padding:17px 19px;margin:3px 0 20px;color:#0b2f63;box-shadow:0 5px 15px rgba(10,65,130,.05)}
.quote-estimate[hidden],.review-price[hidden]{display:none!important}
.quote-estimate-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.quote-estimate-label{font-size:.84rem;color:#2a527b;font-weight:750}
.quote-estimate-icon{border-radius:8px;color:#087943;background:#d7f2e4;font-size:.7rem;font-weight:800;letter-spacing:.05em;padding:5px 7px}
.quote-estimate-body{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.quote-estimate-body>span{font-size:.9rem;color:#365679}
.quote-estimate-body output{color:#0a7545;font-weight:800;font-size:clamp(1.43rem,2.5vw,1.77rem);letter-spacing:-.03em;line-height:1.3}
.quote-estimate p{font-size:.76rem;line-height:1.55;color:#537087;margin:10px 0 0}
.booking-review .review-price{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:13px 14px;border:1px solid #cae2d8;background:#eaf8f0;border-radius:12px;margin:0 0 12px}
.booking-review .review-price span{font-size:.87rem;font-weight:750;color:#1e5d3c}
.booking-review .review-price small{display:block;font-size:.76rem;line-height:1.5;color:#517561;font-weight:500;margin-top:2px}
.booking-review .review-price strong{font-size:clamp(1.2rem,3vw,1.55rem);font-weight:850;color:#067446;letter-spacing:-.03em}
@media(max-width:430px){.quote-estimate{padding:14px}.quote-estimate-body>span{font-size:.83rem}.booking-review .review-price{padding:11px}}


/* Vale Locadora: informações comerciais e acesso móvel ao simulador */
.contact-quick-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:19px 0 22px}
.contact-quick-info span{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-height:42px;padding:10px 11px;border:1px solid rgba(255,255,255,.28);border-radius:11px;background:rgba(255,255,255,.11);color:#eff9ff;font-size:.83rem;line-height:1.45}
.contact-quick-info strong{color:#fff;font-weight:800}
.mobile-quick-book{display:none}
@media(max-width:680px){
 .contact-quick-info{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:17px 0}
 .contact-quick-info span{font-size:.78rem}
 body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
 .mobile-quick-book{position:fixed;z-index:9;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:11px 16px;border-radius:13px;background:#087943;color:#fff;box-shadow:0 12px 34px rgba(0,42,32,.29);border:1px solid rgba(255,255,255,.22);font-weight:800;text-decoration:none;font-size:.97rem;transition:opacity .2s,transform .2s}
 .mobile-quick-book:hover{background:#096d3f}
 .mobile-quick-book:focus-visible{outline:3px solid #0d47a1;outline-offset:3px}
 .mobile-book-arrow{font-size:1.19rem}
 .mobile-quick-book.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px)}
 body:has(dialog[open]) .mobile-quick-book{opacity:0;visibility:hidden;pointer-events:none}
 .whats{bottom:calc(80px + env(safe-area-inset-bottom))}
}
@media(max-width:370px){
 .contact-quick-info{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.mobile-quick-book{transition:none}}


/* Trilha T2: WhatsApp aberto por link nativo, sem dependência de popup via script */
.booking-review .review-actions a{display:flex;align-items:center;justify-content:center;text-align:center;font-family:inherit;font-size:.9rem;line-height:1.4;font-weight:750;border-radius:10px;cursor:pointer;min-height:48px;padding:11px 15px;text-decoration:none}
.booking-review .review-actions a:focus-visible{outline:3px solid #12865b;outline-offset:3px}
.booking-review .review-continuation[hidden]{display:none!important}
.booking-review .review-continuation{padding:12px 14px;margin:12px 0 2px;border:1px solid #d4e5f6;border-radius:12px;background:#f3f8ff}
.booking-review .review-continuation p{color:#34536f;font-size:.82rem;line-height:1.55;margin:0 0 9px}
.booking-review .review-continuation a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 13px;border-radius:9px;border:1px solid #0a7545;background:#fff;color:#087943;font-size:.85rem;font-weight:800;text-decoration:none}
.booking-review .review-continuation a:hover{background:#e8f7ef}
.booking-review .review-continuation a:focus-visible{outline:3px solid #12865b;outline-offset:3px}


/* Vale Locadora T3 — contato sem JavaScript */
.nojs-contact{padding:14px 16px;border:1px solid #d7e7f7;border-radius:11px;background:#f1f8ff;color:#16416f;line-height:1.55;font-size:.9rem;margin:12px 0 18px}
.nojs-contact a{font-weight:800;color:#087943;text-underline-offset:3px}
.nojs-contact a:focus-visible{outline:3px solid #0d47a1;outline-offset:3px}

/* T4: dados de locação com validação contextual acessível */
#form input[aria-invalid="true"]{border-color:#c44040!important;box-shadow:0 0 0 2px rgba(196,64,64,.12)}
#form input[aria-invalid="true"]:focus-visible{outline:3px solid #c44040;outline-offset:2px}


/* T5 — fluxo comercial: texto e condições à esquerda, solicitação à direita. */
@media (min-width:851px){
  .contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;align-items:center;row-gap:16px}
  .contact>div:first-child{grid-column:1;grid-row:1;align-self:end}
  .contact>.contact-quick-info{grid-column:1;grid-row:2;align-self:start;margin:4px 0 0}
  .contact>form{grid-column:2;grid-row:1 / span 2;align-self:center;min-width:0}
  .contact>noscript{grid-column:1;grid-row:3}
}
@media (max-width:850px){
  .contact{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;row-gap:20px}
  .contact>div:first-child,.contact>.contact-quick-info,.contact>form,.contact>noscript{grid-column:1;grid-row:auto;min-width:0}
  .contact>.contact-quick-info{margin:0}
}


/* Vale Locadora T5: roteiro de reserva em três passos, sem alterar campos ou valores. */
.booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 22px}
.booking-steps span{display:flex;gap:7px;align-items:center;font-weight:650;font-size:.76rem;line-height:1.35;color:#275072;border:1px solid #dce7f1;background:#f5f9fe;border-radius:10px;padding:10px 9px;min-width:0}
.booking-steps b{display:inline-flex;flex:none;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:white;background:#0d47a1;font-size:.75rem}
@media(max-width:550px){.booking-steps{grid-template-columns:1fr;gap:7px;margin-bottom:18px}.booking-steps span{font-size:.84rem;min-height:38px;padding:7px 10px}}

/* Guia de modelos e cidades — links editoriais da home */
.home-seo-hub{padding:clamp(48px,6vw,88px) max(5vw,20px);margin-inline:auto;max-width:1380px}
.home-seo-hub>h2{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.16;letter-spacing:-.035em;margin:12px 0 18px}
.home-seo-hub .lead{max-width:950px;line-height:1.75}
.home-seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:27px 0 15px}
.home-seo-item{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0;text-decoration:none!important;border:1px solid #dae7f5;border-radius:17px;padding:21px 44px 21px 20px;background:#f7faff;transition:background .2s,border-color .2s}
.home-seo-item:hover,.home-seo-item:focus-visible{background:#eef6ff;border-color:#0d47a1}
.home-seo-item strong{color:#164573;font-size:1rem}.home-seo-item span:not(.home-seo-arrow){color:#4e6880;font-size:.88rem;line-height:1.55}
.home-seo-item .home-seo-arrow{position:absolute;right:20px;top:24px;color:#0d47a1;font-size:1.2rem}
.home-seo-more{line-height:1.7;color:#46617a;margin-top:22px}.home-seo-more a{font-weight:700;color:#0d47a1}
@media(max-width:900px){.home-seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.home-seo-grid{grid-template-columns:1fr}.home-seo-hub{padding:45px 20px}.home-seo-item{padding:17px 43px 17px 18px}}

/* Vale Locadora — contatos sociais verificados nos materiais de marca e compartilhamento */
.vale-socials{margin-top:18px;display:grid;gap:8px;max-width:300px}
.vale-socials-heading{font-size:.82rem;font-weight:700;opacity:.86;margin:0 0 3px}
.vale-social-link{display:flex;gap:10px;align-items:center;min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.19);border-radius:12px;color:inherit!important;text-decoration:none!important;background:rgba(255,255,255,.06);transition:background .2s,border-color .2s}
.vale-social-link:hover,.vale-social-link:focus-visible{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.55)}
.vale-social-link svg{width:24px;height:24px;flex:none}
.vale-social-link span{display:flex;flex-direction:column;gap:2px;line-height:1.3;font-size:.91rem;font-weight:700}
.vale-social-link small{font-size:.76rem;font-weight:450;opacity:.82}
@media(max-width:650px){.vale-socials{max-width:100%}.vale-social-link{min-height:48px}}
