/*!
Theme Name: Athena
Theme URI: http://underscores.me/
Author: MazzMedia
Author URI: https://www.mazzmedia.com/
Description: Description
Version: 3.4
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: athenafunctionaltraining
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Athena is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

:root {
  --page-bg: #ffffff;
  --text: #111111;
  --muted: #555555;
  --gold: #f3b300;
  --sage: #a2b08f;
  --olive: #62704f;
  --beige: #c4b79e;
  --grey: #b4b4b4;
  --shadow: 10px 5px 3.5px rgba(0, 0, 0, 0.25);
  --radius: 28px;
  --radius-sm: 6px;
  --shell: 1296px;
  --shell-narrow: 1076px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--page-bg);
  color: var(--text);
  font-family: "Poppins", sans-serif;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

.shell {
  width: min(calc(100% - 48px), var(--shell));
  margin: 0 auto;
}

.shell--wide {
  width: min(calc(100% - 48px), 1396px);
}

.shell--narrow,
.shell--team {
  width: min(calc(100% - 48px), var(--shell-narrow));
}

.section {
  padding: 70px 0;
}

.section--dark {
  background: #000000;
  color: #ffffff;
}

.section--services {
  background: var(--grey);
  color: #ffffff;
}

.section--sage {
  background: var(--sage);
  color: #ffffff;
}

.section--beige {
  background: var(--beige);
  color: #ffffff;
}

.section--olive {
  background: var(--olive);
  color: #ffffff;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 80px;
  gap: 24px;
}

.brand img {
  width: 127.902px;
  height: 52.481px;
  height: auto;
  object-fit: contain;
}

.topbar__nav {
  display: flex;
  gap: 24px;
}

.chip-button {
  border: 1px solid #000000;
  border-radius: var(--radius-sm);
  padding: 8px 16px;
  font-size: 18px;
  line-height: 1.2;
  transition: background 0.2s ease, color 0.2s ease;
}

.chip-button:hover,
.chip-button:focus-visible {
  background: #000000;
  color: #ffffff;
}

.hero {
  position: relative;
  overflow: hidden;
}

.hero__slider {
  display: flex;
  width: 100%;
}

.hero__slide {
  min-width: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.8s ease-in-out;
  pointer-events: none;
}

.hero__slide--active {
  opacity: 1;
  position: relative;
  pointer-events: auto;
}

.hero__bg {
  width: 100%;
  display: block;
}

/* Frecce */
.hero__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  border: none;
  padding: 12px 18px;
  font-size: 20px;
  cursor: pointer;
  z-index: 10;
  transition: background 0.2s;
}

.hero__arrow:hover {
  background: rgba(0, 0, 0, 0.7);
}

.hero__arrow--prev { left: 15px; }
.hero__arrow--next { right: 15px; }

/* Dots */
.hero__dots {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}

.hero__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
  cursor: pointer;
  transition: background 0.3s;
}

.hero__dot--active {
  background: #fff;
}

.section-heading {
  display: grid;
  gap: 16px;
  margin-bottom: 32px;
  text-align: center;
}

.section-heading--light {
  color: #ffffff;
}

.section-heading--left {
  text-align: left;
}

.section-heading h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 2.5rem);
  line-height: 1.1;
  font-weight: 700;
}

.section-heading p {
  margin: 0;
  font-size: 20px;
  line-height: 1.5;
}

.feature-grid {
  display: grid;
  gap: 24px;
}

.feature-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.feature-grid--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.feature {
  display: grid;
  gap: 8px;
  align-items: start;
  justify-items: center;
  text-align: center;
}

.feature img {
  width: 90px;
  height: 90px;
  object-fit: contain;
}

.feature p {
  margin: 0;
  font-size: 20px;
  line-height: 1.35;
}

.icon-ribbon {
  position: relative;
  width: 90px;
  height: 90px;
}

.icon-ribbon img {
  position: absolute;
  inset: 0;
}

.icon-ribbon__left {
  right: 50%;
  width: 50%;
}

.icon-ribbon__right {
  left: 14%;
  top: 14%;
  width: 86%;
  height: 84%;
}

.rich-copy {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  font-size: 20px;
  line-height: 1.5;
}

.rich-copy--compact {
  gap: 16px;
  margin-bottom: 24px;
}

.rich-copy p {
  margin: 0;
}

.full-bleed-image img {
  width: 100%;
  min-height: 433px;
  object-fit: cover;
}

.carousel-block {
  display: grid;
  gap: 32px;
}

.carousel {
  --carousel-gap: 24px;
  --slides-per-view: 3;
  display: grid;
  gap: 32px;
}

.carousel__viewport {
  overflow: hidden;
}

