/* GBR Academy - leggibilita e UX (Claude, ott 2026). Caricato da agent-connector-for-wp-sandbox/gbr-performance.php */

/* Testi descrittivi delle card e del programma: erano 12px */
main .bde-text-16-240,
main .bde-text-16-255,
main .bde-text-16-260,
main .bde-text-16-288,
main .bde-text-16-272,
main .bde-text-16-277,
main .bde-text-16-282,
main .bde-text-16-741,
main .bde-text-16-746,
main .bde-text-16-751,
main .bde-text-16-756,
main .bde-text-16-573,
main .bde-text-16-580,
main .bde-text-16-587,
main .bde-text-16-623,
main .bde-text-16-630,
main .bde-rich-text-202-208,
main .bde-rich-text-202-223,
main .bde-rich-text-202-224,
main .bde-text-202-405,
main .bde-text-202-412,
main .bde-text-202-419,
main .bde-rich-text-193-208,
main .bde-rich-text-193-223,
main .bde-rich-text-193-224,
main .bde-text-193-323,
main .bde-text-193-330,
main .bde-text-193-337,
main .bde-rich-text-233-208,
main .bde-rich-text-233-223,
main .bde-rich-text-233-224,
main .bde-text-233-323,
main .bde-text-233-330,
main .bde-text-233-337,
main .bde-rich-text-162-208,
main .bde-rich-text-162-223,
main .bde-rich-text-162-224,
main .bde-text-162-323,
main .bde-text-162-330,
main .bde-text-162-337,
main .bde-rich-text-183-208,
main .bde-rich-text-183-223,
main .bde-rich-text-183-224,
main .bde-text-183-323,
main .bde-text-183-330,
main .bde-text-183-337,
main .bde-rich-text-213-208,
main .bde-rich-text-213-223,
main .bde-rich-text-213-224,
main .bde-text-213-308,
main .bde-text-213-315,
main .bde-text-213-322 {
  font-size: 15px;
  line-height: 1.6;
}

/* CTA principale della homepage: da grigio a bottone pieno */
main .bde-button-16-122 .button-atom {
  background: #082244;
  border-color: #082244;
  color: #fff;
}
main .bde-button-16-122 .button-atom:hover {
  background: #c10006;
  border-color: #c10006;
  color: #fff;
}

/* Contrasto del rosso sulle sezioni blu scuro */
main .bde-text-16-343,
main .bde-text-15-327,
main .bde-section-16-314 .dual-heading--secondary,
main .bde-section-15-326 .dual-heading--secondary {
  color: #ff4639;
}

