/* Accademia Ippocrate Suite 4.0.8 — Titoli istituzionali globali. */

:root{
  --ais-gold-deep:#9c6814;
  --ais-gold:#c9952f;
  --ais-gold-mid:#dfbd68;
  --ais-gold-light:#fff0bd;
  --ais-green:#0b513c;
  --ais-ivory:#fffdf8;
}

/* Titoli principali generati da WordPress, OceanWP, LifterLMS ed Elementor. */
body :is(
  h1.entry-title,
  h2.entry-title,
  .single-post-title,
  .page-title,
  .page-header-title,
  .llms-sd-title,
  .aisuite-gold-title
){
  display:block;
  width:100%;
  max-width:1480px;
  margin:clamp(28px,4vw,58px) auto clamp(22px,3vw,38px)!important;
  padding:0 24px 22px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.65rem,2.15vw,2.85rem)!important;
  font-weight:700!important;
  font-style:normal!important;
  line-height:1.15!important;
  letter-spacing:-.035em!important;
  text-align:center!important;
  text-transform:none!important;
  background:linear-gradient(115deg,#fff4d5 0%,#d7a94d 44%,#a96f12 66%,#f2d58f 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  color:transparent!important;
  text-shadow:0 2px 10px rgba(92,59,8,.08)!important;
  position:relative!important;
  white-space:nowrap!important;
}

body .aisuite-title-long{font-size:clamp(1.4rem,1.75vw,2.25rem)!important;}
body .aisuite-title-xlong{font-size:clamp(1.18rem,1.45vw,1.9rem)!important;}

body :is(
  h1.entry-title,
  h2.entry-title,
  .single-post-title,
  .page-title,
  .page-header-title,
  .llms-sd-title,
  .aisuite-gold-title
)::after{
  content:"";
  display:block;
  width:min(150px,34vw);
  height:2px;
  margin:16px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#c58d22 25%,#f1d58e 50%,#c58d22 75%,transparent);
}

/* CTA dedicata alla verifica delle competenze. */
body .aisuite-gold-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(820px,calc(100% - 32px))!important;
  min-height:72px!important;
  margin:26px auto 42px!important;
  padding:18px 30px!important;
  border:1px solid rgba(190,132,25,.72)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fffefa,#fffaf0)!important;
  box-shadow:0 12px 28px rgba(45,35,18,.14)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.15rem,2vw,1.65rem)!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:-.01em!important;
  text-align:center!important;
  text-transform:none!important;
  color:#aa7519!important;
  -webkit-text-fill-color:#aa7519!important;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
body .aisuite-gold-cta:hover,
body .aisuite-gold-cta:focus-visible{
  transform:translateY(-2px)!important;
  border-color:#b37b18!important;
  box-shadow:0 16px 34px rgba(45,35,18,.18)!important;
  color:#81530c!important;
  -webkit-text-fill-color:#81530c!important;
}

/* Evita che OceanWP o Elementor reintroducano il maiuscolo. */
body :is(.entry-title,.single-post-title,.page-title,.page-header-title,.llms-sd-title){
  text-transform:none!important;
}

/* Ritorno Dashboard nei quiz full-screen. */
.aisuite-quiz-return{
  position:relative;
  z-index:9998;
  padding:12px 20px;
  background:#fffdf8;
  border-bottom:1px solid rgba(190,132,25,.35);
  text-align:left;
}
.aisuite-quiz-return a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:10px;
  background:#0b513c;
  color:#fff!important;
  font-weight:700;
  text-decoration:none!important;
}
.aisuite-quiz-return a:hover{background:#083f2f;color:#f6dda0!important}

@media(max-width:767px){
  body :is(h1.entry-title,h2.entry-title,.single-post-title,.page-title,.page-header-title,.llms-sd-title,.aisuite-gold-title){
    font-size:clamp(1.8rem,8vw,2.85rem)!important;
    padding-inline:16px!important;
    letter-spacing:-.025em!important;
    white-space:normal!important;
  }
  body .aisuite-gold-cta{min-height:60px!important;padding:15px 18px!important}
}

@media(prefers-reduced-motion:reduce){
  body .aisuite-gold-cta{transition:none!important}
}
