/* Feedback visual compartilhado */
.hero-desc,.jornada-desc,.spotify-desc,.segment-tag,.app-banner-tag { color:#fff !important; }
.hero-title span:not(.blue-dot),.jornada-title .title-blue { color:#fff !important; }
.hero-title .language-emphasis, .jornada-title .title-blue, body:has(.hero-features) .hero-title > span:not(.blue-dot) { text-decoration:underline; text-decoration-color:#246bfd; text-decoration-thickness:3px; text-underline-offset:7px; }
.teacher-language-tag { color:#123d9c !important; background:#eaf1ff; border-color:#bfd2f4; text-shadow:none; }
.btn-spotify { font-family:'Inter',sans-serif !important; font-weight:700; }
.spotify-section .spotify-wrapper-card { padding:48px; }
.spotify-section .spotify-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:40px; }
.spotify-section .spotify-title { font-size:clamp(28px,2.7vw,36px); }
.spotify-section .spotify-desc { font-size:16px; line-height:1.7; margin-bottom:24px; }
.spotify-section .btn-spotify { font-size:15px; padding:14px 24px; }
.spotify-player { min-width:0; height:480px; padding:0 !important; background:transparent !important; box-shadow:none !important; }
.spotify-player iframe { display:block; width:100%; height:480px; border:0; }
@media(max-width:900px) {
  .spotify-section .spotify-wrapper-card { padding:32px 24px; }
  .spotify-section .spotify-grid { grid-template-columns:minmax(0,1fr); gap:28px; text-align:left; }
  .spotify-section .spotify-info { max-width:540px; }
}
@media(max-width:480px) {
  .spotify-section .spotify-wrapper-card { padding:28px 16px; border-radius:24px; }
}
.schedule-card .card-left { background:#fff; }
.schedule-card .card-title,.schedule-card .feature-info h4 { color:#061938; }
.schedule-card .card-desc,.schedule-card .feature-info p { color:#526077; }
.schedule-mascot { display:block; width:min(220px,70%); height:220px; object-fit:contain; margin:0 auto 20px; }
.services-page { background:#031735 !important; }
.services-page .form-card { background:#0a2855; border:1px solid #24426c; }
.services-page .form-title,.services-page .form-desc,.services-page .form-label { color:#fff; }
.handoff-note { font-size:14px; line-height:1.6; margin:12px 0; color:#34415a; opacity:1; }
.wiz-container-light label { display:block; margin:14px 0 6px; color:#061938; font-size:14px; }
.lang-switcher { isolation:isolate; }

.schedule-card .card-right { flex-direction:column; }
.schedule-card { background:#fff !important; gap:0 !important; }

/* Mascotes nas páginas de certificado e contato */
.certificate-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:40px; align-items:center; }
.certificate-art img { display:block; width:100%; height:auto; max-width:520px; margin:0 auto; }
.contact-mascot { display:block; width:clamp(140px,20vw,220px); height:auto; margin:20px auto 28px; }
@media(max-width:768px) {
  .certificate-layout { grid-template-columns:1fr; gap:24px; }
  .certificate-art { order:-1; }
  .certificate-art img { max-width:240px; }
  .contact-mascot { width:150px; }
}

.certificate-art { align-self:start; margin-top:40px; }
@media(max-width:768px) { .certificate-art { margin-top:0; } }

.schedule-card .card-right { background:#fff; }
.schedule-card .inner-dashed-box { border-color:#dce5f1; }
.schedule-card .box-prompt { color:#526077; }

/* Texto de apoio legível nos painéis claros e escuros. */
.services-page .handoff-note,
.services-page .form-desc,
.cert-page .handoff-note,
.cert-page .form-desc,
.cert-page .cert-info-item,
.contact-page .contact-desc { color:#dce5f1; opacity:1; }
.cert-page .form-control::placeholder { color:#b8c6da; opacity:1; }
.cert-page .form-control option { background:#0a2855; color:#fff; }
.contact-page .form-subheading { color:#526077; }
.contact-page .info-text-block p span { color:#b8c6da !important; }
.services-page .form-control::placeholder,
.contact-page .form-control::placeholder,
.wiz-input-light::placeholder { color:#526077; opacity:1; }
.schedule-card .calendar-icon-wrap { color:#145bff; }
.schedule-card .btn-cta-whatsapp { background-color:#087d43; }
.schedule-card .btn-cta-whatsapp:hover { background-color:#066a38; }
/* Agendamento: informação e mascote à esquerda; ações à direita. */
.schedule-page .schedule-card {
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  grid-template-areas:"intro actions" "mascot mascot";
  align-items:center;
}
.schedule-page .card-left { grid-area:intro; padding:40px 36px 12px; }
.schedule-page .card-title { font-size:clamp(28px,3vw,36px); }
.schedule-page .card-desc { margin-bottom:24px; }
.schedule-page .features-list { gap:16px; }
.schedule-page .card-right { grid-area:actions; padding:36px; }
.schedule-page .inner-dashed-box { padding:32px 24px; }
.schedule-page .schedule-card > .schedule-mascot {
  grid-area:mascot; width:180px; height:220px; margin:8px auto 32px;
}
@media(max-width:992px) {
  .schedule-page .schedule-card {
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-areas:"intro" "actions" "mascot";
  }
  .schedule-page .card-left { padding:28px 24px 8px; }
  .schedule-page .card-right { padding:16px 24px; }
  .schedule-page .schedule-card > .schedule-mascot { margin:8px auto 28px; }
}
/* Evita que a barra antiga de tradução desloque o cabeçalho. */
iframe.goog-te-banner-frame, .goog-te-banner-frame, .goog-te-balloon-frame,
.skiptranslate > iframe, #goog-gt-tt { display:none !important; }
body { top:0 !important; }
.language-flag { display:inline-flex; align-items:center; }
.language-flag img,.lang-option img { display:block; width:22px; height:15px; object-fit:contain; border-radius:2px; flex-shrink:0; }
.nossa-jornada-section .photo-wrapper { height:420px; align-self:center; }
.nossa-jornada-section .photo-img,
.nossa-jornada-section .donos-swiper-escola .swiper-slide img {
  width:100% !important; height:100% !important;
  object-fit:cover; object-position:center;
}
@media(max-width:768px) {
  .nossa-jornada-section .photo-wrapper { height:360px; margin:0 auto; }
}
.lang-option { display:flex; align-items:center; gap:10px; }
.schedule-page .schedule-card > .schedule-mascot { width:220px; height:260px; margin:8px auto 32px; }

.hero-title .blue-dot { color:#fff !important; }

/* Padrão compacto de cursos e serviços. */
.spotify-section .spotify-wrapper-card { max-width:1080px; margin:auto; padding:32px; }
.spotify-section .spotify-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; text-align:left; }
.spotify-player, .spotify-player iframe { height:400px; }
.course-hero .course-heading { font-size:clamp(22px,2.8vw,38px); line-height:1.18; white-space:nowrap; }
.hero .hero-title { font-size:clamp(22px,2.8vw,38px); line-height:1.18; }
.hero-title.modality-heading br { display:none; }
.contact-page .contact-title br { display:none; }
.contact-page .contact-title { white-space:nowrap; }
.nossa-jornada-section .jornada-title { font-size:clamp(24px,2.8vw,40px) !important; }
.nossa-jornada-section .jornada-title br { display:none; }
.nossa-jornada-section .jornada-title .title-blue { white-space:nowrap; }
.inline-country-flag { display:inline-block; width:22px; height:15px !important; object-fit:cover; vertical-align:middle; margin-right:6px; border-radius:2px; }
.course-heading .course-title-line { display:inline; white-space:nowrap; text-decoration:none; }
.course-heading .course-title-line.language-emphasis { text-decoration:underline; text-decoration-color:#246bfd; text-decoration-thickness:3px; text-underline-offset:7px; }
.modalities-section .modality-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; max-width:760px !important; margin:0 auto; gap:10px !important; }
.modalities-section .modality-card { min-width:0; }
.modalities-section .card-img-wrap { height:280px; aspect-ratio:auto; background:#f3f6fa; }
.modalities-section .card-img { width:100%; height:100%; object-fit:cover; object-position:center; }
.modalities-section .card-content { padding:22px; }
.contact-page { background:#fff !important; }
.contact-page::before, .contact-page::after { display:none; }
.contact-page .contact-info { background:#061d42; padding:32px; border-radius:24px; }
.contact-page .contact-title, .contact-page .contact-title span { color:#fff; }
.contact-page .contact-title { font-size:clamp(26px,3vw,36px); }
.contact-page .contact-title span { text-decoration:underline; text-decoration-color:#246bfd; text-underline-offset:7px; text-decoration-thickness:3px; }
.contact-page .form-card { background:#f7f9fd; border:1px solid #dce5f1; box-shadow:0 12px 36px rgba(6,25,56,.05); }
.booking-page.schedule-page { background:#fff; }
.jornada-title .title-blue { color:#fff !important; -webkit-text-fill-color:#fff !important; }
.hero-section .hero-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); flex-direction:row; gap:18px; align-items:start; max-width:660px; }
.hero-section .hero-features .feature-item { min-width:0; gap:8px; align-items:center; }
.hero-section .hero-features .feature-icon-wrapper { width:32px; height:32px; flex-shrink:0; font-size:13px; }
.hero-section .hero-features .feature-title { font-size:12px; line-height:1.4; }
.nossa-jornada-section .photo-wrapper { width:100% !important; max-width:460px !important; min-width:0; height:420px !important; margin:0 auto !important; overflow:hidden; box-shadow:0 12px 28px rgba(0,0,0,.18); }
.nossa-jornada-section .photo-wrapper:hover { transform:none; box-shadow:0 12px 28px rgba(0,0,0,.18); }
.nossa-jornada-section .photo-img, .nossa-jornada-section .donos-swiper-escola .swiper-slide img { width:100% !important; height:100% !important; object-fit:cover; object-position:center; }
@media(max-width:992px) {
 .nossa-jornada-section .photo-wrapper { max-width:420px !important; height:380px !important; }
}
@media(max-width:600px) {
 .nossa-jornada-section .photo-wrapper { max-width:340px !important; height:310px !important; }
 .hero-section .hero-features { gap:8px; width:100%; }
 .hero-section .hero-features .feature-item { flex-direction:column; text-align:center; gap:6px; }
 .hero-section .hero-features .feature-title { font-size:11px; }
}
@media(max-width:700px) {
 .spotify-section .spotify-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .spotify-section .spotify-wrapper-card { padding:24px 18px; }
 .modalities-section .modality-grid { gap:10px !important; }
 .modalities-section .card-content { padding:14px 12px; }
 .modalities-section .card-img-wrap { height:200px; }
 .modalities-section .card-title { font-size:20px; }
 .modalities-section .card-desc, .modalities-section .feature-row { font-size:12px; }
 .modalities-section .card-features { gap:10px; }
 .contact-page .contact-info { padding:24px; }
}