/* Chi siamo: paragrafo introduttivo con righe meno lunghe */
main .bde-text-15-133 {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

/* Testi lunghi: interlinea piu ariosa */
main .breakdance-rich-text-styles {
  line-height: 1.6;
}

@media (max-width: 767px) {
  /* Spaziature verticali: 100px tra le sezioni erano troppe su telefono */
  main section.bde-section > .section-container {
    padding-top: 56px;
    padding-bottom: 56px;
  }
  main > section.bde-section:first-child > .section-container {
    padding-top: 32px;
  }
  main section.bde-section-16-153 > .section-container,
  main section.bde-section-202-382 > .section-container,
  main section.bde-section-193-298 > .section-container,
  main section.bde-section-233-298 > .section-container,
  main section.bde-section-213-170 > .section-container,
  main section.bde-section-162-298 > .section-container,
  main section.bde-section-183-298 > .section-container {
    padding-top: 0;
  }

  /* Titoli proporzionati allo schermo (il titolo dei corsi usciva dal bordo) */
  body:not(.page-id-15) main h1.bde-heading,
  main h1.bde-dual-heading {
    font-size: clamp(30px, 8.6vw, 38px);
    line-height: 1.12;
    overflow-wrap: break-word;
    hyphens: manual;
  }
  main h2.bde-heading:not(.bde-heading-17-126),
  main h2.bde-dual-heading {
    font-size: clamp(26px, 7.4vw, 31px);
    line-height: 1.15;
  }
  body:not(.page-id-15) main h3.bde-heading {
    font-size: 20px;
    line-height: 1.25;
  }

  /* Paragrafo dell'intestazione dei corsi a tutta larghezza (era 210px) */
  main > section.bde-section:first-child .bde-rich-text,
  main > section.bde-section:first-child .bde-text {
    width: auto;
    max-width: 100%;
  }

  /* Bottoni affiancati: vanno a capo invece di uscire dallo schermo */
  main .bde-div:has(> .bde-button + .bde-button) {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }
  main .bde-div:has(> .bde-button + .bde-button) .button-atom {
    padding: 12px 18px;
  }

  /* Pagine corso: prima il testo "Dove si svolge", poi la mappa */
  main .bde-columns > .bde-column:has(.bde-google-map) {
    order: 2;
  }

  /* Video testimonianze: carosello orizzontale invece di 8 video in colonna */
  main .bde-div:has(> .bde-video + .bde-video + .bde-video) {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 72%;
    grid-template-columns: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    gap: 12px;
  }
  main .bde-div:has(> .bde-video + .bde-video + .bde-video) > .bde-video {
    scroll-snap-align: start;
    width: auto;
  }

  /* Chi siamo: team su due colonne */
  body.page-id-15 main .bde-div:has(> .bde-div > h3.bde-heading) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
  }
  body.page-id-15 main .bde-div:has(> .bde-div > h3.bde-heading) > .bde-div {
    min-width: 0;
    width: auto;
    border-radius: 16px;
    padding-bottom: 14px;
  }
  body.page-id-15 main .bde-div > .bde-div > h3.bde-heading {
    font-size: 15px;
    line-height: 1.25;
    padding: 0 8px;
  }
  body.page-id-15 main .bde-div > .bde-div > h4.bde-heading {
    font-size: 11px;
    letter-spacing: .04em;
    line-height: 1.3;
    padding: 0 8px;
    margin-bottom: 12px;
  }
  body.page-id-15 main .bde-div:has(> .bde-div > h3.bde-heading) > .bde-div > :first-child {
    margin-bottom: 14px;
  }
  body.page-id-15 main .bde-div:has(> .bde-div > h3.bde-heading) > .bde-div > .bde-div:last-child {
    gap: 14px;
    margin-bottom: 0;
  }

  body.page-id-15 main .bde-div:has(> .bde-div > h3.bde-heading) .breakdance-image,
  body.page-id-15 main .bde-div:has(> .bde-div > h3.bde-heading) .breakdance-image img {
    width: 100%;
    height: auto;
  }

  /* Contatti: foto meno alta per far vedere subito i recapiti */
  body.page-id-17 main .bde-section-17-100 .breakdance-image,
  body.page-id-17 main .bde-section-17-100 .breakdance-image img {
    height: 260px;
    object-fit: cover;
  }

  /* Menu: area di tocco piu comoda */
  .breakdance-menu-toggle {
    min-width: 44px;
    min-height: 44px;
  }
}