.carousel__track {
  display: flex;
  gap: var(--carousel-gap);
  transform: translate3d(0, 0, 0);
  transition: transform 0.4s ease;
  will-change: transform;
}

.cards-track .image-card,
.review-track .review-card {
  flex: 0 0 calc((100% - (var(--carousel-gap) * (var(--slides-per-view) - 1))) / var(--slides-per-view));
}

.image-card {
  position: relative;
  min-height: 500px;
  overflow: hidden;
}

.image-card img,
.image-card__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.image-card img {
  object-fit: cover;
}

.image-card__overlay {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0));
}

.image-card__content {
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 32px;
  display: flex;
  gap: 6px;
  align-items: flex-start;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.4;
}

.image-card__content p {
  margin: 0;
}

.number-badge {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 45px;
  height: 45px;
  border-radius: 999px;
  background: #ffffff;
  color: #111111;
  font-weight: 700;
}

.carousel__controls {
  display: flex;
  gap: 16px;
}

.arrow-button {
  width: 52px;
  height: 52px;
  border: 3px solid #111111;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: opacity 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.arrow-button span {
  display: block;
  width: 16px;
  height: 16px;
  border-top: 3px solid #111111;
  border-left: 3px solid #111111;
  transform: rotate(-45deg) translate(2px, 2px);
}

.arrow-button--next span {
  transform: rotate(135deg) translate(2px, 2px);
}

.arrow-button:hover,
.arrow-button:focus-visible {
  background: rgba(17, 17, 17, 0.06);
  transform: translateY(-1px);
}

.arrow-button.is-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.value-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.value-card {
  display: grid;
  gap: 18px;
}

.value-card img {
  width: 90px;
  height: 90px;
  object-fit: contain;
  justify-self: center;
}

.value-card h3,
.bullet-item h3,
.location-block h3,
.team-card h3,
.review-card h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
}

.value-card p,
.bullet-item p,
.team-card p,
.review-card p,
.location-block p {
  margin: 0;
  font-size: 20px;
  line-height: 1.5;
}

.value-card__lead {
  font-weight: 700;
}

.split-layout,
.dialogue-grid,
.location-grid {
  display: grid;
  gap: 24px;
}

.split-layout {
  grid-template-columns: minmax(0, 636px) minmax(0, 636px);
  align-items: center;
}

.split-layout__media img {
  width: 100%;
  min-height: 778px;
  object-fit: cover;
}

.split-layout__content {
  display: grid;
  gap: 24px;
}

.bullet-stack {
  display: grid;
  gap: 24px;
}

.bullet-item {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 12px;
}

.bullet-item__icon {
  width: 30px;
  height: 30px;
  margin-top: 8px;
  border: 2px solid currentColor;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 700;
}

.bullet-item div {
  display: grid;
  gap: 12px;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 416px));
  justify-content: center;
  gap: 24px;
}

.team-card {
  display: grid;
  gap: 24px;
}

.team-card__photo,
.dialogue-image,
.location-map {
  position: relative;
  overflow: hidden;
}

.team-card__photo img,
.dialogue-image img,
.location-map > img:first-child {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-card__photo {
  min-height: 500px;
}

.team-card__shade,
.dialogue-image__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0));
}

.dialogue-grid {
  grid-template-columns: minmax(0, 636px) minmax(0, 636px);
  align-items: start;
}

.dialogue-image {
  min-height: 764px;
}

.contact-panel {
  display: grid;
  gap: 20px;
}

.contact-panel__notice {
  max-width: 415px;
  background: #000000;
  color: #ffffff;
  padding: 27px 21px;
  font-size: 20px;
  line-height: 1.45;
}

.contact-form {
  display: grid;
  gap: 24px;
}

.contact-form h3 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 2.5rem);
  line-height: 1.1;
}

.contact-form label {
  display: grid;
  gap: 10px;
  font-size: 20px !important;
}

.contact-form input[type="text"],
.contact-form input[type="tel"],
.contact-form input[type="email"] {
  width: 100% !important;
  height: 80px !important;
  border: 0 !important;
  background: rgba(43, 43, 43, 0.25) !important;
  padding: 0 18px !important;
}

.contact-form button[type="submit"]{
  color: #000 !important;
  text-align: center !important;
  font-family: Poppins !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: normal !important;
  background: #F1B300 !important;
  border-radius: 0px !important;
  padding: 6px 20px !important;
  gap: 40px !important;
}

.contact-form .gform_footer{
  justify-content: end;
}

.phone-row {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 25px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.phone-row__prefix,
.phone-row__number {
  display: grid;
  gap: 10px;
}

.phone-row__prefix input {
  text-align: center;
}

.submit-button {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  border: 0;
  background: #f1b300;
  color: #000000;
  padding: 6px 16px 6px 14px;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
}

.submit-button__icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #1f1f1f;
  color: #f1b300;
  font-size: 36px;
  line-height: 1;
}

