/* Rio Air Tour calculator — matches original OPÇÕES E VALORES cards
   Palette: navy #0A254F | red #BE0000 | WhatsApp/CTA green #25D366 | Montserrat */

.rioair-calc{
  --rio-navy:#0A254F;
  --rio-red:#BE0000;
  --rio-green:#25D366;
  --rio-green-hover:#1ebe57;
  --rio-white:#ffffff;
  --rio-muted:#5a6b85;
  --rio-line:rgba(10,37,79,.12);
  --rio-shadow:0 10px 28px rgba(10,37,79,.16);

  box-sizing:border-box;
  width:100%;
  max-width:100%;
  margin:12px auto 0;
  padding:26px 24px 28px;
  background:var(--rio-white);
  border-radius:10px;
  box-shadow:var(--rio-shadow);
  color:var(--rio-navy);
  font-family:"Montserrat",Sans-serif;
  text-align:left;
}

.rioair-calc *,
.rioair-calc *::before,
.rioair-calc *::after{box-sizing:border-box}

.rioair-calc__title{display:none}

.rioair-calc__controls{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 18px;
  margin-bottom:8px;
}
.rioair-calc__field{margin:0}
.rioair-calc__field--full{grid-column:1 / -1}

.rioair-calc__field > label{
  display:block;
  margin:0 0 8px;
  color:var(--rio-navy);
  font-family:"Montserrat",Sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.rioair-calc__select{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:46px;
  padding:0 44px 0 14px;
  border:2px solid var(--rio-line);
  border-radius:8px;
  background-color:var(--rio-white);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230A254F' d='M1.4.3L6 4.9 10.6.3 12 1.7 6 7.7 0 1.7z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:12px 8px;
  color:var(--rio-navy);
  font-family:"Montserrat",Sans-serif;
  font-size:15px;
  font-weight:600;
  line-height:46px;
  cursor:pointer;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.rioair-calc__select:hover{border-color:rgba(37,211,102,.45)}
.rioair-calc__select:focus{
  outline:none;
  border-color:var(--rio-green);
  box-shadow:0 0 0 3px rgba(37,211,102,.2);
}

.rioair-calc__radios{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.rioair-calc__radios label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:8px 16px;
  margin:0;
  border:2px solid var(--rio-line);
  border-radius:8px;
  background:var(--rio-white);
  color:var(--rio-navy);
  font-family:"Montserrat",Sans-serif;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease;
}
.rioair-calc__radios input{
  appearance:none;
  -webkit-appearance:none;
  width:16px;
  height:16px;
  margin:0;
  border:2px solid rgba(10,37,79,.35);
  border-radius:50%;
  background:var(--rio-white);
  flex-shrink:0;
}
.rioair-calc__radios input:checked{
  border-color:var(--rio-green);
  background:var(--rio-green);
  box-shadow:inset 0 0 0 3px var(--rio-white);
}
.rioair-calc__radios label:has(input:checked){
  border-color:var(--rio-green);
  background:rgba(37,211,102,.1);
}
.rioair-calc__radios label:hover{border-color:rgba(37,211,102,.45)}

/* Result card — mirrors original option layout */
.rioair-calc__card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin-top:18px;
  border-radius:10px;
  overflow:hidden;
  border:1px solid var(--rio-line);
  background:var(--rio-white);
}

.rioair-calc__card-info{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:28px 24px;
  background:var(--rio-white);
}

.rioair-calc__opt{
  margin:0 0 8px;
  color:var(--rio-red);
  font-family:"Montserrat",Sans-serif;
  font-size:25px;
  font-weight:800;
  line-height:1.2;
}

.rioair-calc__headline{
  margin:0 0 10px;
  color:var(--rio-navy);
  font-family:"Montserrat",Sans-serif;
  font-size:17px;
  font-weight:700;
  line-height:1.35;
}
.rioair-calc__headline u{
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

.rioair-calc__blurb{
  margin:0 0 18px;
  max-width:320px;
  color:var(--rio-navy);
  font-family:"Montserrat",Sans-serif;
  font-size:14px;
  font-weight:500;
  line-height:1.45;
}

.rioair-calc__card-prices{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
  padding:22px 20px;
  background:var(--rio-navy);
}

.rioair-calc__pricebox{
  padding:14px 16px;
  border-radius:8px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-family:"Montserrat",Sans-serif;
  font-size:15px;
  font-weight:500;
  line-height:1.4;
}
.rioair-calc__pricebox strong{
  display:block;
  margin-bottom:4px;
  font-weight:800;
  color:#fff;
}
.rioair-calc__pricebox .val{
  font-weight:500;
}
.rioair-calc__pricebox--contact{
  text-align:center;
}

.rioair-calc__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 26px;
  border:none;
  border-radius:8px;
  background:linear-gradient(180deg, #2fe074 0%, #25D366 55%, #1fb857 100%);
  color:var(--rio-white)!important;
  font-family:"Montserrat",Sans-serif;
  font-size:15px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none!important;
  transition:filter .2s ease, transform .15s ease;
}
.rioair-calc__cta:hover,
.rioair-calc__cta:focus{
  filter:brightness(1.05);
  color:var(--rio-white)!important;
  transform:translateY(-1px);
}
.rioair-calc__cta.is-disabled{
  opacity:.55;
  pointer-events:none;
  transform:none;
}

@media (max-width:780px){
  .rioair-calc__controls{grid-template-columns:1fr}
  .rioair-calc__card{grid-template-columns:1fr}
  .rioair-calc__card-info{padding:22px 18px}
  .rioair-calc__card-prices{padding:16px}
  .rioair-calc__cta{width:100%}
}

@media (max-width:600px){
  .rioair-calc{padding:18px 14px 20px}
  .rioair-calc__opt{font-size:22px}
  .rioair-calc__headline{font-size:16px}
  .rioair-calc__radios label{flex:1 1 calc(50% - 5px); justify-content:center}
}