/* Copertina del video Vimeo in homepage: il player si carica solo al clic */
.gbr-vfacade {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: #000;
  cursor: pointer;
  overflow: hidden;
}
.gbr-vfacade img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.gbr-vfacade:hover img {
  transform: scale(1.02);
}
.gbr-vplay {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 84px;
  height: 84px;
  margin: -42px 0 0 -42px;
  border-radius: 50%;
  background: rgba(193, 0, 6, .92);
  box-shadow: 0 8px 30px rgba(0, 0, 0, .35);
  transition: transform .2s ease;
}
.gbr-vplay::after {
  content: "";
  position: absolute;
  left: 34px;
  top: 26px;
  border-style: solid;
  border-width: 16px 0 16px 26px;
  border-color: transparent transparent transparent #fff;
}
.gbr-vfacade:hover .gbr-vplay {
  transform: scale(1.08);
}
.gbr-vfacade:focus-visible {
  outline: 3px solid #ff4639;
  outline-offset: -3px;
}
@media (max-width: 767px) {
  .gbr-vplay {
    width: 60px;
    height: 60px;
    margin: -30px 0 0 -30px;
  }
  .gbr-vplay::after {
    left: 24px;
    top: 18px;
    border-width: 12px 0 12px 19px;
  }
}
/* ===== Restyling (Claude, ott 2026): proposte 1-10 approvate ===== */
/* P1 Loghi partner: parete di loghi pulita al posto dei riquadri */
main .bde-grid:has(> a.bde-container-link > img) {
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  grid-auto-rows: 80px;
  gap: 16px 20px;
  align-items: center;
}
main .bde-grid:has(> a.bde-container-link > img) > a.bde-container-link {
  border: 0;
  background: transparent;
  height: 80px;
  width: auto;
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .bde-grid:has(> a.bde-container-link > img) > a.bde-container-link > img {
  max-height: 64px;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .62;
  transition: filter .25s ease, opacity .25s ease;
}
main .bde-grid:has(> a.bde-container-link > img) > a.bde-container-link:hover > img {
  filter: none;
  opacity: 1;
}
@media (max-width: 767px) {
  main .bde-grid:has(> a.bde-container-link > img) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 64px;
    gap: 12px 18px;
  }
  main .bde-grid:has(> a.bde-container-link > img) > a.bde-container-link {
    height: 64px;
  }
}

/* P2 Etichette sopra i titoli: stesso stile ovunque, con trattino rosso */
main .bde-text-16-293,
main .bde-text-16-294,
main .bde-text-16-734,
main .bde-text-16-348,
main .bde-text-16-561,
main .bde-text-15-378,
main .bde-text-15-257,
main .bde-text-15-259,
main .bde-text-15-297,
main .bde-text-202-156,
main .bde-text-202-164,
main .bde-text-202-285,
main .bde-text-202-230,
main .bde-text-193-156,
main .bde-text-193-164,
main .bde-text-193-285,
main .bde-text-193-230,
main .bde-text-233-156,
main .bde-text-233-164,
main .bde-text-233-285,
main .bde-text-233-230,
main .bde-text-213-156,
main .bde-text-213-164,
main .bde-text-213-285,
main .bde-text-213-230,
main .bde-text-162-156,
main .bde-text-162-164,
main .bde-text-162-285,
main .bde-text-162-230,
main .bde-text-183-156,
main .bde-text-183-164,
main .bde-text-183-285,
main .bde-text-183-230,
main .bde-text-16-343,
main .bde-text-16-690,
main .bde-text-15-327,
main .bde-text-15-367,
main .bde-text-15-377,
main .bde-text-202-129,
main .bde-text-202-297,
main .bde-text-193-129,
main .bde-text-193-297,
main .bde-text-233-129,
main .bde-text-233-297,
main .bde-text-213-129,
main .bde-text-213-297,
main .bde-text-162-129,
main .bde-text-162-297,
main .bde-text-183-129,
main .bde-text-183-297 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.4;
  text-transform: uppercase;
  margin-bottom: 14px;
}
main .bde-text-16-293::before,
main .bde-text-16-294::before,
main .bde-text-16-734::before,
main .bde-text-16-348::before,
main .bde-text-16-561::before,
main .bde-text-15-378::before,
main .bde-text-15-257::before,
main .bde-text-15-259::before,
main .bde-text-15-297::before,
main .bde-text-202-156::before,
main .bde-text-202-164::before,
main .bde-text-202-285::before,
main .bde-text-202-230::before,
main .bde-text-193-156::before,
main .bde-text-193-164::before,
main .bde-text-193-285::before,
main .bde-text-193-230::before,
main .bde-text-233-156::before,
main .bde-text-233-164::before,
main .bde-text-233-285::before,
main .bde-text-233-230::before,
main .bde-text-213-156::before,
main .bde-text-213-164::before,
main .bde-text-213-285::before,
main .bde-text-213-230::before,
main .bde-text-162-156::before,
main .bde-text-162-164::before,
main .bde-text-162-285::before,
main .bde-text-162-230::before,
main .bde-text-183-156::before,
main .bde-text-183-164::before,
main .bde-text-183-285::before,
main .bde-text-183-230::before,
main .bde-text-16-343::before,
main .bde-text-16-690::before,
main .bde-text-15-327::before,
main .bde-text-15-367::before,
main .bde-text-15-377::before,
main .bde-text-202-129::before,
main .bde-text-202-297::before,
main .bde-text-193-129::before,
main .bde-text-193-297::before,
main .bde-text-233-129::before,
main .bde-text-233-297::before,
main .bde-text-213-129::before,
main .bde-text-213-297::before,
main .bde-text-162-129::before,
main .bde-text-162-297::before,
main .bde-text-183-129::before,
main .bde-text-183-297::before {
  content: "";
  flex: 0 0 28px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}
