/* Keep the supplied portrait complete, with ordering controls outside the image. */
.school-offer {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(30px, 6vw, 100px);
  width: min(1040px, var(--content-width));
  margin: 28px auto 0;
  padding: 0 0 32px;
  color: #373489;
  scroll-margin-top: 20px;
}
.school-offer__poster { display: block; width: 100%; height: auto; max-height: 660px; object-fit: contain; }
.school-offer__copy { min-width: 0; }
.school-offer__eyebrow { margin: 0 0 12px; font: 800 12px/1.5 Manrope, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #a84700; }
.school-offer h1 { margin: 0; color: #373489; font: 400 clamp(44px, 5.8vw, 78px)/.98 "Bebas Neue", sans-serif; letter-spacing: .01em; }
.school-offer__description { margin: 18px 0 16px; color: #514f73; font-size: 16px; line-height: 1.65; }
.school-offer__price { display: block; margin: 0 0 22px; color: #d45000; font: 800 56px/1.1 Manrope, sans-serif; letter-spacing: -.06em; }
.school-offer__price span { font-size: 28px; letter-spacing: -.02em; }
.school-offer label { display: block; margin: 0 0 8px; font-size: 13px; font-weight: 800; }
.school-offer select { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #bdb9df; border-radius: 10px; background: #fff; color: #373489; font: 700 16px/1.5 Manrope, sans-serif; }
.school-offer__note { min-height: 42px; margin: 10px 0 14px; color: #514f73; font-size: 12px; line-height: 1.6; }
.school-offer__add { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; min-height: 58px; padding: 15px 20px; border: 0; border-radius: 12px; background: #373489; color: #fff; font: 800 16px/1.4 Manrope, sans-serif; cursor: pointer; box-shadow: 0 5px 0 #23205e; }
.school-offer__add span { font-size: 28px; line-height: 1; font-weight: 500; }
.school-offer__add:hover:not(:disabled) { background: #48439f; }
.school-offer__add:active:not(:disabled) { transform: translateY(2px); box-shadow: 0 3px 0 #23205e; }
.school-offer__add:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
.school-offer :is(select, button, a):focus-visible { outline: 3px solid #d45000; outline-offset: 4px; }
.school-offer__feedback { margin: 12px 0 0; color: #373489; font-size: 13px; font-weight: 700; line-height: 1.5; }
.school-offer__feedback:empty { display: none; }
.school-offer__menu { display: flex; justify-content: space-between; margin-top: 20px; padding-block: 8px; color: #373489; font-size: 13px; font-weight: 700; text-decoration: none; }

html body.has-school-offer:not(.has-fala) .hero { height: auto; min-height: 0; max-height: none; aspect-ratio: auto; background: #fff; padding-bottom: 30px; box-shadow: none; }
body.has-school-offer:not(.has-fala) .hero-backdrop,
body.has-school-offer:not(.has-fala) .hero-overlay,
body.has-school-offer:not(.has-fala) .hero-copy { display: none; }
body.has-school-offer:not(.has-fala) .hero-body { position: relative; display: block; margin-top: 0; min-height: 0; }
body.has-school-offer:not(.has-fala) .hero-summary { max-width: 1040px; margin-inline: auto; padding: 0; border: 0; background: transparent; box-shadow: none; }
body.has-school-offer:not(.has-fala) .hero-summary__header,
body.has-school-offer:not(.has-fala) .hero-summary__intro { display: none; }
body.has-school-offer:not(.has-fala) .hero-summary .hero-address { margin-top: 0; }
body.has-school-offer:not(.has-fala) .hero-brand__logo--neon { display: none; }
body.has-school-offer:not(.has-fala) .hero-brand__logo--fala { display: block; width: auto; height: 66px; max-height: none; filter: none; }
body.has-school-offer:not(.has-fala) .hero-topbar .ghost-button,
body.has-school-offer:not(.has-fala) .mobile-nav-toggle { color: #373489; background: #f7f5ff; border-color: #dedaf0; box-shadow: none; }
body.has-school-offer:not(.has-fala) .mobile-nav-toggle span { background: #373489; }
body.has-school-offer:not(.has-fala) .hero-topbar .ghost-button__count { background: #373489; color: #fff; }
body.has-fala .school-offer { display: none; }
body.has-school-offer:not(.has-fala) .hero-mobile-loyalty-slot { position: static; width: 100%; transform: none; margin-top: 14px; }

@media (max-width: 760px) {
  .school-offer { grid-template-columns: 1fr; gap: 20px; width: min(480px, calc(100% - 36px)); margin-top: 18px; padding-bottom: 18px; }
  .school-offer__poster { width: auto; max-width: 100%; max-height: 57svh; margin-inline: auto; }
  .school-offer__copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; }
  .school-offer__eyebrow, .school-offer__description { display: none; }
  .school-offer h1 { font-size: 34px; line-height: 1; margin: 0 0 18px; }
  .school-offer h1 br { display: none; }
  .school-offer__price { align-self: start; margin: 0; font-size: 32px; letter-spacing: -.05em; }
  .school-offer__price span { font-size: 19px; }
  .school-offer__copy > :not(h1):not(.school-offer__price) { grid-column: 1 / -1; }
  .school-offer__note { min-height: 0; margin: 8px 0 12px; }
  .school-offer__menu { margin-top: 12px; }
  body.has-school-offer:not(.has-fala) .hero-brand__logo--fala { height: 50px; }
  html body.has-school-offer:not(.has-fala) .hero { padding-bottom: 12px; }
}