.form-status {
  min-height: 24px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.location-grid {
  grid-template-columns: minmax(0, 636px) minmax(0, 661px);
  align-items: start;
}

.location-copy {
  display: grid;
  gap: 20px;
}

.location-block {
  display: grid;
  gap: 16px;
}

.location-block h3 {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}

.location-block h3 img {
  width: auto;
  height: 20px;
}

.location-map {
  min-height: 500px;
}

.location-map__pin {
  position: absolute;
  left: 59.6%;
  top: 50.4%;
  width: 32px;
  height: 32px;
  transform: translate(-50%, -50%);
}

.review-track .review-card {
  min-width: 0;
}

.review-card {
  min-height: 500px;
  background: #d9d9d9;
  box-shadow: var(--shadow);
  padding: 40px 26px 29px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 34px;
}

.review-card__stars {
  width: 168px;
  height: 21px;
}

.review-card h3 {
  align-self: end;
}

.footer {
  background: var(--gold);
  color: #ffffff;
}

.footer__inner {
  padding: 32px 0;
  display: grid;
  gap: 28px;
}

.footer__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.footer__logo {
  width: 127.902px;
  height: 52.481px;
  object-fit: contain;
}

.footer__social {
  display: flex;
  gap: 16px;
}

.footer__social a img {
  width: 24px;
  height: 24px;
}

.footer__note {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  line-height: 1.55;
  letter-spacing: 0.01em;
}

@media (max-width: 1120px) {
  .carousel {
    --slides-per-view: 2;
  }

  .feature-grid--4,
  .feature-grid--5,
  .value-grid,
  .team-grid,
  .split-layout,
  .dialogue-grid,
  .location-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .split-layout__media,
  .split-layout__content,
  .dialogue-grid > *,
  .location-grid > * {
    min-width: 0;
  }
}

@media (max-width: 800px) {
  .carousel {
    --slides-per-view: 1;
  }

  .shell,
  .shell--wide,
  .shell--narrow,
  .shell--team {
    width: min(calc(100% - 32px), var(--shell));
  }

  .topbar__inner,
  .topbar__nav,
  .footer__top {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }

  .feature-grid--4,
  .feature-grid--5,
  .value-grid,
  .team-grid,
  .split-layout,
  .dialogue-grid,
  .location-grid {
    grid-template-columns: 1fr;
  }

  .feature-grid--4,
  .feature-grid--5 {
    gap: 32px;
  }

  .rich-copy,
  .section-heading p,
  .feature p,
  .value-card p,
  .bullet-item p,
  .team-card p,
  .review-card p,
  .location-block p,
  .contact-form label,
  .contact-panel__notice {
    font-size: 18px;
  }

  .split-layout__media img,
  .dialogue-image,
  .team-card__photo,
  .location-map {
    min-height: 420px;
  }

  .phone-row {
    grid-template-columns: 100px 1fr;
  }

  .submit-button {
    width: 100%;
    justify-content: center;
  }

  .carousel__controls {
    justify-content: flex-start;
  }
}

@media screen and (min-width:801px){
  .contact-panel{
    margin-top: 250px !important;
  }
}

.text-center{
  text-align: center !important;
}

.inline-block{
  display: inline-block !important;
}

.title-card-team{
  margin-top: 2rem !important;
  margin-bottom: 1rem !important;
}
.shell.long{
    width: min(calc(100% - 48px), 1330px);
}

.servizi-block{
  color: #FFF;
  text-align: center;
  font-family: Poppins;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  border: 2px solid white;
  padding: 10px;
}

@media screen and (min-width:801px){
  .gap-65{
    gap:65px !important;
  }
}

@media screen and (max-width: 800px){
  .topbar__nav{
    display: none !important;
  }
}

.split-layout__media {
  position: relative;
  overflow: hidden;
}

.split-slider {
  width: 100%;
}

.split-slider__slide {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: opacity 0.8s ease-in-out;
  pointer-events: none;
}

.split-slider__slide--active {
  opacity: 1;
  position: relative;
  pointer-events: auto;
}

.split-slider__slide img {
  width: 100%;
  display: block;
}

/* Frecce */
.split-slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  border: none;
  padding: 10px 15px;
  font-size: 18px;
  cursor: pointer;
  z-index: 10;
  transition: background 0.2s;
}

.split-slider__arrow:hover {
  background: rgba(0, 0, 0, 0.7);
}

.split-slider__arrow--prev { left: 10px; }
.split-slider__arrow--next { right: 10px; }

/* Dots */
.split-slider__dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}

.split-slider__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background 0.3s;
}

.split-slider__dot--active {
  background: #fff;
}