main .bde-text-16-343,
main .bde-text-16-690,
main .bde-text-15-327,
main .bde-text-15-367,
main .bde-text-15-377,
main .bde-text-202-129,
main .bde-text-202-297,
main .bde-text-193-129,
main .bde-text-193-297,
main .bde-text-233-129,
main .bde-text-233-297,
main .bde-text-213-129,
main .bde-text-213-297,
main .bde-text-162-129,
main .bde-text-162-297,
main .bde-text-183-129,
main .bde-text-183-297 {
  justify-content: center;
}

/* P3 Bottoni: forma e comportamento uniformi */
main .bde-button .button-atom--custom,
main .bde-button .button-atom--primary {
  border-radius: 10px;
  padding: 15px 28px;
  font-weight: 600;
  letter-spacing: .01em;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
main .bde-button .button-atom--custom:hover,
main .bde-button .button-atom--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -12px rgba(8, 34, 68, .55);
}
/* Etichette di livello nelle card (BASE, INTERMEDIO...): pillole, non bottoni */
main .bde-div:has(> .bde-button + .bde-div > h3) > .bde-button .button-atom {
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  cursor: default;
  transform: none;
  box-shadow: none;
  width: auto;
  white-space: nowrap;
}
main .bde-div:has(> .bde-button + .bde-div > h3) > .bde-button {
  width: auto;
}

/* P4 Elenchi con spunta (Per chi e, Metodo, Uditore): blocchi leggeri */
main .bde-div:has(> .bde-icon + .bde-div > h3) {
  background: #f5f7fa;
  border: 1px solid #e6ebf1;
  border-radius: 14px;
  padding: 18px 20px;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 12px;
}
main .bde-div:has(> .bde-icon + .bde-div > h3) > .bde-div > h3.bde-heading {
  font-size: 19px;
  line-height: 1.3;
  margin-bottom: 4px;
}
main .bde-div:has(> .bde-icon + .bde-div > h3) > .bde-div > .bde-text {
  color: #3d4757;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  main .bde-div:has(> .bde-icon + .bde-div > h3) {
    padding: 16px;
  }
  main .bde-div:has(> .bde-icon + .bde-div > h3) > .bde-div > h3.bde-heading {
    font-size: 17px;
  }
}

/* P5 Card dei corsi: bianche, ombra morbida, foto arrotondata */
main .bde-div:has(> .bde-button + .bde-div > h3) {
  background: #fff;
  border: 1px solid #e6ebf1;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 16px 32px -20px rgba(8, 34, 68, .25);
  transition: transform .25s ease, box-shadow .25s ease;
}
main a.bde-container-link:hover > .bde-div:has(> .bde-button + .bde-div > h3) {
  transform: translateY(-4px);
  box-shadow: 0 2px 4px rgba(16, 24, 40, .05), 0 24px 40px -18px rgba(8, 34, 68, .35);
}
main .bde-div:has(> .bde-button + .bde-div > h3) > img {
  width: 100%;
  border-radius: 12px;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
  margin-top: auto;
}

