/* ON Escola de Surf — modernização visual */
:root{
  --on-blue:#1674b8;
  --on-blue-dark:#0b4f7c;
  --on-navy:#10283c;
  --on-sand:#f6f8f9;
  --on-text:#233746;
}
body{
  color:var(--on-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6,.vc_custom_heading{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important;
  font-weight:750 !important;
  letter-spacing:-.025em;
  color:var(--on-navy);
}
.site-header{
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 8px 28px rgba(16,40,60,.09);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
#mainmenu a{
  font-weight:650 !important;
  letter-spacing:.055em !important;
  transition:color .2s ease,opacity .2s ease;
}
#mainmenu a:hover{color:var(--on-blue) !important;}
.btn,.button,input[type="submit"],button[type="submit"]{
  border-radius:999px !important;
  font-weight:700 !important;
  letter-spacing:.04em;
  box-shadow:0 8px 20px rgba(22,116,184,.18);
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.btn:hover,.button:hover,input[type="submit"]:hover,button[type="submit"]:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(22,116,184,.25);
}
.home #info-box .bg-color{
  background:linear-gradient(135deg,var(--on-blue-dark),var(--on-blue)) !important;
  border-radius:20px;
  box-shadow:0 18px 42px rgba(11,79,124,.24);
  overflow:hidden;
}
.home .vc_custom_1639859369802 .vc_col-sm-3 .vc_column-inner{
  height:100%;
  overflow:hidden;
  border:1px solid rgba(16,40,60,.07);
  border-radius:20px !important;
  box-shadow:0 14px 36px rgba(16,40,60,.10) !important;
  transition:transform .25s ease,box-shadow .25s ease;
}
.home .vc_custom_1639859369802 .vc_col-sm-3 .vc_column-inner:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 46px rgba(16,40,60,.16) !important;
}
.home .vc_custom_1639859369802 img{
  transition:transform .45s ease;
}
.home .vc_custom_1639859369802 .vc_col-sm-3:hover img{
  transform:scale(1.035);
}
.home .call-to-action.bg-color{
  background:linear-gradient(135deg,var(--on-blue-dark),var(--on-blue)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.home .call-to-action .vc_custom_heading,
.home .call-to-action p{color:#fff !important;}
.testimonial__carousel .item,
.testimonial__carousel blockquote{
  background:#fff;
  border:1px solid rgba(16,40,60,.07);
  border-radius:18px;
  box-shadow:0 12px 32px rgba(16,40,60,.09);
}
.on-review-form{
  background:var(--on-sand);
  border-radius:24px;
}
.wpforms-form input:not([type="submit"]),
.wpforms-form textarea,
.wpforms-form select,
.wpcf7 input:not([type="submit"]),
.wpcf7 textarea,
.wpcf7 select{
  border:1px solid #d9e2e8 !important;
  border-radius:12px !important;
  background:#fff !important;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus{
  border-color:var(--on-blue) !important;
  box-shadow:0 0 0 4px rgba(22,116,184,.12) !important;
  outline:none;
}
iframe{
  max-width:100%;
  border-radius:20px !important;
  box-shadow:0 16px 38px rgba(16,40,60,.14);
}
footer.no-padding{
  background:var(--on-navy) !important;
  color:rgba(255,255,255,.82) !important;
}
footer.no-padding a{color:#fff !important;}
@media (max-width:767px){
  body{font-size:16px;line-height:1.7;}
  h1{font-size:34px !important;line-height:1.08 !important;}
  h2,.vc_custom_heading{line-height:1.18;}
  .site-header{box-shadow:0 5px 20px rgba(16,40,60,.10);}
  .home #info-box{margin-top:-24px !important;padding:0 14px;}
  .home #info-box .bg-color{border-radius:16px;}
  .home .vc_custom_1639859369802 .vc_col-sm-3{margin-bottom:22px;}
  .home .call-to-action{text-align:center;padding:38px 18px !important;}
  .home .call-to-action .btn{margin-top:18px;}
  .on-review-form{margin:0 12px;padding:28px 18px !important;border-radius:18px;}
  iframe{height:360px;border-radius:16px !important;}
}