/* P6 FAQ: una colonna, righe pulite, domande piu leggibili */
main .bde-div-16-683 {
  display: block;
  width: 100%;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  background: transparent;
  padding: 0;
}
main .bde-div-16-683 .bde-faq__item {
  border: 0;
  border-bottom: 1px solid #e3e8ef;
  border-radius: 0;
  background: transparent;
}
main .bde-div-16-683 .bde-faq__question {
  padding: 22px 4px;
}
main .bde-div-16-683 .bde-faq__title {
  font-family: "Sora", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #0b1b33;
}
main .bde-div-16-683 .bde-faq__icon svg {
  fill: #c10006;
}
main .bde-div-16-683 .bde-faq__answer-content {
  padding: 0 4px 22px;
  color: #3d4757;
}
@media (max-width: 767px) {
  main .bde-div-16-683 .bde-faq__title {
    font-size: 16px;
  }
}

/* P7 Apertura della homepage: sfondo sfumato, etichetta a pillola, video con ombra */
main .bde-section-16-112 {
  background: radial-gradient(1000px 520px at 50% 18%, rgba(193, 0, 6, .045), transparent 70%), linear-gradient(180deg, #fff 0%, #f3f6fa 55%, #fff 100%);
}
main .bde-text-16-117 {
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 7px 16px;
  border-radius: 999px;
  background: rgba(193, 0, 6, .08);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
}
main .bde-video-16-132 {
  border: 0;
  border-radius: 20px;
  box-shadow: 0 32px 64px -24px rgba(8, 34, 68, .5);
}

/* P8 Footer: blu del marchio al posto del nero */
.bde-section-29-100 {
  background: linear-gradient(180deg, #0a2347 0%, #061a35 100%);
}
.bde-section-29-100 h4.bde-heading {
  font-size: 15px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
}
.bde-section-29-100 a {
  color: rgba(255, 255, 255, .74);
  transition: color .2s ease;
}
.bde-section-29-100 a:hover {
  color: #fff;
}

/* P9 Programma dei corsi: giornate come linea del tempo */
main .bde-text-202-206,
main .bde-text-202-221,
main .bde-text-202-214,
main .bde-text-193-206,
main .bde-text-193-221,
main .bde-text-193-214,
main .bde-text-233-206,
main .bde-text-233-221,
main .bde-text-233-214,
main .bde-text-213-206,
main .bde-text-213-221,
main .bde-text-213-214,
main .bde-text-162-206,
main .bde-text-162-221,
main .bde-text-162-214,
main .bde-text-183-206,
main .bde-text-183-221,
main .bde-text-183-214 {
  display: inline-flex;
  align-self: flex-start;
  width: auto;
  margin-top: 18px;
  padding: 6px 12px;
  border-radius: 8px;
  background: #082244;
  color: #fff;
  font-size: 13px;
  letter-spacing: .06em;
}
main .bde-rich-text-202-208,
main .bde-rich-text-202-223,
main .bde-rich-text-202-224,
main .bde-rich-text-193-208,
main .bde-rich-text-193-223,
main .bde-rich-text-193-224,
main .bde-rich-text-233-208,
main .bde-rich-text-233-223,
main .bde-rich-text-233-224,
main .bde-rich-text-213-208,
main .bde-rich-text-213-223,
main .bde-rich-text-213-224,
main .bde-rich-text-162-208,
main .bde-rich-text-162-223,
main .bde-rich-text-162-224,
main .bde-rich-text-183-208,
main .bde-rich-text-183-223,
main .bde-rich-text-183-224 {
  margin-left: 8px;
  padding: 10px 0 6px 20px;
  border-left: 2px solid #f0c8c9;
}

/* P10 Menu sempre visibile durante lo scorrimento */
body header.bde-header-builder.bde-header-builder-23-100 {
  position: sticky;
  top: 0;
  z-index: 200;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: saturate(160%) blur(8px);
  -webkit-backdrop-filter: saturate(160%) blur(8px);
  box-shadow: 0 1px 0 rgba(8, 34, 68, .08), 0 8px 24px -16px rgba(8, 34, 68, .25);
}

